bb053ec9 | CXXFLAGS += -fPIC -fno-stack-protector -std=c++11 |
9bfc1fa9 | CFLAGS += -fPIC -fno-stack-protector |
bb053ec9 | LDFLAGS = -lpam |
739113f9 | |
bb053ec9 | INTEGRATION_OBJS = sys_syslog.o sys_fstream.o sys_unistd.o sys_pwd.o pam.o dual_control_integrate.o OBJS = dual_control.o request.o validator.o conversation.o user.o token.o logger.o |
a9690b1d | TESTS = dual_control_test validator_test conversation_test request_test user_test token_test \ |
104ef108 | logger_test session_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 |
13286afe | all: dual_control.a .depend |
d5a78642 | .PHONY: version version: @echo COMPILER VERSION -------------------------------- $(CXX) --version |
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 |
c9d28422 | $(CXX) -MM $^ > ./.depend; |
4a1812fd | |
c9d28422 | -include .depend |
7de08ef9 | |
ef39fb9d | $(TESTS): %: %.o $(OBJS) |
bb053ec9 | @$(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $@ $^ |
ef39fb9d | @./$@ |
de34378f | |
8e934bd2 | .PHONY: test |
ef39fb9d | test: $(TESTS) |
f4d80c59 | @echo Tests Passing |
55259c47 | |
b5ea7efd | .PHONY: install |
4aeb68ec | install: $(OBJS) $(INTEGRATION_OBJS) |
184eb507 | ifeq ($(UNAME_S), Linux) |
1410462b | $(CXX) -lpam -shared -Wl,-x -o $(DESTDIR)@PAM_MODULE_DIRECTORY@/$(MODULELIB) $(OBJS) $(INTEGRATION_OBJS) |
184eb507 | else @echo installation recipe not known for $(UNAME_S) endif |
f6a9ff01 | .PHONY: format format: |
210c0dc8 | @./format.sh *.cc *.h |
f6a9ff01 |