Minor edits, mostly aesthetic
[clqr.git] / Makefile
blob1c93ba376121569ed21c71ca3671c4ed150cfc9b
1 # Copyright (C) 2008, 2009, 2010, 2011, 2012 Bert Burgemeister
3 # Permission is granted to copy, distribute and/or modify this
4 # document under the terms of the GNU Free Documentation License,
5 # Version 1.2 or any later version published by the Free Software
6 # Foundation; with no Invariant Sections, no Front-Cover Texts and
7 # no Back-Cover Texts. For details see file COPYING.
9 SEND-TO-LOG = | tee -a lastbuild.log
11 LATEX = latex
12 MAKEINDEX = makeindex -c
13 MPOST = TEX=latex mpost
14 DVIPS = dvips
15 PSNUP-A4 = psnup -W10.5cm -H29.7cm -pa4 -2
16 PSNUP-LETTER = psnup -W4.25in -H11in -pletter -2
17 PSBOOK-ALL = psbook
18 PSBOOK-FOUR = psbook -s4
19 PS2PDF = ps2pdf -dPDFSETTINGS=/prepress
20 CONVERT = convert
21 MONTAGE = montage
22 HEAD = head
23 TAIL = tail
24 TOUCH = touch
25 CP = cp --verbose
26 RM = rm --force --verbose
27 MV = mv --force --verbose
28 MAKE = make
29 GZIP = gzip
30 GIT_REVISION = git describe | sed 's/\(.*-.*\)-.*/\1/'
31 GIT_ARCHIVE = git archive --format=tar --prefix=clqr/ HEAD | $(GZIP)
32 GIT_LOG = git log
33 DATE = git log HEAD^..HEAD --date=short | awk '/Date:/{print $$2}' | tr -d '\n\\'
35 all: letter a4
37 letter:
38 $(MAKE) letter-booklets
39 $(MAKE) clqr-letter-consec.pdf
41 a4:
42 $(MAKE) a4-booklets
43 $(MAKE) clqr-a4-consec.pdf
45 letter-booklets: clqr-letter-booklet-all.pdf clqr-letter-booklet-four.pdf
47 a4-booklets: clqr-a4-booklet-all.pdf clqr-a4-booklet-four.pdf
49 clqr-%-consec.pdf: clqr-%-consec.ps
50 $(PS2PDF) $< $@ $(SEND-TO-LOG)
52 clqr-letter-booklet-%.pdf: clqr-letter-booklet-%.ps
53 $(PS2PDF) -sPAPERSIZE=letter $< $@ $(SEND-TO-LOG)
55 clqr-a4-booklet-%.pdf: clqr-a4-booklet-%.ps
56 $(PS2PDF) -sPAPERSIZE=a4 $< $@ $(SEND-TO-LOG)
58 clqr-letter-booklet-%.ps: clqr-letter-signature-%.ps color-black.flag
59 $(PSNUP-LETTER) $< > $@ $(SEND-TO-LOG)
61 clqr-a4-booklet-%.ps: clqr-a4-signature-%.ps color-black.flag
62 $(PSNUP-A4) $< > $@ $(SEND-TO-LOG)
64 clqr-%-signature-all.ps: clqr-%-consec.ps
65 $(PSBOOK-ALL) $< $@ $(SEND-TO-LOG)
67 clqr-%-signature-four.ps: clqr-%-consec.ps
68 $(PSBOOK-FOUR) $< $@ $(SEND-TO-LOG)
70 clqr-%-consec.ps: clqr-%.dvi color-colorful.flag
71 $(DVIPS) -o $@ $< $(SEND-TO-LOG)
73 clqr-%.dvi: clqr.tex clqr-*.tex clqr.*.tex clqr-types-and-classes.1 paper-%.flag revision-number
74 $(TOUCH) clqr.ind $(SEND-TO-LOG)
75 $(LATEX) clqr.tex $(SEND-TO-LOG)
76 $(LATEX) clqr.tex $(SEND-TO-LOG)
77 $(MAKEINDEX) -s clqr.ist clqr.idx $(SEND-TO-LOG)
78 $(LATEX) clqr.tex $(SEND-TO-LOG)
79 $(MV) clqr.dvi $@ $(SEND-TO-LOG)
81 clqr-types-and-classes.1 clqr-types-and-classes.2 \
82 clqr-types-and-classes.3 clqr-types-and-classes.4 \
83 clqr-types-and-classes.5: clqr-types-and-classes.mp clqr.macros.tex clqr.packages.tex
84 $(MPOST) $< $(SEND-TO-LOG)
86 paper-a4.flag:
87 $(CP) paper-a4.tex paper-current.tex $(SEND-TO-LOG)
88 $(RM) paper-letter.flag $(SEND-TO-LOG)
89 $(TOUCH) $@
91 paper-letter.flag:
92 $(CP) paper-letter.tex paper-current.tex $(SEND-TO-LOG)
93 $(RM) paper-a4.flag $(SEND-TO-LOG)
94 $(TOUCH) $@
96 color-colorful.flag:
97 $(CP) color-colorful.tex color-current.tex $(SEND-TO-LOG)
98 $(RM) color-black.flag $(SEND-TO-LOG)
99 $(TOUCH) $@
101 color-black.flag:
102 $(CP) color-black.tex color-current.tex $(SEND-TO-LOG)
103 $(RM) color-colorful.flag $(SEND-TO-LOG)
104 $(TOUCH) $@
106 revision-number:
107 $(GIT_REVISION) | tee REVISION.tex > release-revision.txt
108 $(DATE) | tee DATE.tex > release-date.txt
110 clean:
111 $(RM) *.dvi *.toc *.aux *.log *.idx *.ilg *.ind *.out *.ps *.pdf *~ \
112 *.flag *.jpg *.jpg *.tar.gz REVISION.tex DATE.tex \
113 latest-changes.html release-revision.txt release-date.txt \
114 *.[12345] *.mpx mpxerr.tex paper-current.tex color-current.tex
115 $(RM) -r gh-pages
118 # Project hosting, Github
120 sample-frontcover.jpg: clqr-a4-consec.pdf
121 $(CONVERT) $<'[0]' -verbose -resize 40% temp.jpg $(SEND-TO-LOG)
122 $(MONTAGE) temp.jpg -tile 1x1 -geometry +1+1 -background gray $@ $(SEND-TO-LOG)
123 $(RM) temp.jpg
125 sample-firstpage-%.jpg: clqr-a4-booklet-%.pdf
126 $(CONVERT) $<'[0]' -verbose -resize 15% temp.jpg $(SEND-TO-LOG)
127 $(MONTAGE) temp.jpg -tile 1x1 -geometry +1+1 -background gray $@ $(SEND-TO-LOG)
128 $(RM) temp.jpg
130 sample-firstpage-consec.jpg: clqr-a4-consec.pdf
131 $(CONVERT) $<'[0]' -verbose -resize 15% temp.jpg $(SEND-TO-LOG)
132 $(MONTAGE) temp.jpg -tile 1x1 -geometry +1+1 -background gray $@ $(SEND-TO-LOG)
133 $(RM) temp.jpg
135 sample-source.jpg: clqr-numbers.tex
136 $(HEAD) -n 57 $< | $(TAIL) -n 40 | $(CONVERT) -font Courier -crop 120x80+30+2 +repage label:@- temp.jpg $(SEND-TO-LOG)
137 $(MONTAGE) temp.jpg -tile 1x1 -geometry +1+1 -background gray $@ $(SEND-TO-LOG)
138 $(RM) temp.jpg
140 latest-changes.html: clqr.tex clqr-*.tex
141 if $(GIT_LOG) -5 --pretty=format:"<p><i>%ci</i>%n<br />%s%n<br />%b</p>" > $@; then true; else true; fi $(SEND-TO-LOG)
143 gh-publish:
144 $(RM) -r gh-pages
145 mkdir gh-pages
146 $(MAKE) gh-pages/clqr-a4-consec.pdf \
147 gh-pages/clqr-letter-consec.pdf \
148 gh-pages/clqr-a4-booklet-all.pdf \
149 gh-pages/clqr-a4-booklet-four.pdf \
150 gh-pages/clqr-letter-booklet-all.pdf \
151 gh-pages/clqr-letter-booklet-four.pdf \
152 gh-pages/sample-frontcover.jpg \
153 gh-pages/sample-firstpage-all.jpg \
154 gh-pages/sample-firstpage-four.jpg \
155 gh-pages/sample-firstpage-consec.jpg \
156 gh-pages/sample-source.jpg \
157 gh-pages/clqr.tar.gz \
158 gh-pages/404.html \
159 gh-pages/CNAME \
160 gh-pages/README \
161 gh-pages/download.html \
162 gh-pages/favicon.ico \
163 gh-pages/index.html \
164 gh-pages/license.html \
165 gh-pages/new-pure.css \
166 gh-pages/printing.html \
167 gh-pages/robots.txt \
168 gh-pages/source.html
169 cd gh-pages; git init; git add ./; git commit -a -m "gh-pages pseudo commit"; git push git@github.com:trebb/clqr.git +master:gh-pages
171 gh-pages/sample-%.jpg: sample-%.jpg
172 $(CP) $< $@
174 gh-pages/index.html: html-template/index.html latest-changes.html
175 sed -e "/<h3>Latest Changes<\/h3>/ r latest-changes.html" html-template/index.html > $@
177 gh-pages/download.html: html-template/download.html revision-number
178 sed -e "/This is revision/ r REVISION.tex" -e "/<!- date of commit \/>/ r DATE.tex" html-template/download.html > $@
180 gh-pages/%.pdf: %.pdf
181 $(CP) $< $@
183 gh-pages/%.tar.gz: %.tar.gz
184 $(CP) $< $@
186 gh-pages/%: html-template/%
187 $(CP) $< $@
189 clqr.tar.gz: clqr.tex clqr-*.tex
190 if $(GIT_ARCHIVE) > clqr.tar.gz; then true; else true; fi $(SEND-TO-LOG)