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 | |
45c33aa6 GM |
26 | all_pdf: all survival-cards_pdf viper-cards_pdf |
27 | all_ps: refcards_ps dired-refcards_ps misc-refcards_ps survival-cards_ps \ | |
28 | viper-cards_ps | |
29 | ||
8fb9a9b6 MC |
30 | REFCARDS_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 | |
32 | refcards_pdf: ${REFCARDS_PDF} | |
33 | refcards_ps: ${REFCARDS_PDF:.pdf=.ps} | |
86965385 | 34 | |
68b5f855 | 35 | DIRED_REFCARDS_PDF = dired-ref.pdf cs-dired-ref.pdf fr-dired-ref.pdf \ |
ea404efc | 36 | sk-dired-ref.pdf |
68b5f855 PE |
37 | dired-refcards_pdf: ${DIRED_REFCARDS_PDF} |
38 | dired-refcards_ps: ${DIRED_REFCARDS_PDF:.pdf=.ps} | |
86965385 | 39 | |
68b5f855 PE |
40 | MISC_REFCARDS_PDF = calccard.pdf gnus-booklet.pdf gnus-refcard.pdf orgcard.pdf |
41 | misc-refcards_pdf: ${MISC_REFCARDS_PDF} | |
42 | misc-refcards_ps: ${MISC_REFCARDS_PDF:.pdf=.ps} | |
86965385 | 43 | |
86965385 | 44 | |
8fb9a9b6 | 45 | ## The following files are not included with Emacs. |
45c33aa6 | 46 | SURVIVAL_CARDS_PDF = survival.pdf cs-survival.pdf fr-survival.pdf sk-survival.pdf |
68b5f855 PE |
47 | survival-cards_pdf: ${SURVIVAL_CARDS_PDF} |
48 | survival-cards_ps: ${SURVIVAL_CARDS_PDF:.pdf=.ps} | |
8fb9a9b6 | 49 | |
68b5f855 PE |
50 | VIPER_CARDS_PDF = vipcard.pdf viperCard.pdf |
51 | viper-cards_pdf: ${VIPER_CARDS_PDF} | |
52 | viper-cards_ps: ${VIPER_CARDS_PDF:.pdf=.ps} | |
8fb9a9b6 | 53 | |
dcf8834b | 54 | ENVADD = TEXINPUTS=".:" |
8fb9a9b6 MC |
55 | |
56 | ## PDF files. | |
57 | ||
58 | ## The page layouts (a4/letter) are written directly in the .tex files. | |
59 | ||
60 | cs-refcard.pdf cs-dired-ref.pdf cs-survival.pdf sk-refcard.pdf \ | |
dcf8834b | 61 | sk-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 | 69 | pl-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 | |
76 | ru-refcard.pdf: %.pdf: %.tex | |
77 | pdflatex $< | |
78 | ||
31a9ab9d GM |
79 | #gnus-logo.pdf: %.pdf: %.eps |
80 | # ps2pdf $< | |
8fb9a9b6 | 81 | |
68b5f855 | 82 | gnus-refcard.pdf: %.pdf: %.tex gnus-logo.pdf |
8fb9a9b6 MC |
83 | pdflatex $< |
84 | ||
85 | gnus-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 | 95 | cs-refcard.dvi cs-dired-ref.dvi cs-survival.dvi sk-refcard.dvi \ |
dcf8834b GM |
96 | sk-dired-ref.dvi sk-survival.dvi: %.dvi: %.tex emacsver.tex |
97 | ${ENVADD} csplain $< | |
86965385 | 98 | |
dcf8834b | 99 | pl-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 | |
105 | ru-refcard.dvi gnus-refcard.dvi: %.dvi: %.tex | |
106 | latex $< | |
107 | ||
108 | gnus-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 | 125 | de-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 | 129 | cs-dired-ref.ps cs-refcard.ps cs-survival.ps fr-dired-ref.ps \ |
86965385 GM |
130 | pl-refcard.ps ru-refcard.ps \ |
131 | sk-dired-ref.ps sk-refcard.ps sk-survival.ps: %.ps: %.dvi | |
132 | dvips -t a4 $< -o $@ | |
133 | ||
134 | ## letter, landscape. | |
135 | calccard.ps refcard.ps: %.ps: %.dvi | |
136 | dvips -t letter -t landscape $< -o $@ | |
137 | ||
138 | ## letter, portrait. | |
139 | dired-ref.ps gnus-booklet.ps gnus-refcard.ps survival.ps vipcard.ps \ | |
140 | viperCard.ps: %.ps: %.dvi | |
141 | dvips -t letter $< -o $@ | |
142 | ||
143 | ||
144 | .PHONY: clean | |
145 | ||
146 | clean: | |
298c6467 | 147 | -rm -f *.dvi *.log *.aux |
86965385 | 148 | |
72baeef2 GM |
149 | ## For the Emacs website. |
150 | dist: | |
151 | rm -rf emacs-refcards | |
152 | mkdir emacs-refcards | |
153 | cp Makefile README *.tex gnus-logo.* pdflayout.sty emacs-refcards/ | |
154 | tar -cf emacs-refcards.tar emacs-refcards | |
155 | rm -rf emacs-refcards | |
156 | ||
86965385 | 157 | ### Makefile ends here |