612d33a0 | MODULEFLAGS = -fPIC -fno-stack-protector |
798377c2 | MODULEOBJS = dual_control.o logging.o dc_syslog.o HEADERS = logging.h dc_syslog.h |
645d4d3d | |
b5ea7efd | MODULELIB = pam_dual_control.so |
184eb507 | UNAME_S := $(shell uname -s) |
e993f970 | |
233b0981 | .PHONY: all |
896ac0d6 | all: dual_control.a |
2278a14d | |
233b0981 | dual_control.a: $(MODULEOBJS) ar rvs $@ $^ |
49f68f43 | ranlib $@ |
798377c2 | $(MODULEOBJS): %.o: %.c $(HEADERS) |
233b0981 | $(CC) -c $(CFLAGS) $(CPPFLAGS) $(MODULEFLAGS) $< -o $@ .PHONY: clean |
49f68f43 | clean: |
9523791b | @rm -f *.o *.a @rm -f dual_control_test |
49f68f43 | |
233b0981 | .PHONY: distclean distclean: clean |
9523791b | @rm -f Makefile config.h |
2278a14d | |
798377c2 | dual_control_test: dual_control_test.c dual_control.o |
896ac0d6 | $(CC) $(CFLAGS) $(CPPFLAGS) -lpam -o $@ $^ |
6f45b32f | logging_test: logging_test.c logging.o $(CC) $(CFLAGS) $(CPPFLAGS) -lpam -o $@ $^ |
7de08ef9 | |
8e934bd2 | .PHONY: test |
6f45b32f | test: dual_control_test logging_test |
9dd224b0 | @./dual_control_test @./logging_test @echo all tests passed |
8e934bd2 | |
b5ea7efd | .PHONY: install install: $(MODULEOBJS) |
184eb507 | ifeq ($(UNAME_S), Linux) |
896ac0d6 | ld $(LDFLAGS) -x --shared -lpam -o $(DESTDIR)@PAM_MODULE_DIRECTORY@/$(MODULELIB) $(MODULEOBJS) |
184eb507 | else @echo installation recipe not known for $(UNAME_S) endif |