370f8031 | CXXFLAGS += -fPIC -fno-stack-protector -std=c++14 |
739113f9 | CFLAGS += -fPIC -fno-stack-protector |
a8b53afd | OBJS = dual_control.o request.o dual_control_integrate.o validator.o conversation.o user.o \ |
a9690b1d | sys_unistd.o sys_pwd.o token.o sys_fstream.o sys_syslog.o logger.o TESTS = dual_control_test validator_test conversation_test request_test user_test token_test \ logger_test |
ef39fb9d | TESTOBJS = $(patsubst %,%.o,$(TESTS)) SRCS := $(OBJS:.o=.cc) $(TESTOBJS:.o=.cc) |
739113f9 | |
b5ea7efd | MODULELIB = pam_dual_control.so |
739113f9 | |
184eb507 | UNAME_S := $(shell uname -s) |
e993f970 | |
233b0981 | .PHONY: all |
ef39fb9d | all: dual_control.a .depend |
2278a14d | |
739113f9 | dual_control.a: $(OBJS) |
233b0981 | ar rvs $@ $^ |
49f68f43 | ranlib $@ |
233b0981 | .PHONY: clean |
49f68f43 | clean: |
9523791b | @rm -f *.o *.a |
ef39fb9d | @rm -f *_test @rm ./.depend |
49f68f43 | |
233b0981 | .PHONY: distclean distclean: clean |
4262a925 | @git clean -xdf |
2278a14d | |
ef39fb9d | .depend: $(SRCS) rm -f ./.depend $(CXX) $(CXXFLAGS) -MM $^ > ./.depend; |
4a1812fd | |
ef39fb9d | include .depend |
7de08ef9 | |
ef39fb9d | $(TESTS): %: %.o $(OBJS) @$(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $@ $^ @./$@ |
de34378f | |
8e934bd2 | .PHONY: test |
ef39fb9d | test: $(TESTS) |
f4d80c59 | @echo Tests Passing |
55259c47 | |
b5ea7efd | .PHONY: install |
739113f9 | install: $(OBJS) |
184eb507 | ifeq ($(UNAME_S), Linux) |
739113f9 | ld $(LDFLAGS) -x --shared -lpam -o $(DESTDIR)@PAM_MODULE_DIRECTORY@/$(MODULELIB) $(OBJS) |
184eb507 | else @echo installation recipe not known for $(UNAME_S) endif |
f6a9ff01 | .PHONY: format format: |
210c0dc8 | @./format.sh *.cc *.h |
f6a9ff01 |