| 1 | ### Makefile for Emacs refcards |
| 2 | |
| 3 | ## Copyright (C) 1993, 1994, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
| 4 | ## 2008, 2009, 2010 Free Software Foundation, Inc. |
| 5 | |
| 6 | ## This file is part of GNU Emacs. |
| 7 | # |
| 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. |
| 12 | |
| 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. |
| 17 | |
| 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/>. |
| 20 | |
| 21 | |
| 22 | ## Top-level targets. |
| 23 | |
| 24 | ## PDF files that are included with Emacs. |
| 25 | all: refcards_pdf dired-refcards_pdf misc-refcards_pdf |
| 26 | |
| 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} |
| 31 | |
| 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} |
| 36 | |
| 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} |
| 40 | |
| 41 | |
| 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} |
| 46 | |
| 47 | VIPER-CARDS_PDF = vipcard.pdf viperCard.pdf |
| 48 | viper-cards_pdf: ${VIPER-CARDS_PDF} |
| 49 | viper-cards_ps: ${VIPER-CARDS_PDF:.pdf=.ps} |
| 50 | |
| 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 \ |
| 57 | sk-dired-ref.pdf sk-survival.pdf: %.pdf: %.tex |
| 58 | csplain "\pdfoutput=1\input $<" |
| 59 | |
| 60 | pl-refcard.pdf: %.pdf: %.tex |
| 61 | if ! kpsewhich -format=fmt mex > /dev/null; then \ |
| 62 | echo "No mex format found."; false; \ |
| 63 | fi |
| 64 | pdftex $< |
| 65 | |
| 66 | ru-refcard.pdf: %.pdf: %.tex |
| 67 | pdflatex $< |
| 68 | |
| 69 | #gnus-logo.pdf: %.pdf: %.eps |
| 70 | # ps2pdf $< |
| 71 | |
| 72 | gnus-refcard.pdf: %.pdf: %.tex gnus-logo.pdf |
| 73 | pdflatex $< |
| 74 | |
| 75 | gnus-booklet.pdf: gnus-refcard.tex gnus-logo.pdf |
| 76 | pdflatex -jobname=gnus-booklet '\def\booklettrue{}\def\letterpapertrue{}\input{gnus-refcard}' |
| 77 | |
| 78 | ## Everything not explicitly listed above. |
| 79 | %.pdf: %.tex |
| 80 | pdftex $< |
| 81 | |
| 82 | |
| 83 | |
| 84 | ## dvi files. |
| 85 | |
| 86 | cs-refcard.dvi cs-dired-ref.dvi cs-survival.dvi sk-refcard.dvi \ |
| 87 | sk-dired-ref.dvi sk-survival.dvi: %.dvi: %.tex |
| 88 | csplain $< |
| 89 | |
| 90 | pl-refcard.dvi: %.dvi: %.tex |
| 91 | if ! kpsewhich -format=fmt mex > /dev/null; then \ |
| 92 | echo "No mex format found."; false; \ |
| 93 | fi |
| 94 | tex $< |
| 95 | |
| 96 | ru-refcard.dvi gnus-refcard.dvi: %.dvi: %.tex |
| 97 | latex $< |
| 98 | |
| 99 | gnus-booklet.dvi: gnus-refcard.tex |
| 100 | latex '\def\booklettrue{}\def\letterpapertrue{}\input{gnus-refcard}' |
| 101 | mv gnus-refcard.dvi $@ |
| 102 | |
| 103 | ## Everything not explicitly listed above. |
| 104 | %.dvi: %.tex |
| 105 | tex $< |
| 106 | |
| 107 | |
| 108 | ## PostScript files. |
| 109 | |
| 110 | ## Note that some of the tex files (refcard, de-refcard, fr-refcard, |
| 111 | ## pt-br-refcard) have settings for letter or a4 paper. Following are |
| 112 | ## the default paper sizes (letter for English, A4 for translations). |
| 113 | ## FIXME orgcard.ps does not fit on letter (see orgcard.tex). |
| 114 | |
| 115 | ## A4, landscape. |
| 116 | de-refcard.ps fr-refcard.ps pt-br-refcard.ps orgcard.ps: %.ps: %.dvi |
| 117 | dvips -t a4 -t landscape $< -o $@ |
| 118 | |
| 119 | ## A4, portrait. |
| 120 | cs-dired-ref.ps cs-refcard.ps cs-survival.ps fr-dired-ref.ps \ |
| 121 | pl-refcard.ps ru-refcard.ps \ |
| 122 | sk-dired-ref.ps sk-refcard.ps sk-survival.ps: %.ps: %.dvi |
| 123 | dvips -t a4 $< -o $@ |
| 124 | |
| 125 | ## letter, landscape. |
| 126 | calccard.ps refcard.ps: %.ps: %.dvi |
| 127 | dvips -t letter -t landscape $< -o $@ |
| 128 | |
| 129 | ## letter, portrait. |
| 130 | dired-ref.ps gnus-booklet.ps gnus-refcard.ps survival.ps vipcard.ps \ |
| 131 | viperCard.ps: %.ps: %.dvi |
| 132 | dvips -t letter $< -o $@ |
| 133 | |
| 134 | |
| 135 | .PHONY: clean |
| 136 | |
| 137 | clean: |
| 138 | -rm -f *.dvi *.log *.aux |
| 139 | |
| 140 | ### Makefile ends here |