Ensure that changing a Makefile rebuilds everything on the next run.

Also change the default target for protocol/Makefile to not build unconditionally.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
Daira Hopwood 2020-03-10 16:38:14 +00:00
parent ab4898c500
commit ef987f67b2
2 changed files with 16 additions and 4 deletions

View File

@ -3,15 +3,19 @@
# sudo pip install rst2html5
.PHONY: all all-zips protocol
all-zips:
all-zips: Makefile.uptodate
$(MAKE) README.rst
$(MAKE) index.html $(addsuffix .html,$(filter-out README,$(basename $(wildcard *.rst))))
all: all-zips protocol
protocol:
protocol: Makefile.uptodate
$(MAKE) -C protocol
Makefile.uptodate: Makefile
$(MAKE) clean
touch Makefile.uptodate
define PROCESSRST
$(eval TITLE := $(shell echo '$(basename $<)' | sed -E 's|zip-0{0,3}|ZIP |'): $(shell grep -E '^(\.\.)?\s*Title:' $< |sed -E 's|.*Title:\s*||'))
rst2html5 -v --title="$(TITLE)" $< >$@

View File

@ -14,8 +14,16 @@ LATEX=$(ENGINE) --halt-on-error --file-line-error
#NOCRUFT=
NOCRUFT=|awk '{gsub(/[({<][/][^ ]* ?/,"")}1'
.PHONY: all
all: heartwood blossom sapling sprout
.PHONY: all-specs all
all-specs: Makefile.uptodate
$(MAKE) heartwood.pdf blossom.pdf sapling.pdf sprout.pdf
all: Makefile.uptodate
$(MAKE) heartwood blossom sapling sprout
Makefile.uptodate: Makefile
$(MAKE) clean
touch Makefile.uptodate
sprout.pdf: protocol.tex zcash.bib incremental_merkle.png key_components.png
$(MAKE) sprout