Makefile 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. ### Makefile for Emacs refcards
  2. ## Copyright (C) 1993-1994, 2001-2012 Free Software Foundation, Inc.
  3. ## This file is part of GNU Emacs.
  4. #
  5. ## GNU Emacs is free software: you can redistribute it and/or modify
  6. ## it under the terms of the GNU General Public License as published by
  7. ## the Free Software Foundation, either version 3 of the License, or
  8. ## (at your option) any later version.
  9. ## GNU Emacs is distributed in the hope that it will be useful,
  10. ## but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. ## GNU General Public License for more details.
  13. ## You should have received a copy of the GNU General Public License
  14. ## along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
  15. ## Top-level targets.
  16. ## PDF files that are included with Emacs.
  17. all: refcards_pdf dired-refcards_pdf misc-refcards_pdf
  18. REFCARDS_PDF = refcard.pdf cs-refcard.pdf de-refcard.pdf fr-refcard.pdf \
  19. pl-refcard.pdf pt-br-refcard.pdf ru-refcard.pdf sk-refcard.pdf
  20. refcards_pdf: ${REFCARDS_PDF}
  21. refcards_ps: ${REFCARDS_PDF:.pdf=.ps}
  22. DIRED_REFCARDS_PDF = dired-ref.pdf cs-dired-ref.pdf fr-dired-ref.pdf \
  23. sk-dired-ref.pdf
  24. dired-refcards_pdf: ${DIRED_REFCARDS_PDF}
  25. dired-refcards_ps: ${DIRED_REFCARDS_PDF:.pdf=.ps}
  26. MISC_REFCARDS_PDF = calccard.pdf gnus-booklet.pdf gnus-refcard.pdf orgcard.pdf
  27. misc-refcards_pdf: ${MISC_REFCARDS_PDF}
  28. misc-refcards_ps: ${MISC_REFCARDS_PDF:.pdf=.ps}
  29. ## The following files are not included with Emacs.
  30. SURVIVAL_CARDS_PDF = survival.pdf cs-survival.pdf sk-survival.pdf
  31. survival-cards_pdf: ${SURVIVAL_CARDS_PDF}
  32. survival-cards_ps: ${SURVIVAL_CARDS_PDF:.pdf=.ps}
  33. VIPER_CARDS_PDF = vipcard.pdf viperCard.pdf
  34. viper-cards_pdf: ${VIPER_CARDS_PDF}
  35. viper-cards_ps: ${VIPER_CARDS_PDF:.pdf=.ps}
  36. ## PDF files.
  37. ## The page layouts (a4/letter) are written directly in the .tex files.
  38. cs-refcard.pdf cs-dired-ref.pdf cs-survival.pdf sk-refcard.pdf \
  39. sk-dired-ref.pdf sk-survival.pdf: %.pdf: %.tex
  40. if pdfcsplain --version > /dev/null 2> /dev/null; then \
  41. pdfcsplain $<; \
  42. else \
  43. csplain "\pdfoutput=1\input $<"; \
  44. fi
  45. ## Some versions of pdfmex seem to create dvi by default, hence output-format.
  46. pl-refcard.pdf: %.pdf: %.tex
  47. if ! kpsewhich -format=fmt mex > /dev/null && \
  48. ! pdfmex --version > /dev/null 2> /dev/null; then \
  49. echo "No mex format found."; false; \
  50. fi
  51. pdftex -output-format=pdf $<
  52. ru-refcard.pdf: %.pdf: %.tex
  53. pdflatex $<
  54. #gnus-logo.pdf: %.pdf: %.eps
  55. # ps2pdf $<
  56. gnus-refcard.pdf: %.pdf: %.tex gnus-logo.pdf
  57. pdflatex $<
  58. gnus-booklet.pdf: gnus-refcard.tex gnus-logo.pdf
  59. pdflatex -jobname=gnus-booklet '\def\booklettrue{}\def\letterpapertrue{}\input{gnus-refcard}'
  60. ## Everything not explicitly listed above.
  61. %.pdf: %.tex
  62. pdftex $<
  63. ## dvi files.
  64. cs-refcard.dvi cs-dired-ref.dvi cs-survival.dvi sk-refcard.dvi \
  65. sk-dired-ref.dvi sk-survival.dvi: %.dvi: %.tex
  66. csplain $<
  67. pl-refcard.dvi: %.dvi: %.tex
  68. if ! kpsewhich -format=fmt mex > /dev/null; then \
  69. echo "No mex format found."; false; \
  70. fi
  71. tex $<
  72. ru-refcard.dvi gnus-refcard.dvi: %.dvi: %.tex
  73. latex $<
  74. gnus-booklet.dvi: gnus-refcard.tex
  75. latex '\def\booklettrue{}\def\letterpapertrue{}\input{gnus-refcard}'
  76. mv gnus-refcard.dvi $@
  77. ## Everything not explicitly listed above.
  78. %.dvi: %.tex
  79. tex $<
  80. ## PostScript files.
  81. ## Note that some of the tex files (refcard, de-refcard, fr-refcard,
  82. ## pt-br-refcard) have settings for letter or a4 paper. Following are
  83. ## the default paper sizes (letter for English, A4 for translations).
  84. ## FIXME orgcard.ps does not fit on letter (see orgcard.tex).
  85. ## A4, landscape.
  86. de-refcard.ps fr-refcard.ps pt-br-refcard.ps orgcard.ps: %.ps: %.dvi
  87. dvips -t a4 -t landscape $< -o $@
  88. ## A4, portrait.
  89. cs-dired-ref.ps cs-refcard.ps cs-survival.ps fr-dired-ref.ps \
  90. pl-refcard.ps ru-refcard.ps \
  91. sk-dired-ref.ps sk-refcard.ps sk-survival.ps: %.ps: %.dvi
  92. dvips -t a4 $< -o $@
  93. ## letter, landscape.
  94. calccard.ps refcard.ps: %.ps: %.dvi
  95. dvips -t letter -t landscape $< -o $@
  96. ## letter, portrait.
  97. dired-ref.ps gnus-booklet.ps gnus-refcard.ps survival.ps vipcard.ps \
  98. viperCard.ps: %.ps: %.dvi
  99. dvips -t letter $< -o $@
  100. .PHONY: clean
  101. clean:
  102. -rm -f *.dvi *.log *.aux
  103. ### Makefile ends here