0047ab7d11b19b3d36d65b13bc36455592b26943
[m6w6/btr] / share / btr / build / gnu.mk
1 BTR_BUILD_CLEAN=false
2 BTR_BUILD_ARGS=
3 BTR_TEST_ARGS=
4
5 .PHONY: all clean
6 .SUFFIXES:
7
8 CONFIGS=$(wildcard $(BTR_BRANCH_DIR)/configure.*)
9
10 all: clean $(BTR_REPORT)
11 $(SAY) "Result: $$(cat $(BTR_REPORT))"
12
13 clean: $(BTR_CONFIG_REPORT)
14 if $(BTR_BUILD_CLEAN); \
15 then \
16 cd $(BTR_BUILD_DIR) && \
17 make $(BTR_SILENT_FLAG) clean; \
18 fi;
19
20 $(BTR_REPORT): $(BTR_TEST_REPORT)
21 if test -z "$(BTR_LAST_REPORT)"; then \
22 echo 0; \
23 elif test -s "$(BTR_LAST_REPORT)" -o -s "$(BTR_TEST_REPORT)"; then \
24 cmp $(BTR_LAST_REPORT) $(BTR_TEST_REPORT) 2>&1 || true; \
25 else \
26 echo 0; \
27 fi;
28
29 $(BTR_TEST_REPORT): $(BTR_BUILD_REPORT)
30 $(SAY) "Running checks..."
31 cd $(BTR_BUILD_DIR) && \
32 make check $(BTR_TEST_ARGS) >../$@ 2>&1
33
34 $(BTR_BUILD_REPORT): $(BTR_CONFIG_REPORT)
35 $(SAY) "Making build..."
36 cd $(BTR_BUILD_DIR) && \
37 make -j $(CPUS) >../$@ 2>&1
38
39 $(BTR_CONFIG_REPORT): $(BTR_BRANCH_DIR)/configure | $(BTR_BUILD_DIR) $(BTR_LOG_DIR)
40 $(SAY) "Running configure..."
41 cd $(BTR_BUILD_DIR) && \
42 ../$(BTR_BRANCH_DIR)/configure -C $(BTR_BUILD_ARGS) >../$@ 2>&1
43
44 $(BTR_BUILD_DIR):
45 mkdir -p $@
46
47 $(BTR_LOG_DIR):
48 mkdir -p $@
49
50 $(BTR_BRANCH_DIR)/configure: $(CONFIGS)
51 $(SAY) "Building configure..."
52 cd $(BTR_BRANCH_DIR) && \
53 autoreconf -i -f -W none >/dev/null
54
55 # vim: noet