aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2015-10-12 00:03:05 +0200
committerLoïc Hoguin <[email protected]>2015-10-12 00:04:02 +0200
commitf35f0f2c84b88d993e47afa218c989fdaee42688 (patch)
treeb2c551380770a6f9c62dbe5dc12f2ef482008e4d /Makefile
parent73532c2f37cf2e71a3f7f60c44ca91489aec1637 (diff)
downloaderlang.mk-f35f0f2c84b88d993e47afa218c989fdaee42688.tar.gz
erlang.mk-f35f0f2c84b88d993e47afa218c989fdaee42688.tar.bz2
erlang.mk-f35f0f2c84b88d993e47afa218c989fdaee42688.zip
Rework package testing
Better error reporting and can now build everything in parallel. Failed builds are kept; others are deleted. The following command builds everything and then gives a diff of what got fixed/broken since last time ("> " is newly broken, "< " is newly fixed). make packages -j 32 -k; make summary
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile24
1 files changed, 21 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 5eff5d6..1af155d 100644
--- a/Makefile
+++ b/Makefile
@@ -25,18 +25,36 @@ all:
| sed 's/^ERLANG_MK_VERSION = .*/ERLANG_MK_VERSION = $(ERLANG_MK_VERSION)/' > $(ERLANG_MK)
ifdef p
+# Remove p from the list of variables since that conflicts with bootstrapping.
+MAKEOVERRIDES := $(filter-out p=$p,$(MAKEOVERRIDES))
+
check:
- $(MAKE) -C test pkg-$p
+ $(MAKE) -C test pkg-$p KEEP_BUILDS=1
else
ifdef c
check:
- $(MAKE) -C test $c LEGACY=$(LEGACY)
+ $(MAKE) -C test $c
else
check:
- $(MAKE) -C test LEGACY=$(LEGACY)
+ $(MAKE) -C test
endif
endif
+packages:
+ $(MAKE) -C test packages
+
+summary:
+ @mkdir -p test/logs/
+ @touch test/logs/latest.log test/packages/errors.log
+ -@sort test/packages/errors.log | diff test/logs/latest.log -
+ @sort test/packages/errors.log > test/logs/latest.log
+ @cp test/logs/latest.log "test/logs/$(subst $(empty) $(empty),_,$(shell date --rfc-3339 seconds))"
+
+search:
+ @$(MAKE) --no-print-directory \
+ -f core/core.mk $(addprefix -f,$(wildcard index/*.mk)) -f core/index.mk \
+ search
+
clean:
$(MAKE) -C test clean
rm -rf doc/guide.pdf doc/html