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