370f8031 | CXXFLAGS += -fPIC -fno-stack-protector -std=c++14 |
739113f9 | CFLAGS += -fPIC -fno-stack-protector |
f06fa4cc | OBJS = dual_control.o request.o dual_control_integrate.o validator.o conversation.o TESTS = dual_control_test validator_test conversation_test request_test TESTOBJS = $(patsubst %,%.o,$TESTS) |
739113f9 | |
b5ea7efd | MODULELIB = pam_dual_control.so |
739113f9 | |
184eb507 | UNAME_S := $(shell uname -s) |
e993f970 | |
233b0981 | .PHONY: all |
896ac0d6 | all: dual_control.a |
2278a14d | |
739113f9 | dual_control.a: $(OBJS) |
233b0981 | ar rvs $@ $^ |
49f68f43 | ranlib $@ |
233b0981 | .PHONY: clean |
49f68f43 | clean: |
9523791b | @rm -f *.o *.a @rm -f dual_control_test |
49f68f43 | |
233b0981 | .PHONY: distclean distclean: clean |
4262a925 | @git clean -xdf |
2278a14d | |
f06fa4cc | # # -include $(DEPS) # # %.o: %.cc # $(CXX) $(CXXFLAGS) -MM -MF $(patsubst %.o,%.d,$@) -o $@ $< |
4a1812fd | |
f06fa4cc | $(TESTS): %: %.o $(OBJS) |
74bdb8d9 | $(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $@ $^ |
f06fa4cc | dual_control.o: dual_control.h |
7de08ef9 | |
f06fa4cc | # dual_control_test: dual_control_test.o dual_control.o # $(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $@ $^ # # request_test: request_test.o request.o # $(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $@ $^ # # validator_test: validator_test.o validator.o # $(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $@ $^ # # conversation_test: conversation_test.o conversation.o # $(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $@ $^ |
de34378f | |
8e934bd2 | .PHONY: test |
2fade7af | test: validator_test request_test dual_control_test conversation_test |
f757e35b | @./validator_test |
106b82e8 | @./request_test |
4a1812fd | @./dual_control_test |
2fade7af | @./conversation_test |
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 |