etc/refcards/Makefile tweaks
[bpt/emacs.git] / etc / refcards / Makefile
CommitLineData
86965385
GM
1### Makefile for Emacs refcards
2
ab422c4d 3## Copyright (C) 1993-1994, 2001-2013 Free Software Foundation, Inc.
86965385
GM
4
5## This file is part of GNU Emacs.
b83446dd
GM
6#
7## GNU Emacs is free software: you can redistribute it and/or modify
86965385 8## it under the terms of the GNU General Public License as published by
b83446dd
GM
9## the Free Software Foundation, either version 3 of the License, or
10## (at your option) any later version.
86965385
GM
11
12## GNU Emacs is distributed in the hope that it will be useful,
13## but WITHOUT ANY WARRANTY; without even the implied warranty of
14## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15## GNU General Public License for more details.
16
17## You should have received a copy of the GNU General Public License
b83446dd 18## along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
86965385
GM
19
20
21## Top-level targets.
22
8fb9a9b6
MC
23## PDF files that are included with Emacs.
24all: refcards_pdf dired-refcards_pdf misc-refcards_pdf
86965385 25
45c33aa6
GM
26all_pdf: all survival-cards_pdf viper-cards_pdf
27all_ps: refcards_ps dired-refcards_ps misc-refcards_ps survival-cards_ps \
28 viper-cards_ps
29
8fb9a9b6
MC
30REFCARDS_PDF = refcard.pdf cs-refcard.pdf de-refcard.pdf fr-refcard.pdf \
31 pl-refcard.pdf pt-br-refcard.pdf ru-refcard.pdf sk-refcard.pdf
32refcards_pdf: ${REFCARDS_PDF}
33refcards_ps: ${REFCARDS_PDF:.pdf=.ps}
86965385 34
68b5f855 35DIRED_REFCARDS_PDF = dired-ref.pdf cs-dired-ref.pdf fr-dired-ref.pdf \
ea404efc 36 sk-dired-ref.pdf
68b5f855
PE
37dired-refcards_pdf: ${DIRED_REFCARDS_PDF}
38dired-refcards_ps: ${DIRED_REFCARDS_PDF:.pdf=.ps}
86965385 39
68b5f855
PE
40MISC_REFCARDS_PDF = calccard.pdf gnus-booklet.pdf gnus-refcard.pdf orgcard.pdf
41misc-refcards_pdf: ${MISC_REFCARDS_PDF}
42misc-refcards_ps: ${MISC_REFCARDS_PDF:.pdf=.ps}
86965385 43
86965385 44
8fb9a9b6 45## The following files are not included with Emacs.
45c33aa6 46SURVIVAL_CARDS_PDF = survival.pdf cs-survival.pdf fr-survival.pdf sk-survival.pdf
68b5f855
PE
47survival-cards_pdf: ${SURVIVAL_CARDS_PDF}
48survival-cards_ps: ${SURVIVAL_CARDS_PDF:.pdf=.ps}
8fb9a9b6 49
68b5f855
PE
50VIPER_CARDS_PDF = vipcard.pdf viperCard.pdf
51viper-cards_pdf: ${VIPER_CARDS_PDF}
52viper-cards_ps: ${VIPER_CARDS_PDF:.pdf=.ps}
8fb9a9b6 53
dcf8834b 54ENVADD = TEXINPUTS=".:"
8fb9a9b6
MC
55
56## PDF files.
57
58## The page layouts (a4/letter) are written directly in the .tex files.
59
60cs-refcard.pdf cs-dired-ref.pdf cs-survival.pdf sk-refcard.pdf \
dcf8834b 61sk-dired-ref.pdf sk-survival.pdf: %.pdf: %.tex emacsver.tex
3bb1fc91 62 if pdfcsplain --version > /dev/null 2> /dev/null; then \
dcf8834b 63 ${ENVADD} pdfcsplain $<; \
3bb1fc91 64 else \
dcf8834b 65 ${ENVADD} csplain "\pdfoutput=1\input $<"; \
3bb1fc91 66 fi
8fb9a9b6 67
3bb1fc91 68## Some versions of pdfmex seem to create dvi by default, hence output-format.
dcf8834b 69pl-refcard.pdf: %.pdf: %.tex emacsver.tex
3bb1fc91
GM
70 if ! kpsewhich -format=fmt mex > /dev/null && \
71 ! pdfmex --version > /dev/null 2> /dev/null; then \
8fb9a9b6
MC
72 echo "No mex format found."; false; \
73 fi
dcf8834b 74 ${ENVADD} pdftex -output-format=pdf $<
8fb9a9b6
MC
75
76ru-refcard.pdf: %.pdf: %.tex
77 pdflatex $<
78
31a9ab9d
GM
79#gnus-logo.pdf: %.pdf: %.eps
80# ps2pdf $<
8fb9a9b6 81
68b5f855 82gnus-refcard.pdf: %.pdf: %.tex gnus-logo.pdf
8fb9a9b6
MC
83 pdflatex $<
84
85gnus-booklet.pdf: gnus-refcard.tex gnus-logo.pdf
298c6467 86 pdflatex -jobname=gnus-booklet '\def\booklettrue{}\def\letterpapertrue{}\input{gnus-refcard}'
8fb9a9b6
MC
87
88## Everything not explicitly listed above.
dcf8834b
GM
89%.pdf: %.tex emacsver.tex
90 ${ENVADD} pdftex $<
86965385 91
86965385 92
86965385
GM
93## dvi files.
94
8fb9a9b6 95cs-refcard.dvi cs-dired-ref.dvi cs-survival.dvi sk-refcard.dvi \
dcf8834b
GM
96sk-dired-ref.dvi sk-survival.dvi: %.dvi: %.tex emacsver.tex
97 ${ENVADD} csplain $<
86965385 98
dcf8834b 99pl-refcard.dvi: %.dvi: %.tex emacsver.tex
86965385
GM
100 if ! kpsewhich -format=fmt mex > /dev/null; then \
101 echo "No mex format found."; false; \
102 fi
dcf8834b 103 ${ENVADD} tex $<
86965385
GM
104
105ru-refcard.dvi gnus-refcard.dvi: %.dvi: %.tex
106 latex $<
107
108gnus-booklet.dvi: gnus-refcard.tex
109 latex '\def\booklettrue{}\def\letterpapertrue{}\input{gnus-refcard}'
110 mv gnus-refcard.dvi $@
111
112## Everything not explicitly listed above.
dcf8834b
GM
113%.dvi: %.tex emacsver.tex
114 ${ENVADD} tex $<
86965385
GM
115
116
117## PostScript files.
118
119## Note that some of the tex files (refcard, de-refcard, fr-refcard,
120## pt-br-refcard) have settings for letter or a4 paper. Following are
121## the default paper sizes (letter for English, A4 for translations).
122## FIXME orgcard.ps does not fit on letter (see orgcard.tex).
123
124## A4, landscape.
45c33aa6 125de-refcard.ps fr-refcard.ps fr-survival.ps pt-br-refcard.ps orgcard.ps: %.ps: %.dvi
86965385
GM
126 dvips -t a4 -t landscape $< -o $@
127
128## A4, portrait.
ea404efc 129cs-dired-ref.ps cs-refcard.ps cs-survival.ps fr-dired-ref.ps \
86965385
GM
130pl-refcard.ps ru-refcard.ps \
131sk-dired-ref.ps sk-refcard.ps sk-survival.ps: %.ps: %.dvi
132 dvips -t a4 $< -o $@
133
134## letter, landscape.
135calccard.ps refcard.ps: %.ps: %.dvi
136 dvips -t letter -t landscape $< -o $@
137
138## letter, portrait.
139dired-ref.ps gnus-booklet.ps gnus-refcard.ps survival.ps vipcard.ps \
140viperCard.ps: %.ps: %.dvi
141 dvips -t letter $< -o $@
142
143
144.PHONY: clean
145
146clean:
298c6467 147 -rm -f *.dvi *.log *.aux
86965385
GM
148
149### Makefile ends here