path adjustments
[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 ( \
22 if test -z "$(BTR_LAST_REPORT)"; then \
23 echo 0; \
24 elif test -s "$(BTR_LAST_REPORT)" -o -s "$(BTR_TEST_REPORT)"; then \
25 cmp $(BTR_LAST_REPORT) $(BTR_TEST_REPORT) || true; \
26 else \
27 echo 0; \
28 fi;
29 ) >$@ 2>&1
30
31 $(BTR_TEST_REPORT): $(BTR_BUILD_REPORT)
32 $(SAY) "Running checks..."
33 (cd $(BTR_BUILD_DIR) && \
34 make check $(BTR_TEST_ARGS) \
35 ) >$@ 2>&1
36
37 $(BTR_BUILD_REPORT): $(BTR_CONFIG_REPORT)
38 $(SAY) "Making build..."
39 (cd $(BTR_BUILD_DIR) && \
40 make -j $(CPUS) \
41 ) >$@ 2>&1
42
43 $(BTR_CONFIG_REPORT): $(BTR_BRANCH_DIR)/configure | $(BTR_BUILD_DIR) $(BTR_LOG_DIR)
44 $(SAY) "Running configure..."
45 (cd $(BTR_BUILD_DIR) && \
46 ../../$(BTR_BRANCH_DIR)/configure -C $(BTR_BUILD_ARGS) \
47 ) >$@ 2>&1
48
49 $(BTR_BUILD_DIR):
50 mkdir -p $@
51
52 $(BTR_LOG_DIR):
53 mkdir -p $@
54
55 $(BTR_BRANCH_DIR)/configure: $(CONFIGS)
56 $(SAY) "Building configure..."
57 cd $(BTR_BRANCH_DIR) && \
58 autoreconf -i -f -W none >/dev/null
59
60 # vim: noet