1 # Books of Pumpkins, etc. Extensions to Quacks of Quedlinburg
2 # SPDX-License-Identifier: GPL-3.0-or-later OR CC-BY-SA-4.0
3 # Copyright 2020-2021 Ian Jackson
5 PUBLISH_MD += pumpkin-books house-rules
6 PUBLISH += pumpkin-books.pdf index.html
7 PUBLISH += LICENCE.txt GPL-3.txt CC-BY-SA-4.0.txt
8 PUBLISH += $(addsuffix .md.txt, $(PUBLISH_MD))
9 PUBLISH += $(addsuffix .md.html, $(PUBLISH_MD))
10 PUBLISH += $(addsuffix .md.pdf, $(PUBLISH_MD))
20 BOOKS+= black-pair/black-more
22 BOOK_STEMS := $(addprefix book-,$(subst /, ,$(BOOKS)))
23 PUBLISH += $(addsuffix .pdf, $(BOOK_STEMS))
24 PUBLISH += $(addsuffix .png, $(BOOK_STEMS))
28 # Don't print the ps, printers (eg ours!) don't always have the fonts
32 use_rsvg=rsvg-convert -f png -o $@.tmp.png $<
33 shell_pipe=set -o pipefail; set -e;
34 make_pnm = pnmdepth 255 | pnmnoraw $o
36 %.ps: %.ps.pl bag.pgm pot.pgm droplet.ppm
40 gs -q -dNOPAUSE -dBATCH -dPDFSETTINGS=/prepress \
41 -sDEVICE=pdfwrite -sOutputFile=$@ $<
43 bag.pgm: Sack_-_Sac_-_Zak_brown.svg Makefile
46 pngtopnm <$@.tmp.png -mix -background 'white' \
50 pot.pgm: 146_Kaldrono.svg Makefile
53 pngtopnm <$@.tmp.png \
58 droplet.ppm: droplet.svg Makefile
61 pngtopnm <$@.tmp.png -mix -background 'white' \
65 $(addsuffix .ps, $(BOOK_STEMS)): pumpkin-books.ps
68 book-%.pdf: book-%.eps
69 rm -f $@.new; ps2pdf $< $@.new && $i
74 book-%.png: book-%.eps Makefile
75 gm convert -density 100x100 $< $@
80 $(patsubst %.md,%.md.txt, $(PUBLISH)) \
81 $(patsubst %.md,%.md.html, $(filter $(PUBLISH)) \
83 index.html: gen-index README.html
89 %.md.html: %.md Makefile massage-html
90 pandoc -s -Mtitle='Fm4YNbKyBNiS7TNu' $< >$@.tmp
91 ./massage-html $< $@.tmp $o
93 %.md.pdf: %.md Makefile
94 perl -pe '$$_ = uc if $$.==1' <$< >$@.tmp
95 pandoc --pdf-engine=wkhtmltopdf -o $@ $@.tmp
98 pubpath=games-rules/quacks
99 puburl=https://www.chiark.greenend.org.uk/~ijackson/
103 rsync $^ $(pubssh):public-html/$(pubpath)/.
104 @echo $(puburl)$(pubpath)/README.html