summaryrefslogtreecommitdiff
path: root/Makefile
blob: 018314f698fe3f9a540e601dbb8ccd936c133a09 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# 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 chapter[0-9][0-9][a-z]/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: spill-stats
spill-stats:
	python build-support/spill-matrix.py

.PHONY: $(ACTIONS) tag $(CHAPTER_TARGETS)
tag: tags
$(foreach action,$(ACTIONS),$(eval $(action): $(addsuffix /$(action),$(CHAPTERS))))

$(CHAPTER_TARGETS):
	+$(MAKE) --no-print-directory -C $(dir $@) $(notdir $@)

.PHONY: print/tests
tests: print/tests
print/tests:
	+$(MAKE) --no-print-directory -C print tests

.PHONY: isa/tests
tests: isa/tests
isa/tests:
	+$(MAKE) --no-print-directory -C isa tests