summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile16
1 files changed, 16 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 00000000..0947e7fa
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,16 @@
+# Run chapter targets from the repository root. Override CHAPTERS for a review batch:
+# make tests CHAPTERS="chapter21 chapter22"
+# make -k tests # continue through failures, but return a failing status
+.DEFAULT_GOAL := tests
+CHAPTERS ?= $(sort $(patsubst %/pom.xml,%,$(wildcard chapter[0-9][0-9]/pom.xml)))
+ACTIONS := tests tags release lib
+CHAPTER_TARGETS := $(foreach action,$(ACTIONS),$(addsuffix /$(action),$(CHAPTERS)))
+
+# Keep baseline/review runs sequential, including when invoked with -j.
+.NOTPARALLEL:
+.PHONY: $(ACTIONS) tag $(CHAPTER_TARGETS)
+tag: tags
+$(foreach action,$(ACTIONS),$(eval $(action): $(addsuffix /$(action),$(CHAPTERS))))
+
+$(CHAPTER_TARGETS):
+ +$(MAKE) -C $(dir $@) $(notdir $@)