git.fiddlerwoaroof.com
Makefile.in
0ea9517a
 CXXFLAGS += -fPIC -fno-stack-protector -std=c++11
 CFLAGS += -fPIC -fno-stack-protector
47031e12
 LDFLAGS_COMMON = -lpam
 
 ifeq ($(UNAME_S), Linux)
     LDFLAGS = $(LDFLAGS_COMMON) -l:libssl.a -l:libcrypto.a -ldl -lz
 else
     LDFLAGS = $(LDFLAGS_COMMON) @LIBS@
 endif
739113f9
 
f2a91ef8
 INTEGRATION_OBJS = sys_syslog.o sys_fstream.o sys_unistd.o sys_pwd.o sys_pam.o \
e068c486
                    sys_stdlib.o sys_time.o
f1b86ea0
 OBJS = dual_control.o request.o validator.o conversation.o user.o token.o logger.o session.o installer.o system.o generator.o base32.o random_source.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
 
aa91d76d
 dual_control.a: dual_control.o dual_control_integrate.o $(OBJS) $(INTEGRATION_OBJS)
233b0981
 	ar rvs $@ $^
49f68f43
 	ranlib $@
 
f2a91ef8
 dual_control: dual_control_tool.o $(OBJS) $(INTEGRATION_OBJS)
8c972eb0
 	$(CXX) $(CXXFLAGS) $(CPPFLAGS)  -o $@ $^ $(LDFLAGS)
e21fc4bc
 
 
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
45f9920b
 	$(CXX) -std=c++11 -MM $^ > ./.depend;
4a1812fd
 
c9d28422
 -include .depend
7de08ef9
 
0ca7f0ac
 %_test.out: %_test.o $(OBJS)
8c972eb0
 	$(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $@ $^ $(LDFLAGS)
0ca7f0ac
 
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)
47031e12
 	$(CXX) -lpam -shared -o $(DESTDIR)@PAM_MODULE_DIRECTORY@/$(MODULELIB) dual_control_integrate.o $(OBJS) $(INTEGRATION_OBJS) -l:libssl.a -l:libcrypto.a -ldl -lz
184eb507
 else
 	@echo installation recipe not known for $(UNAME_S)
 endif
2779d6ca
 	mkdir -p $(DESTDIR)/@bindir@
 	cp dual_control $(DESTDIR)/@bindir@/
bb635c67
 	cp setup_user_account.sh $(DESTDIR)/@bindir@/
2779d6ca
 	chmod a+x $(DESTDIR)/@bindir@/dual_control
184eb507
 
f6a9ff01
 .PHONY: format
 format:
210c0dc8
 	@./format.sh *.cc *.h