Commit | Line | Data |
---|---|---|
86965385 GM |
1 | ### Makefile for Emacs refcards |
2 | ||
acaf905b | 3 | ## Copyright (C) 1993-1994, 2001-2012 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. |
24 | all: refcards_pdf dired-refcards_pdf misc-refcards_pdf | |
86965385 | 25 | |
8fb9a9b6 MC |
26 | REFCARDS_PDF = refcard.pdf cs-refcard.pdf de-refcard.pdf fr-refcard.pdf \ |
27 | pl-refcard.pdf pt-br-refcard.pdf ru-refcard.pdf sk-refcard.pdf | |
28 | refcards_pdf: ${REFCARDS_PDF} | |
29 | refcards_ps: ${REFCARDS_PDF:.pdf=.ps} | |
86965385 | 30 | |
68b5f855 | 31 | DIRED_REFCARDS_PDF = dired-ref.pdf cs-dired-ref.pdf fr-dired-ref.pdf \ |
ea404efc | 32 | sk-dired-ref.pdf |
68b5f855 PE |
33 | dired-refcards_pdf: ${DIRED_REFCARDS_PDF} |
34 | dired-refcards_ps: ${DIRED_REFCARDS_PDF:.pdf=.ps} | |
86965385 | 35 | |
68b5f855 PE |
36 | MISC_REFCARDS_PDF = calccard.pdf gnus-booklet.pdf gnus-refcard.pdf orgcard.pdf |
37 | misc-refcards_pdf: ${MISC_REFCARDS_PDF} | |
38 | misc-refcards_ps: ${MISC_REFCARDS_PDF:.pdf=.ps} | |
86965385 | 39 | |
86965385 | 40 | |
8fb9a9b6 | 41 | ## The following files are not included with Emacs. |
68b5f855 PE |
42 | SURVIVAL_CARDS_PDF = survival.pdf cs-survival.pdf sk-survival.pdf |
43 | survival-cards_pdf: ${SURVIVAL_CARDS_PDF} | |
44 | survival-cards_ps: ${SURVIVAL_CARDS_PDF:.pdf=.ps} | |
8fb9a9b6 | 45 | |
68b5f855 PE |
46 | VIPER_CARDS_PDF = vipcard.pdf viperCard.pdf |
47 | viper-cards_pdf: ${VIPER_CARDS_PDF} | |
48 | viper-cards_ps: ${VIPER_CARDS_PDF:.pdf=.ps} | |
8fb9a9b6 MC |
49 | |
50 | ||
51 | ## PDF files. | |
52 | ||
53 | ## The page layouts (a4/letter) are written directly in the .tex files. | |
54 | ||
55 | cs-refcard.pdf cs-dired-ref.pdf cs-survival.pdf sk-refcard.pdf \ | |
56 | sk-dired-ref.pdf sk-survival.pdf: %.pdf: %.tex | |
3bb1fc91 GM |
57 | if pdfcsplain --version > /dev/null 2> /dev/null; then \ |
58 | pdfcsplain $<; \ | |
59 | else \ | |
60 | csplain "\pdfoutput=1\input $<"; \ | |
61 | fi | |
8fb9a9b6 | 62 | |
3bb1fc91 | 63 | ## Some versions of pdfmex seem to create dvi by default, hence output-format. |
8fb9a9b6 | 64 | pl-refcard.pdf: %.pdf: %.tex |
3bb1fc91 GM |
65 | if ! kpsewhich -format=fmt mex > /dev/null && \ |
66 | ! pdfmex --version > /dev/null 2> /dev/null; then \ | |
8fb9a9b6 MC |
67 | echo "No mex format found."; false; \ |
68 | fi | |
3bb1fc91 | 69 | pdftex -output-format=pdf $< |
8fb9a9b6 MC |
70 | |
71 | ru-refcard.pdf: %.pdf: %.tex | |
72 | pdflatex $< | |
73 | ||
31a9ab9d GM |
74 | #gnus-logo.pdf: %.pdf: %.eps |
75 | # ps2pdf $< | |
8fb9a9b6 | 76 | |
68b5f855 | 77 | gnus-refcard.pdf: %.pdf: %.tex gnus-logo.pdf |
8fb9a9b6 MC |
78 | pdflatex $< |
79 | ||
80 | gnus-booklet.pdf: gnus-refcard.tex gnus-logo.pdf | |
298c6467 | 81 | pdflatex -jobname=gnus-booklet '\def\booklettrue{}\def\letterpapertrue{}\input{gnus-refcard}' |
8fb9a9b6 MC |
82 | |
83 | ## Everything not explicitly listed above. | |
84 | %.pdf: %.tex | |
85 | pdftex $< | |
86965385 | 86 | |
86965385 | 87 | |
86965385 GM |
88 | ## dvi files. |
89 | ||
8fb9a9b6 MC |
90 | cs-refcard.dvi cs-dired-ref.dvi cs-survival.dvi sk-refcard.dvi \ |
91 | sk-dired-ref.dvi sk-survival.dvi: %.dvi: %.tex | |
86965385 GM |
92 | csplain $< |
93 | ||
94 | pl-refcard.dvi: %.dvi: %.tex | |
95 | if ! kpsewhich -format=fmt mex > /dev/null; then \ | |
96 | echo "No mex format found."; false; \ | |
97 | fi | |
98 | tex $< | |
99 | ||
100 | ru-refcard.dvi gnus-refcard.dvi: %.dvi: %.tex | |
101 | latex $< | |
102 | ||
103 | gnus-booklet.dvi: gnus-refcard.tex | |
104 | latex '\def\booklettrue{}\def\letterpapertrue{}\input{gnus-refcard}' | |
105 | mv gnus-refcard.dvi $@ | |
106 | ||
107 | ## Everything not explicitly listed above. | |
108 | %.dvi: %.tex | |
109 | tex $< | |
110 | ||
111 | ||
112 | ## PostScript files. | |
113 | ||
114 | ## Note that some of the tex files (refcard, de-refcard, fr-refcard, | |
115 | ## pt-br-refcard) have settings for letter or a4 paper. Following are | |
116 | ## the default paper sizes (letter for English, A4 for translations). | |
117 | ## FIXME orgcard.ps does not fit on letter (see orgcard.tex). | |
118 | ||
119 | ## A4, landscape. | |
120 | de-refcard.ps fr-refcard.ps pt-br-refcard.ps orgcard.ps: %.ps: %.dvi | |
121 | dvips -t a4 -t landscape $< -o $@ | |
122 | ||
123 | ## A4, portrait. | |
ea404efc | 124 | cs-dired-ref.ps cs-refcard.ps cs-survival.ps fr-dired-ref.ps \ |
86965385 GM |
125 | pl-refcard.ps ru-refcard.ps \ |
126 | sk-dired-ref.ps sk-refcard.ps sk-survival.ps: %.ps: %.dvi | |
127 | dvips -t a4 $< -o $@ | |
128 | ||
129 | ## letter, landscape. | |
130 | calccard.ps refcard.ps: %.ps: %.dvi | |
131 | dvips -t letter -t landscape $< -o $@ | |
132 | ||
133 | ## letter, portrait. | |
134 | dired-ref.ps gnus-booklet.ps gnus-refcard.ps survival.ps vipcard.ps \ | |
135 | viperCard.ps: %.ps: %.dvi | |
136 | dvips -t letter $< -o $@ | |
137 | ||
138 | ||
139 | .PHONY: clean | |
140 | ||
141 | clean: | |
298c6467 | 142 | -rm -f *.dvi *.log *.aux |
86965385 GM |
143 | |
144 | ### Makefile ends here |