Auto-commit of generated files.
[emacs.git] / etc / refcards / Makefile
blob115b0ca084a7bf8323bbf32c704a85a180db8a0e
1 ### Makefile for Emacs refcards
3 ## Copyright (C) 1993-1994, 2001-2011 Free Software Foundation, Inc.
5 ## This file is part of GNU Emacs.
7 ## GNU Emacs is free software: you can redistribute it and/or modify
8 ## it under the terms of the GNU General Public License as published by
9 ## the Free Software Foundation, either version 3 of the License, or
10 ## (at your option) any later version.
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.
17 ## You should have received a copy of the GNU General Public License
18 ## along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
21 ## Top-level targets.
23 ## PDF files that are included with Emacs.
24 all: refcards_pdf dired-refcards_pdf misc-refcards_pdf
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}
31 DIRED_REFCARDS_PDF = dired-ref.pdf cs-dired-ref.pdf fr-dired-ref.pdf \
32 sk-dired-ref.pdf
33 dired-refcards_pdf: ${DIRED_REFCARDS_PDF}
34 dired-refcards_ps: ${DIRED_REFCARDS_PDF:.pdf=.ps}
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}
41 ## The following files are not included with Emacs.
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}
46 VIPER_CARDS_PDF = vipcard.pdf viperCard.pdf
47 viper-cards_pdf: ${VIPER_CARDS_PDF}
48 viper-cards_ps: ${VIPER_CARDS_PDF:.pdf=.ps}
51 ## PDF files.
53 ## The page layouts (a4/letter) are written directly in the .tex files.
55 cs-refcard.pdf cs-dired-ref.pdf cs-survival.pdf sk-refcard.pdf \
56 sk-dired-ref.pdf sk-survival.pdf: %.pdf: %.tex
57 if pdfcsplain --version > /dev/null 2> /dev/null; then \
58 pdfcsplain $<; \
59 else \
60 csplain "\pdfoutput=1\input $<"; \
63 ## Some versions of pdfmex seem to create dvi by default, hence output-format.
64 pl-refcard.pdf: %.pdf: %.tex
65 if ! kpsewhich -format=fmt mex > /dev/null && \
66 ! pdfmex --version > /dev/null 2> /dev/null; then \
67 echo "No mex format found."; false; \
69 pdftex -output-format=pdf $<
71 ru-refcard.pdf: %.pdf: %.tex
72 pdflatex $<
74 #gnus-logo.pdf: %.pdf: %.eps
75 # ps2pdf $<
77 gnus-refcard.pdf: %.pdf: %.tex gnus-logo.pdf
78 pdflatex $<
80 gnus-booklet.pdf: gnus-refcard.tex gnus-logo.pdf
81 pdflatex -jobname=gnus-booklet '\def\booklettrue{}\def\letterpapertrue{}\input{gnus-refcard}'
83 ## Everything not explicitly listed above.
84 %.pdf: %.tex
85 pdftex $<
88 ## dvi files.
90 cs-refcard.dvi cs-dired-ref.dvi cs-survival.dvi sk-refcard.dvi \
91 sk-dired-ref.dvi sk-survival.dvi: %.dvi: %.tex
92 csplain $<
94 pl-refcard.dvi: %.dvi: %.tex
95 if ! kpsewhich -format=fmt mex > /dev/null; then \
96 echo "No mex format found."; false; \
98 tex $<
100 ru-refcard.dvi gnus-refcard.dvi: %.dvi: %.tex
101 latex $<
103 gnus-booklet.dvi: gnus-refcard.tex
104 latex '\def\booklettrue{}\def\letterpapertrue{}\input{gnus-refcard}'
105 mv gnus-refcard.dvi $@
107 ## Everything not explicitly listed above.
108 %.dvi: %.tex
109 tex $<
112 ## PostScript files.
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).
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 $@
123 ## A4, portrait.
124 cs-dired-ref.ps cs-refcard.ps cs-survival.ps fr-dired-ref.ps \
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 $@
129 ## letter, landscape.
130 calccard.ps refcard.ps: %.ps: %.dvi
131 dvips -t letter -t landscape $< -o $@
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 $@
139 .PHONY: clean
141 clean:
142 -rm -f *.dvi *.log *.aux
144 ### Makefile ends here