Backport 2010-03-25T08:48:52Z!mituharu@math.s.chiba-u.ac.jp from trunk
[emacs.git] / etc / refcards / Makefile
blobc1bddd124d7016f26a78e81f5b29b7f0d6c90f89
1 ### Makefile for Emacs refcards
3 ## Copyright (C) 1993, 1994, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
4 ## 2008, 2009, 2010 Free Software Foundation, Inc.
6 ## This file is part of GNU Emacs.
8 ## GNU Emacs is free software: you can redistribute it and/or modify
9 ## it under the terms of the GNU General Public License as published by
10 ## the Free Software Foundation, either version 3 of the License, or
11 ## (at your option) any later version.
13 ## GNU Emacs is distributed in the hope that it will be useful,
14 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
15 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 ## GNU General Public License for more details.
18 ## You should have received a copy of the GNU General Public License
19 ## along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
22 ## Top-level targets.
24 ## PDF files that are included with Emacs.
25 all: refcards_pdf dired-refcards_pdf misc-refcards_pdf
27 REFCARDS_PDF = refcard.pdf cs-refcard.pdf de-refcard.pdf fr-refcard.pdf \
28 pl-refcard.pdf pt-br-refcard.pdf ru-refcard.pdf sk-refcard.pdf
29 refcards_pdf: ${REFCARDS_PDF}
30 refcards_ps: ${REFCARDS_PDF:.pdf=.ps}
32 DIRED-REFCARDS_PDF = dired-ref.pdf cs-dired-ref.pdf fr-dired-ref.pdf \
33 sk-dired-ref.pdf
34 dired-refcards_pdf: ${DIRED-REFCARDS_PDF}
35 dired-refcards_ps: ${DIRED-REFCARDS_PDF:.pdf=.ps}
37 MISC-REFCARDS_PDF = calccard.pdf gnus-booklet.pdf gnus-refcard.pdf orgcard.pdf
38 misc-refcards_pdf: ${MISC-REFCARDS_PDF}
39 misc-refcards_ps: ${MISC-REFCARDS_PDF:.pdf=.ps}
42 ## The following files are not included with Emacs.
43 SURVIVAL-CARDS_PDF = survival.pdf cs-survival.pdf sk-survival.pdf
44 survival-cards_pdf: ${SURVIVAL-CARDS_PDF}
45 survival-cards_ps: ${SURVIVAL-CARDS_PDF:.pdf=.ps}
47 VIPER-CARDS_PDF = vipcard.pdf viperCard.pdf
48 viper-cards_pdf: ${VIPER-CARDS_PDF}
49 viper-cards_ps: ${VIPER-CARDS_PDF:.pdf=.ps}
52 ## PDF files.
54 ## The page layouts (a4/letter) are written directly in the .tex files.
56 cs-refcard.pdf cs-dired-ref.pdf cs-survival.pdf sk-refcard.pdf \
57 sk-dired-ref.pdf sk-survival.pdf: %.pdf: %.tex
58 if pdfcsplain --version > /dev/null 2> /dev/null; then \
59 pdfcsplain $<; \
60 else \
61 csplain "\pdfoutput=1\input $<"; \
64 ## Some versions of pdfmex seem to create dvi by default, hence output-format.
65 pl-refcard.pdf: %.pdf: %.tex
66 if ! kpsewhich -format=fmt mex > /dev/null && \
67 ! pdfmex --version > /dev/null 2> /dev/null; then \
68 echo "No mex format found."; false; \
70 pdftex -output-format=pdf $<
72 ru-refcard.pdf: %.pdf: %.tex
73 pdflatex $<
75 #gnus-logo.pdf: %.pdf: %.eps
76 # ps2pdf $<
78 gnus-refcard.pdf: %.pdf: %.tex gnus-logo.pdf
79 pdflatex $<
81 gnus-booklet.pdf: gnus-refcard.tex gnus-logo.pdf
82 pdflatex -jobname=gnus-booklet '\def\booklettrue{}\def\letterpapertrue{}\input{gnus-refcard}'
84 ## Everything not explicitly listed above.
85 %.pdf: %.tex
86 pdftex $<
89 ## dvi files.
91 cs-refcard.dvi cs-dired-ref.dvi cs-survival.dvi sk-refcard.dvi \
92 sk-dired-ref.dvi sk-survival.dvi: %.dvi: %.tex
93 csplain $<
95 pl-refcard.dvi: %.dvi: %.tex
96 if ! kpsewhich -format=fmt mex > /dev/null; then \
97 echo "No mex format found."; false; \
99 tex $<
101 ru-refcard.dvi gnus-refcard.dvi: %.dvi: %.tex
102 latex $<
104 gnus-booklet.dvi: gnus-refcard.tex
105 latex '\def\booklettrue{}\def\letterpapertrue{}\input{gnus-refcard}'
106 mv gnus-refcard.dvi $@
108 ## Everything not explicitly listed above.
109 %.dvi: %.tex
110 tex $<
113 ## PostScript files.
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).
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 $@
124 ## A4, portrait.
125 cs-dired-ref.ps cs-refcard.ps cs-survival.ps fr-dired-ref.ps \
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 $@
130 ## letter, landscape.
131 calccard.ps refcard.ps: %.ps: %.dvi
132 dvips -t letter -t landscape $< -o $@
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 $@
140 .PHONY: clean
142 clean:
143 -rm -f *.dvi *.log *.aux
145 ### Makefile ends here