Revision: miles@gnu.org--gnu-2005/gnus--devo--0--patch-82
[gnus] / texi / Makefile.in
1 infodir = @info_dir@
2 prefix = @prefix@
3 srcdir = @srcdir@
4 subdir = texi
5 top_srcdir = @top_srcdir@
6
7 VPATH=$(srcdir)
8 TEXI2DVI=texi2dvi
9 TEXI2PDF=texi2pdf
10 MAKEINFO=@MAKEINFO@
11 EMACS=@EMACS@
12 EMACSCOMP=$(EMACS) -batch -q -no-site-file
13 EMACSINFO=$(EMACSCOMP) -l $(srcdir)/infohack.el -f batch-makeinfo
14 PDFLATEX=pdflatex
15 LATEX=@LATEX@
16 DVIPS=dvips
17 INSTALL = @INSTALL@
18 INSTALL_DATA = @INSTALL_DATA@
19 SHELL = /bin/sh
20 PAPERTYPE=a4
21 INFO_DEPS=gnus message emacs-mime sieve pgg sasl
22 REFCARD=gnus-refcard
23 LOGO=gnus-logo
24
25 all: $(INFO_DEPS)
26
27 most: texi2latex.elc latex latexps
28
29 .SUFFIXES: .texi .dvi .ps .pdf .latexi .dvi-x .pdf-x
30
31 .texi:
32         if test "x$(MAKEINFO)" != "xno" ; then \
33           LC_ALL=C $(MAKEINFO) -I $(srcdir) --enable-encoding -o $* $<; \
34         else \
35           rm -f $@; \
36           $(EMACSINFO) $<; \
37         fi
38
39 # Files included in gnus.texi
40 gnus.texi: gnus-faq.texi gnus-news.texi
41
42 # FIXME: A cvs commit script could automatically create it.
43 GNUS-NEWS:      gnus-news.texi gnus-news.el
44         $(EMACSCOMP) -l $(srcdir)/gnus-news.el -f batch-gnus-news $< $@
45         mv $@ ../$@
46
47 dvi: gnus.dvi message.dvi $(REFCARD).dvi emacs-mime.dvi sieve.dvi pgg.dvi sasl.dvi
48
49 pdf: gnus.pdf message.pdf $(REFCARD).pdf emacs-mime.pdf sieve.pdf pgg.pdf sasl.pdf
50
51 .texi.dvi :
52         sed -e '/@iflatex/,/@end iflatex/d' $< > gnustmp.texi 
53         $(TEXI2DVI) -I $(srcdir) gnustmp.texi
54         cp gnustmp.dvi $*.dvi
55         rm -f gnustmp.*
56
57 .dvi.ps :
58         TEXPICTS=$(srcdir) $(DVIPS) -t $(PAPERTYPE) -f $< > $@
59
60 .texi.pdf :
61         sed -e '/@iflatex/,/@end iflatex/d' $< > gnustmp.texi 
62         $(TEXI2PDF) -I $(srcdir) gnustmp.texi
63         cp gnustmp.pdf $*.pdf
64         rm -f gnustmp.*
65
66 $(LOGO).pdf:    $(LOGO).eps
67         epstopdf $< --outfile=$@
68
69 $(REFCARD).dvi: $(REFCARD).tex $(LOGO).eps
70         TEXINPUTS=$(srcdir):$$TEXINPUTS:: $(LATEX) $(REFCARD).tex
71
72 $(REFCARD).pdf: $(REFCARD).tex $(LOGO).pdf
73         TEXINPUTS=$(srcdir):$$TEXINPUTS:: $(PDFLATEX) $(REFCARD).tex
74
75 gnus-booklet.dvi: $(REFCARD).tex $(LOGO).eps
76         if [ "$(PAPERTYPE)" == a4 ]; then \
77           TEXINPUTS=$(srcdir):$$TEXINPUTS:: \
78           $(LATEX) '\def\booklettrue{}\input{$(REFCARD)}' && \
79           mv $(REFCARD).dvi $@ ;\
80         else \
81           TEXINPUTS=$(srcdir):$$TEXINPUTS:: \
82           $(LATEX) '\def\booklettrue{}\def\letterpapertrue{}\input{$(REFCARD)}' && \
83           mv $(REFCARD).dvi $@ ;\
84         fi
85
86 gnus-booklet.pdf: $(REFCARD).tex  $(LOGO).pdf
87         if [ "$(PAPERTYPE)" == a4 ]; then \
88           TEXINPUTS=$(srcdir):$$TEXINPUTS:: \
89           $(PDFLATEX) '\def\booklettrue{}\input{$(REFCARD)}' && \
90           mv -v $(REFCARD).pdf $@ ;\
91         else \
92           TEXINPUTS=$(srcdir):$$TEXINPUTS:: \
93           $(PDFLATEX) '\def\booklettrue{}\def\letterpapertrue{}\input{$(REFCARD)}' && \
94           mv -v $(REFCARD).pdf $@ ;\
95         fi
96
97 gnus-faq-full-update:  gnus-faq-clean gnus-faq.texi
98
99 gnus-faq.xml:
100         cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/gnus \
101           co -p gnus-faq/src/gnus-faq.xml > $@.tmp
102         head -n 1 $@.tmp | grep '^<.xml version' || \
103           { echo "Update of $@ failed."; : rm $@.tmp; exit 1; }
104         mv $@.tmp $@
105
106 gnus-faq.texi: gnus-faq.xml xml2texi.sh xml2texi.scm
107         ./xml2texi.sh $< $@.tmp
108         @echo
109 # FIXME: This should be done in xml2texi.scm or gnus-faq.xml should be
110 # changed:
111         sed '/[$$]Id:.*[$$]/d' < $@.tmp > $@
112
113 gnus-faq-clean:
114         rm -f gnus-faq.xml gnus-faq.*.tmp gnus-faq.texi
115
116 clean:
117         rm -f *.[cgk]idx *.aux *.cp *.cps *.dvi *.dvi-x *.fn *.ky       \
118         *.kys *.latexi *.log *.orig *.pdf *.pdf-x *.pg *.rej            \
119         *.tmplatexi *.toc *.tp *.vr gnus.*.bak gnus.[cgk]ind gnus.idx   \
120         gnus.ilg gnus.ind gnus.latexi*~* gnus.out gnus.tmplatexi1       \
121         gnustmp.texi picons.tex smiley.tex texput.log thumb*.png        \
122         thumbdta.tex xface.tex *.tpt gnus-manual-*.pdf gnus-manual-*.ps.gz
123
124 makeinfo:
125         LC_ALL=C makeinfo --enable-encoding -o gnus gnus.texi
126         LC_ALL=C makeinfo --enable-encoding -o message message.texi
127
128 texi2latex.elc: texi2latex.el
129         srcdir=$(srcdir)/../lisp $(EMACSCOMP) -l $(srcdir)/../lisp/dgnushack.el --eval '(byte-compile-file "$(srcdir)/texi2latex.el")'
130
131 latex: gnus.latexi gnus-faq.latexi message.latexi emacs-mime.latexi sieve.latexi pgg.latexi sasl.latexi gnus-news.latexi
132
133 gnus.latexi gnus-faq.latexi message.latexi emacs-mime.latexi sieve.latexi pgg.latexi sasl.latexi gnus-news.latexi: $(srcdir)/gnus.texi $(srcdir)/gnus-faq.texi $(srcdir)/message.texi $(srcdir)/emacs-mime.texi $(srcdir)/sieve.texi $(srcdir)/pgg.texi $(srcdir)/sasl.texi $(srcdir)/gnus-news.texi texi2latex.elc
134         srcdir=$(srcdir) $(EMACSCOMP) -l ./texi2latex.elc -f latexi-translate
135
136 .latexi.dvi-x:
137         make gnusconfig.tex
138         make tmps
139         rm -f gnus.aux gnus.toc
140         cp $< gnus.tmplatexi
141         TEXINPUTS=$(srcdir):$$TEXINPUTS $(LATEX) gnus.tmplatexi
142         $(srcdir)/splitindex
143         makeindex -o gnus.kind gnus.kidx
144         makeindex -o gnus.cind gnus.cidx
145         makeindex -o gnus.gind gnus.gidx
146         sed 's/\\char 5E\\relax {}/\\symbol{"5E}/' < gnus.kind > gnus.tmpkind
147         mv gnus.tmpkind gnus.kind
148         egrep -v "end\{document\}" $< > gnus.tmplatexi
149         cat $(srcdir)/postamble.tex >> gnus.tmplatexi
150         TEXINPUTS=$(srcdir):$$TEXINPUTS $(LATEX) gnus.tmplatexi
151         TEXINPUTS=$(srcdir):$$TEXINPUTS $(LATEX) gnus.tmplatexi
152         mv gnus.dvi $@
153
154 .latexi.pdf-x:
155         make gnusconfig.tex
156         make tmps
157         cd ps; make pdf
158         rm -f gnus.aux gnus.toc
159         cp $< gnus.tmplatexi
160         TEXINPUTS=$(srcdir):$$TEXINPUTS $(PDFLATEX) gnus.tmplatexi
161         $(srcdir)/splitindex
162         makeindex -o gnus.kind gnus.kidx
163         makeindex -o gnus.cind gnus.cidx
164         makeindex -o gnus.gind gnus.gidx
165         sed 's/\\char 5E\\relax {}/\\symbol{"5E}/' < gnus.kind > gnus.tmpkind
166         mv gnus.tmpkind gnus.kind
167         egrep -v "end\{document\}" $< > gnus.tmplatexi
168         cat $(srcdir)/postamble.tex >> gnus.tmplatexi
169         TEXINPUTS=$(srcdir):$$TEXINPUTS $(PDFLATEX) gnus.tmplatexi
170         #thumbpdf gnus.pdf
171         #TEXINPUTS=$(srcdir):$$TEXINPUTS $(PDFLATEX) gnus.tmplatexi
172         mv gnus.pdf $@
173
174 latexps: gnus.dvi-x
175         TEXPICTS=$(srcdir) $(DVIPS) -t a4 -f $< > gnus.ps
176
177 latexpdf: gnus.pdf-x
178         mv gnus.pdf-x gnus.pdf
179
180 gnus-manual-a4.latexi: gnus.latexi
181         cp $< $@
182
183 gnus-manual-standard.latexi: gnus.latexi
184         sed 's/,a4paper/,letterpaper/' $< > $@
185
186 gnus-manual-a4.ps.gz: gnus-manual-a4.dvi-x
187         TEXPICTS=$(srcdir) $(DVIPS) -t a4 -f $< | gzip -c > $@
188
189 gnus-manual-standard.ps.gz: gnus-manual-standard.dvi-x
190         TEXPICTS=$(srcdir) $(DVIPS) -t letter -f $< | gzip -c > $@
191
192 pdfs: gnus-manual-a4.pdf-x gnus-manual-standard.pdf-x
193         mv gnus-manual-a4.pdf-x gnus-manual-a4.pdf
194         mv gnus-manual-standard.pdf-x gnus-manual-standard.pdf
195
196 pss: latexps
197
198 complete: pss
199
200 psout: latexboth out
201
202 latexboth: gnus-manual-a4.ps.gz gnus-manual-standard.ps.gz
203
204 out:
205         scp gnus-manual-*.ps.gz gnus-manual-*.pdf www@quimby:html/gnus/documents
206
207 veryclean: clean
208         rm -f gnus.dvi gnus.ps texi2latex.elc
209         rm -f gnus-manual-a4.* gnus-manual-standard.*
210
211 distclean: veryclean
212         rm -f *.orig *.rej *.elc *~ gnus-[0-9] gnus-[0-9][0-9] Makefile
213         rm -f message-[0-9]
214         rm -f $(INFO_DEPS)
215         rm -f gnusconfig.tex
216         rm -f gnus-faq.xml gnus-faq.*.tmp
217
218 install: $(INFO_DEPS)
219         $(SHELL) $(top_srcdir)/mkinstalldirs $(infodir)
220         @list='$(INFO_DEPS)'; \
221         for file in $$list; do \
222           for ifile in `echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \
223             if test -f $$ifile; then \
224               echo " $(INSTALL_DATA) $$ifile $(infodir)/$$ifile"; \
225               $(INSTALL_DATA) $$ifile $(infodir)/$$ifile; \
226             else : ; fi; \
227           done; \
228         done
229         @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
230           list='$(INFO_DEPS)'; \
231           for file in $$list; do \
232             echo " install-info --info-dir=$(infodir) $(infodir)/$$file";\
233             install-info --info-dir=$(infodir) $(infodir)/$$file || :;\
234           done; \
235         else : ; fi
236
237 uninstall:
238         @list='$(INFO_DEPS)'; \
239         for file in $$list; do \
240           for ifile in `echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \
241             rm -f $(infodir)/$$ifile; \
242           done; \
243         done
244         @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
245           list='$(INFO_DEPS)'; \
246           for file in $$list; do \
247             echo " install-info --delete --info-dir=$(infodir) $(infodir)/$$file";\
248             install-info --delete --info-dir=$(infodir) $(infodir)/$$file || :;\
249           done; \
250         else : ; fi
251
252 tmps: 
253         cd ps; make all
254         for j in ps/picons-*.ps; do \
255                 i=ps/`basename $$j .ps`; \
256                 echo "\\gnuspicon{$$i}"; done > picons.tex
257         for j in ps/xface-*.ps; do \
258                 i=ps/`basename $$j .ps`; \
259                 if [ -n "$$a" ]; then a=""; echo "{$$i}"; else \
260                 a="h"; echo -n "\\gnusxface{$$i}"; fi done > xface.tex; \
261                 if [ -n "$$a" ]; then echo "{$$i}" >> xface.tex; fi
262         for j in ps/smiley-*.ps; do \
263                 i=ps/`basename $$j .ps`; \
264                 if [ -n "$$a" ]; then a=""; echo "{$$i}"; else \
265                 a="h"; echo -n "\\gnussmiley{$$i}"; fi done > smiley.tex; \
266                 if [ -n "$$a" ]; then echo "{$$i}" >> smiley.tex; fi
267 pspackage:
268         cd ps; make clean
269         tar czvf pspackage.tar.gz gnus-faq.texi gnus.texi herds misc pagestyle.sty picons pixidx.sty postamble.tex ps screen smilies splitindex texi2latex.el xface Makefile README etc
270
271 Makefile: $(srcdir)/Makefile.in ../config.status
272         cd .. \
273           && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
274
275 gnusconfig.tex: $(srcdir)/gnusconfig.tex.in ../config.status
276         cd .. \
277           && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
278
279 # Tell versions [3.59,3.63) of GNU make to not export all variables.
280 # Otherwise a system limit (for SysV at least) may be exceeded.
281 .NOEXPORT: