btrc & btrd
[m6w6/btr] / share / btr / build / php.mk
1 BTR_BUILD_CLEAN=false
2 BTR_BUILD_ARGS= --enable-debug
3 BTR_TEST_ARGS= -q
4
5 .PHONY: all clean
6 .SUFFIXES:
7
8 CONFIGS=$(wildcard $(BTR_BRANCH_DIR)/ext/*/config*.m4)
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 TESTS_PASSED=$$(awk '/^Tests passed/{print $$4}' < $(BTR_TEST_REPORT)); \
23 TESTS_FAILED=$$(awk '/^Tests failed/{print $$4}' < $(BTR_TEST_REPORT)); \
24 printf "%d/%d" $$TESTS_PASSED $$TESTS_FAILED >$@; \
25 if test -s "$(BTR_LAST_REPORT)"; then \
26 LAST_PASSED=$$(awk '/^Tests passed/{print $$4}' < $(BTR_LAST_REPORT)); \
27 LAST_FAILED=$$(awk '/^Tests failed/{print $$4}' < $(BTR_LAST_REPORT)); \
28 DIFF_PASSED=$$(bc <<<"$$TESTS_PASSED - $$LAST_PASSED"); \
29 DIFF_FAILED=$$(bc <<<"$$TESTS_FAILED - $$LAST_FAILED"); \
30 printf " %+d/%+d" $$DIFF_PASSED $$DIFF_FAILED >>$@; \
31 fi; \
32 printf "\n" >>$@; \
33 )
34
35 $(BTR_TEST_REPORT): $(BTR_BUILD_REPORT)
36 $(SAY) "Running tests... "
37 cd $(BTR_BUILD_DIR) && \
38 make test TESTS="$(BTR_TEST_ARGS) -s ../$@"
39
40 $(BTR_BUILD_REPORT): $(BTR_CONFIG_REPORT)
41 $(SAY) "Making build..."
42 cd $(BTR_BUILD_DIR) && \
43 make -j $(CPUS) >../$@ 2>&1
44
45 $(BTR_CONFIG_REPORT): $(BTR_BRANCH_DIR)/configure | $(BTR_BUILD_DIR) $(BTR_LOG_DIR)
46 $(SAY) "Running 'configure'..."
47 cd $(BTR_BUILD_DIR) && \
48 ../$(BTR_BRANCH_DIR)/configure -C $(BTR_BUILD_ARGS) >../$@ 2>&1
49
50 $(BTR_BUILD_DIR):
51 mkdir -p $@
52
53 $(BTR_LOG_DIR):
54 mkdir -p $@
55
56 $(BTR_BRANCH_DIR)/configure: $(BTR_BRANCH_DIR)/buildconf $(CONFIGS)
57 $(SAY) "Building configure..."
58 cd $(BTR_BRANCH_DIR) && \
59 ./buildconf >/dev/null
60
61 # vim: noet