2018-05-30 09:05:11 -07:00
|
|
|
LATEXMK=latexmk --halt-on-error -bibtex -pdf
|
|
|
|
LATEX=pdflatex --halt-on-error
|
|
|
|
|
2019-04-18 08:27:31 -07:00
|
|
|
sprout.pdf: protocol.tex zcash.bib incremental_merkle.png key_components.png
|
2018-09-02 00:50:40 -07:00
|
|
|
$(MAKE) sprout
|
2016-02-16 11:45:29 -08:00
|
|
|
|
2019-04-18 08:27:31 -07:00
|
|
|
sapling.pdf: protocol.tex zcash.bib incremental_merkle.png key_components_sapling.png
|
2017-07-10 23:58:57 -07:00
|
|
|
$(MAKE) sapling
|
|
|
|
|
2019-04-18 08:27:31 -07:00
|
|
|
blossom.pdf: protocol.tex zcash.bib incremental_merkle.png key_components_sapling.png
|
2019-02-22 05:47:00 -08:00
|
|
|
$(MAKE) blossom
|
|
|
|
|
2018-08-05 02:02:24 -07:00
|
|
|
.PHONY: auxsprout
|
|
|
|
auxsprout:
|
2018-07-18 03:17:33 -07:00
|
|
|
printf '\\renewcommand{\\docversion}{Version %s [\\SproutSpec]}' "$$(git describe --tags --abbrev=6)" |tee protocol.ver
|
2018-03-18 06:27:13 -07:00
|
|
|
mkdir -p aux
|
2018-08-05 02:02:24 -07:00
|
|
|
rm -f aux/sprout.* aux/protocol.*
|
|
|
|
$(LATEXMK) -jobname=sprout -auxdir=aux -outdir=aux protocol
|
2017-07-26 03:38:26 -07:00
|
|
|
|
2018-08-05 02:02:24 -07:00
|
|
|
.PHONY: sprout
|
|
|
|
sprout:
|
|
|
|
$(MAKE) auxsprout
|
|
|
|
mv -f aux/sprout.pdf .
|
2017-12-01 17:39:17 -08:00
|
|
|
|
2018-08-05 02:02:24 -07:00
|
|
|
.PHONY: pvcsprout
|
|
|
|
pvcsprout:
|
2018-07-18 03:17:33 -07:00
|
|
|
printf '\\renewcommand{\\docversion}{Version %s [\\SproutSpec]}' "$$(git describe --tags --abbrev=6)" |tee protocol.ver
|
2018-03-18 06:27:13 -07:00
|
|
|
mkdir -p aux
|
2018-08-05 02:02:24 -07:00
|
|
|
rm -f aux/sprout.* aux/protocol.*
|
|
|
|
$(LATEXMK) -jobname=sprout -auxdir=aux -pvc protocol
|
2015-12-22 18:13:11 -08:00
|
|
|
|
2018-03-26 11:25:46 -07:00
|
|
|
.PHONY: auxsapling
|
|
|
|
auxsapling:
|
2017-12-16 16:39:31 -08:00
|
|
|
printf '\\toggletrue{issapling}\n\\renewcommand{\\docversion}{Version %s [\\SaplingSpec]}' "$$(git describe --tags --abbrev=6)" |tee protocol.ver
|
2018-03-18 06:27:13 -07:00
|
|
|
mkdir -p aux
|
|
|
|
rm -f aux/sapling.*
|
2018-05-30 09:05:11 -07:00
|
|
|
$(LATEXMK) -jobname=sapling -auxdir=aux -outdir=aux protocol
|
2018-03-26 11:25:46 -07:00
|
|
|
|
|
|
|
.PHONY: sapling
|
|
|
|
sapling:
|
|
|
|
$(MAKE) auxsapling
|
2018-03-18 06:27:13 -07:00
|
|
|
mv -f aux/sapling.pdf .
|
2018-08-05 08:05:40 -07:00
|
|
|
cp -f sapling.pdf protocol.pdf
|
2017-07-26 03:38:26 -07:00
|
|
|
|
|
|
|
.PHONY: pvcsapling
|
|
|
|
pvcsapling:
|
2017-12-16 16:39:31 -08:00
|
|
|
printf '\\toggletrue{issapling}\n\\renewcommand{\\docversion}{Version %s [\\SaplingSpec]}' "$$(git describe --tags --abbrev=6)" |tee protocol.ver
|
2018-03-18 06:27:13 -07:00
|
|
|
mkdir -p aux
|
|
|
|
rm -f aux/sapling.*
|
2018-05-30 09:05:11 -07:00
|
|
|
$(LATEXMK) -jobname=sapling -auxdir=aux -pvc protocol
|
2018-01-25 12:14:28 -08:00
|
|
|
|
2019-02-22 05:47:00 -08:00
|
|
|
.PHONY: auxblossom
|
|
|
|
auxblossom:
|
|
|
|
printf '\\toggletrue{isblossom}\n\\renewcommand{\\docversion}{Version %s [\\BlossomSpec]}' "$$(git describe --tags --abbrev=6)" |tee protocol.ver
|
|
|
|
mkdir -p aux
|
|
|
|
rm -f aux/blossom.*
|
|
|
|
$(LATEXMK) -jobname=blossom -auxdir=aux -outdir=aux protocol
|
|
|
|
|
|
|
|
.PHONY: blossom
|
2019-02-23 18:02:16 -08:00
|
|
|
blossom:
|
2019-02-22 05:47:00 -08:00
|
|
|
$(MAKE) auxblossom
|
|
|
|
mv -f aux/blossom.pdf .
|
|
|
|
|
|
|
|
.PHONY: pvcblossom
|
2019-04-18 08:27:31 -07:00
|
|
|
pvcblossom:
|
2019-02-22 05:47:00 -08:00
|
|
|
printf '\\toggletrue{isblossom}\n\\renewcommand{\\docversion}{Version %s [\\BlossomSpec]}' "$$(git describe --tags --abbrev=6)" |tee protocol.ver
|
|
|
|
mkdir -p aux
|
|
|
|
rm -f aux/blossom.*
|
|
|
|
$(LATEXMK) -jobname=blossom -auxdir=aux -pvc protocol
|
|
|
|
|
2018-08-05 02:02:24 -07:00
|
|
|
.PHONY: nolatexmk-sprout
|
|
|
|
nolatexmk-sprout:
|
2018-07-18 03:17:33 -07:00
|
|
|
printf '\\renewcommand{\\docversion}{Version %s [\\SproutSpec]}' "$$(git describe --tags --abbrev=6)" |tee protocol.ver
|
2018-01-25 12:14:28 -08:00
|
|
|
# If $(LATEX) fails, touch an input so that 'make' won't think it is up-to-date next time.
|
2018-08-05 02:02:24 -07:00
|
|
|
rm -f sprout.aux sprout.bbl sprout.blg sprout.brf sprout.bcf
|
2019-04-18 08:27:31 -07:00
|
|
|
$(LATEX) protocol.tex || { touch incremental_merkle.png; exit 1; }
|
2018-01-25 12:14:28 -08:00
|
|
|
biber protocol
|
2019-04-18 08:27:31 -07:00
|
|
|
$(LATEX) protocol.tex || { touch incremental_merkle.png; exit 1; }
|
|
|
|
$(LATEX) protocol.tex || { touch incremental_merkle.png; exit 1; }
|
|
|
|
$(LATEX) protocol.tex || { touch incremental_merkle.png; exit 1; }
|
2018-01-25 12:14:28 -08:00
|
|
|
|
|
|
|
.PHONY: nolatexmk-sapling
|
|
|
|
nolatexmk-sapling:
|
|
|
|
printf '\\toggletrue{issapling}\n\\renewcommand{\\docversion}{Version %s [\\SaplingSpec]}' "$$(git describe --tags --abbrev=6)" |tee protocol.ver
|
|
|
|
# If $(LATEX) fails, touch an input so that 'make' won't think it is up-to-date next time.
|
|
|
|
rm -f sapling.aux sapling.bbl sapling.blg sapling.brf sapling.bcf
|
2019-04-18 08:27:31 -07:00
|
|
|
$(LATEX) -jobname=sapling protocol.tex || { touch incremental_merkle.png; exit 1; }
|
2018-01-25 12:14:28 -08:00
|
|
|
biber sapling
|
2019-04-18 08:27:31 -07:00
|
|
|
$(LATEX) -jobname=sapling protocol.tex || { touch incremental_merkle.png; exit 1; }
|
|
|
|
$(LATEX) -jobname=sapling protocol.tex || { touch incremental_merkle.png; exit 1; }
|
|
|
|
$(LATEX) -jobname=sapling protocol.tex || { touch incremental_merkle.png; exit 1; }
|
2018-01-25 12:14:28 -08:00
|
|
|
|
2019-02-22 05:47:00 -08:00
|
|
|
.PHONY: nolatexmk-blossom
|
|
|
|
nolatexmk-blossom:
|
|
|
|
printf '\\toggletrue{isblossom}\n\\renewcommand{\\docversion}{Version %s [\\BlossomSpec]}' "$$(git describe --tags --abbrev=6)" |tee protocol.ver
|
|
|
|
# If $(LATEX) fails, touch an input so that 'make' won't think it is up-to-date next time.
|
|
|
|
rm -f blossom.aux blossom.bbl blossom.blg blossom.brf blossom.bcf
|
2019-04-18 08:27:31 -07:00
|
|
|
$(LATEX) -jobname=blossom protocol.tex || { touch incremental_merkle.png; exit 1; }
|
2019-02-22 05:47:00 -08:00
|
|
|
biber sapling
|
2019-04-18 08:27:31 -07:00
|
|
|
$(LATEX) -jobname=blossom protocol.tex || { touch incremental_merkle.png; exit 1; }
|
|
|
|
$(LATEX) -jobname=blossom protocol.tex || { touch incremental_merkle.png; exit 1; }
|
|
|
|
$(LATEX) -jobname=blossom protocol.tex || { touch incremental_merkle.png; exit 1; }
|
2019-02-22 05:47:00 -08:00
|
|
|
|
2018-03-26 11:25:46 -07:00
|
|
|
.PHONY: html
|
2019-02-22 05:47:00 -08:00
|
|
|
html: sapling.pdf sprout.pdf blossom.pdf
|
2018-03-26 11:25:46 -07:00
|
|
|
# Can't use --split-pages 1 because XHR doesn't work by default on local files in Chrome.
|
2018-08-05 02:02:24 -07:00
|
|
|
pdf2htmlEX --decompose-ligature 1 --font-size-multiplier 65 --fit-width 1000 --dest-dir html sprout.pdf
|
2018-03-26 11:25:46 -07:00
|
|
|
pdf2htmlEX --decompose-ligature 1 --font-size-multiplier 65 --fit-width 1000 --dest-dir html sapling.pdf
|
2019-02-22 05:47:00 -08:00
|
|
|
pdf2htmlEX --decompose-ligature 1 --font-size-multiplier 65 --fit-width 1000 --dest-dir html blossom.pdf
|
2018-03-26 11:25:46 -07:00
|
|
|
|
2015-12-22 18:13:11 -08:00
|
|
|
.PHONY: clean
|
|
|
|
clean:
|
2018-03-24 02:11:18 -07:00
|
|
|
rm -f aux/* html/* protocol.ver \
|
2018-08-05 02:02:24 -07:00
|
|
|
sprout.dvi sprout.pdf sprout.bbl sprout.blg sprout.brf sprout.toc \
|
|
|
|
sprout.aux sprout.out sprout.log sprout.bcf sprout.run.xml sprout.fls sprout.fdb_latexmk \
|
|
|
|
sapling.dvi sapling.pdf sapling.bbl sapling.blg sapling.brf sapling.toc \
|
2019-02-22 05:47:00 -08:00
|
|
|
sapling.aux sapling.out sapling.log sapling.bcf sapling.run.xml sapling.fls sapling.fdb_latexmk \
|
|
|
|
blossom.dvi blossom.pdf blossom.bbl blossom.blg blossom.brf blossom.toc \
|
|
|
|
blossom.aux blossom.out blossom.log blossom.bcf blossom.run.xml blossom.fls blossom.fdb_latexmk
|
2018-03-24 02:10:32 -07:00
|
|
|
|
2019-04-18 08:38:10 -07:00
|
|
|
optimizer-installed.flag2:
|
|
|
|
rm -rf sam2p tif22pnm pdfsizeopt
|
2018-03-24 02:10:32 -07:00
|
|
|
# Nail down git commits to make backdooring somewhat harder.
|
|
|
|
git clone https://github.com/pts/sam2p.git
|
2019-04-18 08:38:10 -07:00
|
|
|
cd sam2p && git reset --hard cafd4b8910a56e4b0af833f943a2ae85c7bc0a4d && $(MAKE)
|
2018-03-24 02:10:32 -07:00
|
|
|
git clone https://github.com/pts/tif22pnm.git
|
|
|
|
cd tif22pnm && git reset --hard 22217c1a3ea355a899e9c7c79903488ca13d1dfe && $(MAKE)
|
|
|
|
git clone https://github.com/pts/pdfsizeopt.git
|
2019-04-18 08:38:10 -07:00
|
|
|
cd pdfsizeopt && git reset --hard 5a42db5bef4df1652adb3ef49a9d14bcb58442eb
|
|
|
|
touch optimizer-installed.flag2
|
2018-03-24 02:10:32 -07:00
|
|
|
|
|
|
|
.PHONY: clean-optimizer
|
|
|
|
clean-optimizer:
|
2019-04-18 08:38:10 -07:00
|
|
|
rm -rf sam2p tif22pnm pdfsizeopt optimizer-installed.flag*
|
2018-03-24 02:10:32 -07:00
|
|
|
|
2018-08-05 02:02:24 -07:00
|
|
|
.PHONY: optsprout
|
2019-04-18 08:38:10 -07:00
|
|
|
optsprout: optimizer-installed.flag2
|
2018-08-05 02:02:24 -07:00
|
|
|
$(MAKE) auxsprout
|
2018-03-26 04:05:35 -07:00
|
|
|
PATH="${PATH}:$(CURDIR)/sam2p:$(CURDIR)/tif22pnm" pdfsizeopt/pdfsizeopt --v=40 --use-image-optimizer=sam2p \
|
2018-08-05 02:02:24 -07:00
|
|
|
--tmp-dir=aux aux/sprout.pdf sprout.pdf
|
2018-03-24 02:10:32 -07:00
|
|
|
|
2018-03-26 11:25:46 -07:00
|
|
|
.PHONY: optsapling
|
2019-04-18 08:38:10 -07:00
|
|
|
optsapling: optimizer-installed.flag2
|
2018-03-26 11:25:46 -07:00
|
|
|
$(MAKE) auxsapling
|
2018-03-26 04:05:35 -07:00
|
|
|
PATH="${PATH}:$(CURDIR)/sam2p:$(CURDIR)/tif22pnm" pdfsizeopt/pdfsizeopt --v=40 --use-image-optimizer=sam2p \
|
2018-03-26 11:25:46 -07:00
|
|
|
--tmp-dir=aux aux/sapling.pdf sapling.pdf
|
2018-08-05 08:05:40 -07:00
|
|
|
cp -f sapling.pdf protocol.pdf
|
2018-03-24 02:10:32 -07:00
|
|
|
|
2019-02-22 05:47:00 -08:00
|
|
|
.PHONY: optblossom
|
2019-04-18 08:38:10 -07:00
|
|
|
optblossom: optimizer-installed.flag2
|
2019-02-22 05:47:00 -08:00
|
|
|
$(MAKE) auxblossom
|
|
|
|
PATH="${PATH}:$(CURDIR)/sam2p:$(CURDIR)/tif22pnm" pdfsizeopt/pdfsizeopt --v=40 --use-image-optimizer=sam2p \
|
|
|
|
--tmp-dir=aux aux/blossom.pdf blossom.pdf
|
|
|
|
|
2018-03-24 02:10:32 -07:00
|
|
|
.PHONY: optimized
|
2019-02-22 05:47:00 -08:00
|
|
|
optimized: optsapling optsprout optblossom
|