1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-21 10:24:55 +00:00

Cleanup for etc/refcards/Makefile and related items

* .bzrignore: Unignore etc/refcards/Makefile.

* make-dist: Do not distribute etc/refcards TeX intermediate files.

* Makefile.in (install-arch-indep):
Do not install etc/refcards TeX intermediate files.

* etc/refcards/Makefile: Rewrite to use portable Makefile syntax.
Add language-specific targets.
(distclean, extraclean): New rules.

*  etc/refcards/README: Add copyright and license.  Add Makefile details.
Mention http and FSF store versions.
This commit is contained in:
Glenn Morris 2013-08-14 23:31:14 -07:00
parent 555d556547
commit 4fa4485689
6 changed files with 350 additions and 91 deletions

View File

@ -1,3 +1,9 @@
2013-08-15 Glenn Morris <rgm@gnu.org>
* make-dist: Do not distribute etc/refcards TeX intermediate files.
* Makefile.in (install-arch-indep):
Do not install etc/refcards TeX intermediate files.
2013-08-14 Ulrich Müller <ulm@gentoo.org>
* configure.ac (EMACS_CONFIGURATION): Escape backslashes. (Bug#15091)

View File

@ -543,6 +543,11 @@ set_installuser=for installuser in $${LOGNAME} $${USERNAME} $${USER} \
## deleted the entire installed etc/ directory and recreated it.
## install-etcdoc installs the relevant DOC.
## Note that we install etc/refcards/*.ps if present.
## TODO we should compress these if GZIP_PROG is set.
## It would be simpler to have a separate install rule for etc/refcards
## (maybe move it to doc/refcards?).
## Note that the Makefiles in the etc directory are potentially useful
## in an installed Emacs, so should not be excluded.
@ -578,7 +583,12 @@ install-arch-indep: lisp leim install-info install-man ${INSTALL_ARCH_INDEP_EXTR
(cd $${dir}; tar -chf - . ) \
| (cd $${dest}; umask 022; \
tar -xvf - && cat > /dev/null) || exit 1; \
[ "$${dir}" != "${srcdir}/etc" ] || rm -f $${dest}/DOC* ; \
if [ "$${dir}" = "${srcdir}/etc" ]; then \
rm -f $${dest}/DOC* ; \
rm -f $${dest}/refcards/*.aux $${dest}/refcards/*.dvi; \
rm -f $${dest}/refcards/*.log; \
else true; \
fi; \
for subdir in `find $${dest} -type d -print` ; do \
chmod a+rx $${subdir} ; \
rm -f $${subdir}/.gitignore ; \

View File

@ -1,3 +1,9 @@
2013-08-15 Glenn Morris <rgm@gnu.org>
* refcards/Makefile: Rewrite to use portable Makefile syntax.
Add language-specific targets.
(distclean, extraclean): New rules.
2013-08-13 Glenn Morris <rgm@gnu.org>
* refcards/Makefile (all_pdf, all_ps, fr-survival.ps, dist):

View File

@ -17,128 +17,321 @@
## You should have received a copy of the GNU General Public License
## along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
### Commentary:
## Top-level targets.
## See README for details.
## PDF files that are included with Emacs.
all: refcards_pdf dired-refcards_pdf misc-refcards_pdf
PDF_ENGLISH = \
calccard.pdf \
dired-ref.pdf \
gnus-booklet.pdf \
gnus-refcard.pdf \
orgcard.pdf \
refcard.pdf \
survival.pdf \
vipcard.pdf \
viperCard.pdf
all_pdf: all survival-cards_pdf viper-cards_pdf
all_ps: refcards_ps dired-refcards_ps misc-refcards_ps survival-cards_ps \
viper-cards_ps
PDF_CZECH = \
cs-dired-ref.pdf \
cs-refcard.pdf \
cs-survival.pdf
REFCARDS_PDF = refcard.pdf cs-refcard.pdf de-refcard.pdf fr-refcard.pdf \
pl-refcard.pdf pt-br-refcard.pdf ru-refcard.pdf sk-refcard.pdf
refcards_pdf: ${REFCARDS_PDF}
refcards_ps: ${REFCARDS_PDF:.pdf=.ps}
PDF_FRENCH = \
fr-dired-ref.pdf \
fr-refcard.pdf \
fr-survival.pdf \
DIRED_REFCARDS_PDF = dired-ref.pdf cs-dired-ref.pdf fr-dired-ref.pdf \
sk-dired-ref.pdf
dired-refcards_pdf: ${DIRED_REFCARDS_PDF}
dired-refcards_ps: ${DIRED_REFCARDS_PDF:.pdf=.ps}
PDF_GERMAN = de-refcard.pdf
MISC_REFCARDS_PDF = calccard.pdf gnus-booklet.pdf gnus-refcard.pdf orgcard.pdf
misc-refcards_pdf: ${MISC_REFCARDS_PDF}
misc-refcards_ps: ${MISC_REFCARDS_PDF:.pdf=.ps}
PDF_POLISH = pl-refcard.pdf
PDF_PORTUGUESE = pt-br-refcard.pdf
PDF_RUSSIAN = ru-refcard.pdf
PDF_SLOVAKIAN = \
sk-dired-ref.pdf \
sk-refcard.pdf \
sk-survival.pdf
PDF_TARGETS = $(PDF_ENGLISH) $(PDF_CZECH) $(PDF_FRENCH) $(PDF_GERMAN) \
$(PDF_POLISH) $(PDF_PORTUGUESE) $(PDF_RUSSIAN) $(PDF_SLOVAKIAN)
PS_ENGLISH = \
calccard.ps \
dired-ref.ps \
gnus-booklet.ps \
gnus-refcard.ps \
orgcard.ps \
refcard.ps \
survival.ps \
vipcard.ps \
viperCard.ps
PS_CZECH = \
cs-dired-ref.ps \
cs-refcard.ps \
cs-survival.ps
PS_FRENCH = \
fr-dired-ref.ps \
fr-refcard.ps \
fr-survival.ps \
PS_GERMAN = de-refcard.ps
PS_POLISH = pl-refcard.ps
PS_PORTUGUESE = pt-br-refcard.ps
PS_RUSSIAN = ru-refcard.ps
PS_SLOVAKIAN = \
sk-dired-ref.ps \
sk-refcard.ps \
sk-survival.ps
PS_TARGETS = $(PS_ENGLISH) $(PS_CZECH) $(PS_FRENCH) $(PS_GERMAN) \
$(PS_POLISH) $(PS_PORTUGUESE) $(PS_RUSSIAN) $(PS_SLOVAKIAN)
## The following files are not included with Emacs.
SURVIVAL_CARDS_PDF = survival.pdf cs-survival.pdf fr-survival.pdf sk-survival.pdf
survival-cards_pdf: ${SURVIVAL_CARDS_PDF}
survival-cards_ps: ${SURVIVAL_CARDS_PDF:.pdf=.ps}
## For emacsver.tex.
ENVADD = TEXINPUTS=".:$(TEXINPUTS)"
VIPER_CARDS_PDF = vipcard.pdf viperCard.pdf
viper-cards_pdf: ${VIPER_CARDS_PDF}
viper-cards_ps: ${VIPER_CARDS_PDF:.pdf=.ps}
ENVADD = TEXINPUTS=".:"
.PHONY: all pdf ps
## PDF files.
all: pdf
pdf: $(PDF_TARGETS)
ps: $(PS_TARGETS)
## The page layouts (a4/letter) are written directly in the .tex files.
cs-refcard.pdf cs-dired-ref.pdf cs-survival.pdf sk-refcard.pdf \
sk-dired-ref.pdf sk-survival.pdf: %.pdf: %.tex emacsver.tex
if pdfcsplain --version > /dev/null 2> /dev/null; then \
${ENVADD} pdfcsplain $<; \
.PHONY: english czech french german polish portuguese russian slovakian
english: $(PDF_ENGLISH)
czech: $(PDF_CZECH)
french: $(PDF_FRENCH)
german: $(PDF_GERMAN)
polish: $(PDF_POLISH)
portuguese: $(PDF_PORTUGUESE)
russian: $(PDF_RUSSIAN)
slovakian: $(PDF_SLOVAKIAN)
.PHONY: english-ps czech-ps french-ps german-ps polish-ps portuguese-ps russian-ps slovakian-ps
english-ps: $(PS_ENGLISH)
czech-ps: $(PS_CZECH)
french-ps: $(PS_FRENCH)
german-ps: $(PS_GERMAN)
polish-ps: $(PS_POLISH)
portuguese-ps: $(PS_PORTUGUESE)
russian-ps: $(PS_RUSSIAN)
slovakian-ps: $(PS_SLOVAKIAN)
## Default for file that do not use a different paper size.
.SUFFIXES: .ps .dvi
.dvi.ps:
dvips -t letter -o $@ $<
make_cs=if pdfcsplain --version > /dev/null 2> /dev/null; then \
$(ENVADD) pdfcsplain $$input; \
else \
${ENVADD} csplain "\pdfoutput=1\input $<"; \
$(ENVADD) csplain "\pdfoutput=1\input $$input"; \
fi
## For pdf output, the page layouts (a4/letter) are written directly
## in the .tex files.
## For PostScript output, note that some of the tex files (refcard,
## de-refcard, fr-refcard, pt-br-refcard) have settings for letter or
## a4 paper. The Following are the default paper sizes (letter for English,
## A4 for translations).
## FIXME orgcard.ps does not fit on letter (see orgcard.tex).
## A4, landscape: de-refcard, fr-refcard, pt-br-refcard orgcard
## A4, portrait: cs-*, fr-dired-ref, sk-*, pl-refcard, ru-refcard
## Letter, landscape: calccard, refcard
## Letter, portrait (suffix rule): diref-ref, gnus-*, survival, vip*
calccard_deps = calccard.tex emacsver.tex pdflayout.sty
calccard.pdf: $(calccard_deps)
$(ENVADD) pdftex calccard.tex
calccard.dvi: $(calccard_deps)
$(ENVADD) tex calccard.tex
calccard.ps: calccard.dvi
dvips -t letter -t landscape -o $@ calccard.dvi
cs_dired_ref_deps = cs-dired-ref.tex emacsver.tex pdflayout.sty
cs-dired-ref.pdf: $(cs_dired_ref_deps)
input=cs-dired-ref.tex; $(make_cs)
cs-dired-ref.dvi: $(cs_dired_ref_deps)
$(ENVADD) csplain cs-dired-ref.tex
cs-dired-ref.ps: cs-dired-ref.dvi
dvips -t a4 -o $@ cs-dired-ref.dvi
cs_refcard_deps = cs-refcard.tex emacsver.tex pdflayout.sty
cs-refcard.pdf: $(cs_refcard_deps)
input=cs-refcard.tex; $(make_cs)
cs-refcard.dvi: $(cs_refcard_deps)
$(ENVADD) csplain cs-refcard.tex
cs-refcard.ps: cs-refcard.dvi
dvips -t a4 -o $@ cs-refcard.dvi
cs_survival_deps = cs-survival.tex emacsver.tex pdflayout.sty
cs-survival.pdf: $(cs_survival_deps)
input=cs-survival.tex; $(make_cs)
cs-survival.dvi: $(cs_survival_deps)
$(ENVADD) csplain cs-survival.tex
cs-survival.ps: cs-survival.dvi
dvips -t a4 -o $@ cs-survival.dvi
de_refcard_deps = de-refcard.tex emacsver.tex pdflayout.sty
de-refcard.pdf: $(de_refcard_deps)
$(ENVADD) pdftex de-refcard.tex
de-refcard.dvi: $(de_refcard_deps)
$(ENVADD) tex de-refcard.tex
de-refcard.ps: de-refcard.dvi
dvips -t a4 -t landscape -o $@ de-refcard.dvi
dired_ref_deps = dired-ref.tex emacsver.tex pdflayout.sty
dired-ref.pdf: $(dired_ref_deps)
$(ENVADD) pdftex dired-ref.tex
dired-ref.dvi: $(dired_ref_deps)
$(ENVADD) tex dired-ref.tex
fr_dired_ref_deps = fr-dired-ref.tex emacsver.tex pdflayout.sty
fr-dired-ref.pdf: $(fr_dired_ref_deps)
$(ENVADD) pdftex fr-dired-ref.tex
fr-dired-ref.dvi: $(fr_dired_ref_deps)
$(ENVADD) tex fr-dired-ref.tex
fr-dired-ref.ps: fr-dired-ref.dvi
dvips -t a4 -o $@ fr-dired-ref.dvi
fr_refcard_deps = fr-refcard.tex emacsver.tex pdflayout.sty
fr-refcard.pdf: $(fr_refcard_deps)
$(ENVADD) pdftex fr-refcard.tex
fr-refcard.dvi: $(fr_refcard_deps)
$(ENVADD) tex fr-refcard.tex
fr-refcard.ps: fr-refcard.dvi
dvips -t a4 -t landscape -o $@ fr-refcard.dvi
fr_survival_deps = fr-survival.tex emacsver.tex pdflayout.sty
fr-survival.pdf: $(fr_survival_deps)
$(ENVADD) pdftex fr-survival.tex
fr-survival.dvi: $(fr_survival_deps)
$(ENVADD) tex fr-survival.tex
fr-survival.ps: fr-survival.dvi
dvips -t a4 -o $@ fr-survival.dvi
## No dependency on emacsver.tex, pdflayout.sty; no need for ENVADD.
gnus_booklet_deps = gnus-refcard.tex gnus-logo.pdf
gnus-booklet.pdf: $(gnus_booklet_deps)
pdflatex -jobname=gnus-booklet '\def\booklettrue{}\def\letterpapertrue{}\input{gnus-refcard}'
gnus-booklet.dvi: gnus-refcard.tex gnus-logo.eps
latex '\def\booklettrue{}\def\letterpapertrue{}\input{gnus-refcard}'
mv gnus-refcard.dvi $@
###gnus-logo.pdf: gnus-logo.eps
### ps2pdf gnus-logo.eps
## No dependency on emacsver.tex, pdflayout.sty; no need for ENVADD.
gnus_refcard_deps = gnus-refcard.tex gnus-logo.pdf
gnus-refcard.pdf: $(gnus_refcard_deps)
pdflatex gnus-refcard.tex
gnus-refcard.dvi: $(gnus_refcard_deps)
latex gnus-refcard.tex
orgcard_deps = orgcard.tex emacsver.tex pdflayout.sty
orgcard.pdf: $(orgcard_deps)
$(ENVADD) pdftex orgcard.tex
orgcard.dvi: $(orgcard_deps)
$(ENVADD) tex orgcard.tex
orgcard.ps: orgcard.dvi
dvips -t a4 -t landscape -o $@ orgcard.dvi
pl_refcard_deps = pl-refcard.tex emacsver.tex pdflayout.sty
## Some versions of pdfmex seem to create dvi by default, hence output-format.
pl-refcard.pdf: %.pdf: %.tex emacsver.tex
pl-refcard.pdf: $(pl_refcard_deps)
if ! kpsewhich -format=fmt mex > /dev/null && \
! pdfmex --version > /dev/null 2> /dev/null; then \
echo "No mex format found."; false; \
fi
${ENVADD} pdftex -output-format=pdf $<
ru-refcard.pdf: %.pdf: %.tex
pdflatex $<
#gnus-logo.pdf: %.pdf: %.eps
# ps2pdf $<
gnus-refcard.pdf: %.pdf: %.tex gnus-logo.pdf
pdflatex $<
gnus-booklet.pdf: gnus-refcard.tex gnus-logo.pdf
pdflatex -jobname=gnus-booklet '\def\booklettrue{}\def\letterpapertrue{}\input{gnus-refcard}'
## Everything not explicitly listed above.
%.pdf: %.tex emacsver.tex
${ENVADD} pdftex $<
## dvi files.
cs-refcard.dvi cs-dired-ref.dvi cs-survival.dvi sk-refcard.dvi \
sk-dired-ref.dvi sk-survival.dvi: %.dvi: %.tex emacsver.tex
${ENVADD} csplain $<
pl-refcard.dvi: %.dvi: %.tex emacsver.tex
$(ENVADD) pdftex -output-format=pdf pl-refcard.tex
pl-refcard.dvi: $(pl_refcard_deps)
if ! kpsewhich -format=fmt mex > /dev/null; then \
echo "No mex format found."; false; \
fi
${ENVADD} tex $<
$(ENVADD) tex pl-refcard.tex
pl-refcard.ps: pl-refcard.dvi
dvips -t a4 -o $@ pl-refcard.dvi
ru-refcard.dvi gnus-refcard.dvi: %.dvi: %.tex
latex $<
pt_br_refcard_deps = pt-br-refcard.tex emacsver.tex pdflayout.sty
pt-br-refcard.pdf: $(pt_br_refcard_deps)
$(ENVADD) pdftex pt-br-refcard.tex
pt-br-refcard.dvi: $(pt_br_refcard_deps)
$(ENVADD) tex pt-br-refcard.tex
pt-br-refcard.ps: pt-br-refcard.dvi
dvips -t a4 -t landscape -o $@ pt-br-refcard.dvi
gnus-booklet.dvi: gnus-refcard.tex
latex '\def\booklettrue{}\def\letterpapertrue{}\input{gnus-refcard}'
mv gnus-refcard.dvi $@
refcard_deps = refcard.tex emacsver.tex pdflayout.sty
refcard.pdf: $(refcard_deps)
$(ENVADD) pdftex refcard.tex
refcard.dvi: $(refcard_deps)
$(ENVADD) tex refcard.tex
refcard.ps: refcard.dvi
dvips -t letter -t landscape -o $@ refcard.dvi
## Everything not explicitly listed above.
%.dvi: %.tex emacsver.tex
${ENVADD} tex $<
## No dependency on emacsver.tex, pdflayout.sty; no need for ENVADD.
ru_refcard_deps = ru-refcard.tex
ru-refcard.pdf: $(ru_refcard_deps)
pdflatex ru-refcard.tex
ru-refcard.dvi: $(ru_refcard_deps)
latex ru-refcard.tex
ru-refcard.ps: ru-refcard.dvi
dvips -t a4 -o $@ ru-refcard.dvi
sk_dired_ref_deps = sk-dired-ref.tex emacsver.tex pdflayout.sty
sk-dired-ref.pdf: $(sk_dired_ref_deps)
input=sk-dired-ref.tex; $(make_cs)
sk-dired-ref.dvi: $(sk_dired_ref_deps)
$(ENVADD) csplain sk-dired-ref.tex
sk-dired-ref.ps: sk-dired-ref.dvi
dvips -t a4 -o $@ sk-dired-ref.dvi
## PostScript files.
sk_refcard_deps = sk-refcard.tex emacsver.tex pdflayout.sty
sk-refcard.pdf: $(sk_refcard_deps)
input=sk-refcard.tex; $(make_cs)
sk-refcard.dvi: $(sk_refcard_deps)
$(ENVADD) csplain sk-refcard.tex
sk-refcard.ps: sk-refcard.dvi
dvips -t a4 -o $@ sk-refcard.dvi
## Note that some of the tex files (refcard, de-refcard, fr-refcard,
## pt-br-refcard) have settings for letter or a4 paper. Following are
## the default paper sizes (letter for English, A4 for translations).
## FIXME orgcard.ps does not fit on letter (see orgcard.tex).
sk_survival_deps = sk-survival.tex emacsver.tex pdflayout.sty
sk-survival.pdf: $(sk_survival_deps)
input=sk-survival.tex; $(make_cs)
sk-survival.dvi: $(sk_survival_deps)
$(ENVADD) csplain sk-survival.tex
sk-survival.ps: sk-survival.dvi
dvips -t a4 -o $@ sk-survival.dvi
## A4, landscape.
de-refcard.ps fr-refcard.ps fr-survival.ps pt-br-refcard.ps orgcard.ps: %.ps: %.dvi
dvips -t a4 -t landscape $< -o $@
survival_deps = survival.tex emacsver.tex pdflayout.sty
survival.pdf: $(survival_deps)
$(ENVADD) pdftex survival.tex
survival.dvi: $(survival_deps)
$(ENVADD) tex survival.tex
## A4, portrait.
cs-dired-ref.ps cs-refcard.ps cs-survival.ps fr-dired-ref.ps \
pl-refcard.ps ru-refcard.ps \
sk-dired-ref.ps sk-refcard.ps sk-survival.ps: %.ps: %.dvi
dvips -t a4 $< -o $@
vipcard_deps = vipcard.tex emacsver.tex pdflayout.sty
vipcard.pdf: $(vipcard_deps)
$(ENVADD) pdftex vipcard.tex
vipcard.dvi: $(vipcard_deps)
$(ENVADD) tex vipcard.tex
## letter, landscape.
calccard.ps refcard.ps: %.ps: %.dvi
dvips -t letter -t landscape $< -o $@
## letter, portrait.
dired-ref.ps gnus-booklet.ps gnus-refcard.ps survival.ps vipcard.ps \
viperCard.ps: %.ps: %.dvi
dvips -t letter $< -o $@
vipercard_deps = viperCard.tex emacsver.tex pdflayout.sty
viperCard.pdf: $(vipercard_deps)
$(ENVADD) pdftex viperCard.tex
viperCard.dvi: $(vipercard_deps)
$(ENVADD) tex viperCard.tex
.PHONY: clean
@ -146,6 +339,13 @@ viperCard.ps: %.ps: %.dvi
clean:
-rm -f *.dvi *.log *.aux
distclean: clean
## This should really by maintainer-clean, but the handling of the
## refcards is funny. So abuse extraclean for this.
extraclean: clean
-rm -f $(PDF_TARGETS) $(PS_TARGETS)
## For the Emacs website.
dist:
rm -rf emacs-refcards

View File

@ -1,5 +1,11 @@
Copyright (C) 2013 Free Software Foundation, Inc.
See the end of the file for license conditions.
REFERENCE CARDS FOR GNU EMACS
To generate these refcards, you need to install the TeX document
production system. For example, http://www.tug.org/texlive/ .
production system. For example, <http://www.tug.org/texlive/>.
All modern GNU/Linux distributions provide TeX packages, so the
easiest way is just to install those. Your distribution may have
@ -7,7 +13,18 @@ split some of the files needed to process non-English output into
separate, optional packages such as: texlive-lang-cyrillic,
texlive-lang-czechslovak, texlive-lang-german, and texlive-lang-polish.
Type `make all' (or `make pdf') to generate PDF versions of all the cards.
For PostScript format, use `make ps'.
To only generate the cards for a specific language, use e.g.
`make french' or `make french-ps'. As mentioned above, you may need
to install extra TeX packages for some languages.
PDF and PS copies of these cards are also available at
<http://www.gnu.org/software/emacs/refcards>. The FSF online
store <http://shop.fsf.org/> sometimes has printed copies for sale.
COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES
The file gnus-logo.eps contains copyright and license information, but
@ -17,3 +34,20 @@ File: gnus-logo.eps, gnus-logo.pdf
Author: Luis Fernandes <elf@ee.ryerson.ca>
Copyright (C) 2001-2013 Free Software Foundation, Inc.
License: GNU General Public License version 3 or later (see COPYING)
This file is part of GNU Emacs.
GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.

View File

@ -476,6 +476,9 @@ echo "Making links to \`etc' and its subdirectories"
for f in `find etc -type f`; do
case $f in
etc/DOC*|etc/*.pyc) continue ;;
## Arguably we should not exclude *.ps.
etc/refcards/*.aux|etc/refcards/*.dvi|etc/refcards/*.log|etc/refcards/*.ps)
continue ;;
esac
ln $f $tempdir/$f
done