bb053ec9 | CXXFLAGS += -fPIC -fno-stack-protector -std=c++11 |
9bfc1fa9 | CFLAGS += -fPIC -fno-stack-protector |
bb053ec9 | LDFLAGS = -lpam |
739113f9 | |
61a55852 | INTEGRATION_OBJS = sys_syslog.o sys_fstream.o sys_unistd.o sys_pwd.o sys_pam.o dual_control_integrate.o |
a414f906 | OBJS = dual_control.o request.o validator.o conversation.o user.o token.o logger.o session.o installer.o |
0ca7f0ac | TEST_SOURCES := $(wildcard *_test.cc) TESTS := $(patsubst %.cc,%.out,$(TEST_SOURCES)) TESTRUNS := $(patsubst %.out,RUN_%,$(TESTS)) |
739113f9 | |
b5ea7efd | MODULELIB = pam_dual_control.so |
739113f9 | |
184eb507 | UNAME_S := $(shell uname -s) |
e993f970 | |
233b0981 | .PHONY: all |
e21fc4bc | all: .depend dual_control.a dual_control |
d5a78642 | .PHONY: version version: @echo COMPILER VERSION -------------------------------- $(CXX) --version |
2278a14d | |
0ca7f0ac | dual_control.a: $(OBJS) $(INTEGRATION_OBJS) |
233b0981 | ar rvs $@ $^ |
49f68f43 | ranlib $@ |
e21fc4bc | dual_control: dual_control_tool.cc $(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $@ $^ |
233b0981 | .PHONY: clean |
49f68f43 | clean: |
9523791b | @rm -f *.o *.a |
0ca7f0ac | @rm -f *.out |
ef39fb9d | @rm ./.depend |
49f68f43 | |
233b0981 | .PHONY: distclean distclean: clean |
4262a925 | @git clean -xdf |
2278a14d | |
e21fc4bc | .depend: $(OBJS:.o=.cc) $(TEST_SOURCES) |
ef39fb9d | rm -f ./.depend |
c9d28422 | $(CXX) -MM $^ > ./.depend; |
4a1812fd | |
c9d28422 | -include .depend |
7de08ef9 | |
0ca7f0ac | %_test.out: %_test.o $(OBJS) $(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $@ $^ |
3479ca93 | RUN_%: %.out @echo running $< |
0ca7f0ac | @./$< |
de34378f | |
8e934bd2 | .PHONY: test |
0ca7f0ac | test: $(TESTRUNS) |
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 |