86 lines
1.7 KiB
Makefile
86 lines
1.7 KiB
Makefile
include config.dist.mk
|
|
-include config.mk
|
|
|
|
B := build
|
|
OBJ := $(B)/obj
|
|
BIN := $(B)/bin
|
|
SRC := src
|
|
NS := sm_
|
|
|
|
ALL =
|
|
AR = ar
|
|
ARFLAGS = -c
|
|
CC = cc
|
|
CPPFLAGS = -I $(SRC)/include
|
|
CFLAGS = -std=c99 -Wall -Wextra -pedantic -Wno-unused-parameter $(shell pkg-config --cflags openssl)
|
|
|
|
ifeq ($(V),)
|
|
QV = @echo
|
|
Q = @
|
|
else
|
|
QV = @true
|
|
Q =
|
|
endif
|
|
|
|
.DEFAULT_GOAL := all
|
|
.PHONY: all clean
|
|
|
|
clean:
|
|
$(QV) "[RM] $(B)"
|
|
$(Q)rm -rf $(B)
|
|
|
|
|
|
|
|
ifeq ($(REAP_METHOD),parent)
|
|
$(BIN)/reaper: \
|
|
$(OBJ)/reaper/reaper.o \
|
|
$(OBJ)/libreap-$(PARENT_REAP_METHOD).a
|
|
ALL += $(BIN)/reaper
|
|
ENTRY = reaper
|
|
else
|
|
ENTRY = spawner
|
|
endif
|
|
|
|
|
|
$(OBJ)/libdb-rw.a: \
|
|
$(OBJ)/db/adb/io.o \
|
|
$(OBJ)/db/adb/adb.o \
|
|
$(OBJ)/db/adb/adb_walk_genadb.o \
|
|
$(OBJ)/db/adb/adb_walk_gentext.o \
|
|
$(OBJ)/db/adb/adb_walk_adb.o \
|
|
$(OBJ)/db/adb/adb_walk_text.o
|
|
|
|
$(OBJ)/libdb-ro.a: \
|
|
$(OBJ)/db/adb/io.o \
|
|
$(OBJ)/db/adb/adb.o \
|
|
$(OBJ)/db/adb/adb_walk_adb.o \
|
|
$(OBJ)/db/adb/adb_walk_text.o
|
|
|
|
$(OBJ)/libreap-$(REAP_METHOD).a: $(OBJ)/reaper/reapfd-$(REAP_METHOD).o
|
|
$(OBJ)/libreap-$(PARENT_REAP_METHOD).a: $(OBJ)/reaper/reapfd-$(PARENT_REAP_METHOD).o
|
|
|
|
$(BIN)/spawner: \
|
|
$(OBJ)/spawner/spawner.o \
|
|
$(OBJ)/libreap-$(REAP_METHOD).a \
|
|
$(OBJ)/libdb-ro.a
|
|
ALL += $(BIN)/spawner
|
|
|
|
|
|
$(OBJ)/%.o: $(SRC)/%.c
|
|
$(Q)mkdir -p $(dir $@)
|
|
$(QV) "[CC] $(subst $(SRC)/,,$<)"
|
|
$(Q)$(CROSS_COMPILE)$(CC) $(CPPFLAGS) $(CFLAGS) -c $^ -o $@
|
|
|
|
$(OBJ)/%.a:
|
|
$(Q)mkdir -p $(dir $@)
|
|
$(QV) "[AR] $(subst $(OBJ)/,,$@)"
|
|
$(Q)rm -f $@
|
|
$(Q)$(CROSS_COMPILE)$(AR) -r $(ARFLAGS) $@ $^ $(AREXTRA)
|
|
|
|
$(BIN)/%: $(SRC)/applet.c
|
|
$(Q)mkdir -p $(dir $@)
|
|
$(QV) "[LD] $(subst $(BIN)/,,$@)"
|
|
$(Q)$(CROSS_COMPILE)$(CC) $(CFLAGS) -DAPPLET_MAIN=$(NS)$(notdir $@)_main -DAPPLET_USAGE=$(NS)$(notdir $@)_usage $(LDFLAGS) $^ -o $@
|
|
|
|
all: $(ALL)
|