diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 66 |
1 files changed, 7 insertions, 59 deletions
@@ -1,76 +1,24 @@ -USR_PREFIX = /usr -LOCAL_PREFIX = $(USR_PREFIX)/local -BIN = /bin -SBIN = /sbin -DEV = /dev - -EXTRA_CPP_FLAGS = -# see configurable-definitions - -_LB = $(LOCAL_PREFIX)$(BIN) -_UB = $(USR_PREFIX)$(BIN) -_SB = $(BIN) -_LS = $(LOCAL_PREFIX)$(SBIN) -_US = $(USR_PREFIX)$(SBIN) -_SS = $(SBIN) - -AUTH = pam -TTY_GROUP = tty -DEFAULT_HOME = / -DEFAULT_SH = sh -DEFAULT_SHELL = $(BIN)/$(DEFAULT_SH) -DEFAULT_TERM = dumb -VCS = $(DEV)/vcs -VCSA = $(DEV)/vcsa -PATH = $(_LB):$(_UB):$(_SB) -PATH_ROOT = $(_LS):$(_LB):$(_US):$(_UB):$(_SS):$(_SB) - -auth_none = 0 -auth_crypt = 1 -auth_pam = 2 - -H = \# -VCS_LEN = $(shell vcs="$(VCS)" ; echo "$${$(H)vcs}") -VCSA_LEN = $(shell vcsa="$(VCSA)" ; echo "$${$(H)vcsa}") - -STR_DEFS = TTY_GROUP DEFAULT_HOME DEFAULT_SH DEFAULT_SHELL DEFAULT_TERM PATH PATH_ROOT VCS VCSA -VRB_DEFS = VCS_LEN VCSA_LEN - -STR_CPPFLAGS = $(foreach D, $(STR_DEFS), -D'$(D)="$($(D))"') -VRB_CPPFLAGS = $(foreach D, $(VRB_DEFS), -D'$(D)=$($(D))') -DAUTH=$(auth_$(AUTH)) - OPTIMISE = -Os -CPPFLAGS = $(EXTRA_CPP_FLAGS) $(STR_CPPFLAGS) $(VRB_CPPFLAGS) -CFLAGS = -std=gnu99 -Wall -Wextra -LDFLAGS = -ifeq ($(AUTH),crypt) -LDFLAGS += -lcrypt -endif -ifeq ($(AUTH),pam) -LDFLAGS += -lpam -endif +CPPFLAGS = +CFLAGS = -std=c90 -Wall -Wextra -fPIC +LDFLAGS = -shared CC_FLAGS = $(CPPFLAGS) $(CFLAGS) $(OPTIMISE) LD_FLAGS = $(LDFLAGS) $(CFLAGS) $(OPTIMISE) -SRC = cerberus passphrase quit security login -ifneq ($(AUTH),none) -SRC += auth/$(AUTH) -endif +SRC = passphrase OBJ = $(foreach S, $(SRC), obj/$(S).o) .PHONY: all -all: bin/cerberus +all: bin/libpassphrase.so -bin/cerberus: $(OBJ) +bin/libpassphrase.so: $(OBJ) @mkdir -p bin $(CC) $(LD_FLAGS) -o "$@" $^ - -obj/cerberus.o: $(foreach H, $(SRC), src/$(H).h) src/auth.h -obj/%.o: src/%.c src/%.h src/config.h +obj/%.o: src/%.c src/%.h @mkdir -p "$(shell dirname "$@")" $(CC) $(CC_FLAGS) -o "$@" -c "$<" |