Browse code
more make automation
Greg Wiley authored on 21/04/2017 06:46:55
Showing 2 changed files
Showing 2 changed files
... | ... |
@@ -3,14 +3,15 @@ CFLAGS += -fPIC -fno-stack-protector |
3 | 3 |
|
4 | 4 |
OBJS = dual_control.o request.o dual_control_integrate.o validator.o conversation.o |
5 | 5 |
TESTS = dual_control_test validator_test conversation_test request_test |
6 |
-TESTOBJS = $(patsubst %,%.o,$TESTS) |
|
6 |
+TESTOBJS = $(patsubst %,%.o,$(TESTS)) |
|
7 |
+SRCS := $(OBJS:.o=.cc) $(TESTOBJS:.o=.cc) |
|
7 | 8 |
|
8 | 9 |
MODULELIB = pam_dual_control.so |
9 | 10 |
|
10 | 11 |
UNAME_S := $(shell uname -s) |
11 | 12 |
|
12 | 13 |
.PHONY: all |
13 |
-all: dual_control.a |
|
14 |
+all: dual_control.a .depend |
|
14 | 15 |
|
15 | 16 |
dual_control.a: $(OBJS) |
16 | 17 |
ar rvs $@ $^ |
... | ... |
@@ -19,41 +20,25 @@ dual_control.a: $(OBJS) |
19 | 20 |
.PHONY: clean |
20 | 21 |
clean: |
21 | 22 |
@rm -f *.o *.a |
22 |
- @rm -f dual_control_test |
|
23 |
+ @rm -f *_test |
|
24 |
+ @rm ./.depend |
|
23 | 25 |
|
24 | 26 |
.PHONY: distclean |
25 | 27 |
distclean: clean |
26 | 28 |
@git clean -xdf |
27 | 29 |
|
28 |
-# |
|
29 |
-# -include $(DEPS) |
|
30 |
-# |
|
31 |
-# %.o: %.cc |
|
32 |
-# $(CXX) $(CXXFLAGS) -MM -MF $(patsubst %.o,%.d,$@) -o $@ $< |
|
30 |
+.depend: $(SRCS) |
|
31 |
+ rm -f ./.depend |
|
32 |
+ $(CXX) $(CXXFLAGS) -MM $^ > ./.depend; |
|
33 | 33 |
|
34 |
-$(TESTS): %: %.o $(OBJS) |
|
35 |
- $(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $@ $^ |
|
36 |
- |
|
37 |
-dual_control.o: dual_control.h |
|
34 |
+include .depend |
|
38 | 35 |
|
39 |
-# dual_control_test: dual_control_test.o dual_control.o |
|
40 |
-# $(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $@ $^ |
|
41 |
-# |
|
42 |
-# request_test: request_test.o request.o |
|
43 |
-# $(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $@ $^ |
|
44 |
-# |
|
45 |
-# validator_test: validator_test.o validator.o |
|
46 |
-# $(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $@ $^ |
|
47 |
-# |
|
48 |
-# conversation_test: conversation_test.o conversation.o |
|
49 |
-# $(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $@ $^ |
|
36 |
+$(TESTS): %: %.o $(OBJS) |
|
37 |
+ @$(CXX) $(CXXFLAGS) $(CPPFLAGS) -o $@ $^ |
|
38 |
+ @./$@ |
|
50 | 39 |
|
51 | 40 |
.PHONY: test |
52 |
-test: validator_test request_test dual_control_test conversation_test |
|
53 |
- @./validator_test |
|
54 |
- @./request_test |
|
55 |
- @./dual_control_test |
|
56 |
- @./conversation_test |
|
41 |
+test: $(TESTS) |
|
57 | 42 |
@echo Tests Passing |
58 | 43 |
|
59 | 44 |
.PHONY: install |