Don't use dangling elses.
[s-roff.git] / doc / Makefile.sub
blob0aa50b0f0aac72d4b789be815fdd6a61915492e2
1 # Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007
2 #   Free Software Foundation, Inc.
3 #      Written by Werner Lemberg <wl@gnu.org>
4
5 # This file is part of groff.
6
7 # groff is free software; you can redistribute it and/or modify it under
8 # the terms of the GNU General Public License as published by the Free
9 # Software Foundation; either version 2, or (at your option) any later
10 # version.
11
12 # groff is distributed in the hope that it will be useful, but WITHOUT ANY
13 # WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15 # for more details.
16
17 # You should have received a copy of the GNU General Public License along
18 # with groff; see the file COPYING.  If not, write to the Free Software
19 # Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA.
21 # These may be overridden if cross-compiling.
22 GROFFBIN=$(top_builddir)/src/roff/groff/groff
23 GROFF_BIN_PATH=`echo $(groff_bin_dirs) | sed -e 's|  *|$(SH_SEP)|g'`
25 groff_bin_dirs=\
26   $(top_builddir)/src/roff/groff \
27   $(top_builddir)/src/roff/troff \
28   $(top_builddir)/src/preproc/pic \
29   $(top_builddir)/src/preproc/eqn \
30   $(top_builddir)/src/preproc/tbl \
31   $(top_builddir)/src/preproc/grn \
32   $(top_builddir)/src/preproc/refer \
33   $(top_builddir)/src/preproc/soelim \
34   $(top_builddir)/src/preproc/html \
35   $(top_builddir)/src/devices/grops \
36   $(top_builddir)/src/devices/grohtml
38 FFLAG=-F$(top_builddir)/font -F$(top_srcdir)/font
39 TFLAG=-M$(top_builddir)/tmac -M$(top_srcdir)/tmac
41 GROFF=\
42   GROFF_COMMAND_PREFIX=''; \
43   export GROFF_COMMAND_PREFIX; \
44   GROFF_BIN_PATH=$(GROFF_BIN_PATH); \
45   export GROFF_BIN_PATH; \
46   sed -e "s;@VERSION@;$(version)$(revision);" $< \
47   | $(GROFFBIN) $(TFLAG) $(FFLAG) -Upet -ww
49 DOCFILES=\
50   meref.me \
51   meintro.me \
52   pic.ms
54 PROCESSEDDOCFILES=\
55   meref.ps \
56   meintro.ps \
57   pic.ps
59 HTMLDOCFILES=\
60   pic.html
62 HTMLDOCFILESALL=\
63   pic*.html
65 HTMLDOCIMAGEFILES=\
66   pic*
68 EXAMPLEFILES=\
69   webpage.ms \
70   groff.css \
71   grnexmpl.g \
72   grnexmpl.me
74 PROCESSEDEXAMPLEFILES=\
75   webpage.ps \
76   grnexmpl.ps \
77   gnu.eps
79 HTMLEXAMPLEFILES=\
80   webpage.html
82 HTMLEXAMPLEFILESALL=\
83   webpage*.html
85 HTMLEXAMPLEIMAGEFILES=\
86   webpage*
88 imagedir=img
89 htmldocimagedir=$(htmldocdir)/$(imagedir)
90 exampleimagedir=$(exampledir)/$(imagedir)
92 CLEANADD=\
93   $(PROCESSEDDOCFILES) \
94   $(PROCESSEDEXAMPLEFILES) \
95   $(HTMLEXAMPLEFILESALL) \
96   $(HTMLDOCFILESALL) \
97   groff.aux groff.cp* groff.dvi groff.es* groff.fn* groff.html groff.ky* \
98   groff.log groff.ma* groff.op* groff.pdf groff.pg* groff.ps groff.rq* \
99   groff.st* groff.toc groff.tp groff.vr* \
100   examples.stamp
102 CLEANDIRADD=\
103   $(imagedir)
105 CLEANNOTSRCDIRADD=\
106   groff.css \
107   grnexmpl.g \
108   groff \
109   groff-* \
110   gnu.eps \
111   gnu.png
113 .SUFFIXES: .me .ms .ps .html
115 # For simplicity, we always call grn and eqn.
116 .me.ps:
117         $(GROFF) -Tps -ge -me >$@
119 .ms.html:
120         $(GROFF) -P-p -P-b -P-I`basename $< | sed -e 's|.ms$$||'` \
121                  -P-D$(imagedir) -P-V -Thtml -ms >$@
122 .ms.ps:
123         $(GROFF) -Tps -ms -mwww >$@
126 all: groff.info $(PROCESSEDDOCFILES) prepare_examples \
127      $(PROCESSEDEXAMPLEFILES) $(make_html)
129 html: $(HTMLDOCFILES) $(HTMLEXAMPLEFILES)
131 prepare_examples: examples.stamp
133 examples.stamp: grnexmpl.g groff.css gnu.eps
134         test -f grnexmpl.g || cp $(srcdir)/grnexmpl.g .
135         test -f groff.css || cp $(srcdir)/groff.css .
136         if test ! -f gnu.eps; then \
137           if test -f $(srcdir)/gnu.eps; then \
138             cp $(srcdir)/gnu.eps .; \
139           elif test -f $(top_builddir)/contrib/pdfmark/gnu.eps; then \
140             cp $(top_builddir)/contrib/pdfmark/gnu.eps .; \
141           fi; \
142         fi
143         echo timestamp > $@
145 groff.info: groff.texinfo
146         $(MAKEINFO) --enable-encoding -I$(srcdir) $(srcdir)/groff.texinfo
148 gnu.eps: gnu.xpm
149         xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | \
150           $(pnmtops_nosetpage) -noturn -rle >$@
152 gnu.png: gnu.xpm
153         xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | pnmtopng >$@
155 pic.html: pic.ms
156         $(GROFF) -P-p -P-I`basename $< | sed -e 's|.ms$$||'` \
157                  -P-D$(imagedir) -P-j`basename $< | sed -e 's|.ms$$||'` \
158                  -Thtml -P-V -ms >$@
160 webpage.html: webpage.ms gnu.png groff.css
161         $(GROFF) -P-j`basename $< | sed -e 's|.ms$$||'` \
162                  -P-nrpb -P-I`basename $< | sed -e 's|.ms$$||'` \
163                  -P-D$(imagedir) -Thtml -ms >$@
165 webpage.ps: gnu.eps
167 grnexmpl.ps: grnexmpl.me grnexmpl.g
169 distfiles: groff.info gnu.eps gnu.png
171 install_data: groff.info $(DOCFILES) $(PROCESSEDDOCFILES) $(make_install_html) \
172               $(EXAMPLEFILES) $(PROCESSEDEXAMPLEFILES)
173         -test -d $(DESTDIR)$(infodir) || $(mkinstalldirs) $(DESTDIR)$(infodir)
174 # Prefer info files in builddir over srcdir; we test for
175 # the existence of `groff.info'.
176         d=.; \
177           test -f "groff.info" || d=$(srcdir); \
178           for p in $$d/groff.info `ls $$d/groff.info*`; do \
179             f=`basename $$p`; \
180             rm -f $(DESTDIR)$(infodir)/$$f; \
181             $(INSTALL_DATA) $$p $(DESTDIR)$(infodir)/$$f; \
182           done
183         $(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) \
184           $(DESTDIR)$(infodir)/groff.info
185         -test -d $(DESTDIR)$(docdir) || $(mkinstalldirs) $(DESTDIR)$(docdir)
186         for f in $(DOCFILES); do \
187           rm -f $(DESTDIR)$(docdir)/$$f; \
188           $(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(docdir)/$$f; \
189         done
190         for f in $(PROCESSEDDOCFILES); do \
191           rm -f $(DESTDIR)$(docdir)/$$f; \
192           $(INSTALL_DATA) $$f $(DESTDIR)$(docdir)/$$f; \
193         done
194         -test -d $(DESTDIR)$(exampledir) \
195           || $(mkinstalldirs) $(DESTDIR)$(exampledir)
196         for f in $(EXAMPLEFILES); do \
197           rm -f $(DESTDIR)$(exampledir)/$$f; \
198           $(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(exampledir)/$$f; \
199         done
200         for f in $(PROCESSEDEXAMPLEFILES); do \
201           rm -f $(DESTDIR)$(exampledir)/$$f; \
202           $(INSTALL_DATA) $$f $(DESTDIR)$(exampledir)/$$f; \
203         done
205 install_html: $(HTMLDOCFILES) $(HTMLEXAMPLEFILES)
206         -test -d $(DESTDIR)$(htmldocdir) \
207           || $(mkinstalldirs) $(DESTDIR)$(htmldocdir)
208         for f in `ls $(HTMLDOCFILESALL)`; do \
209           rm -f $(DESTDIR)$(htmldocdir)/$$f; \
210           $(INSTALL_DATA) $$f $(DESTDIR)$(htmldocdir)/$$f; \
211         done
212         -test -d $(DESTDIR)$(htmldocimagedir) \
213           || $(mkinstalldirs) $(DESTDIR)$(htmldocimagedir)
214         rm -f $(DESTDIR)$(htmldocimagedir)/$(HTMLDOCIMAGEFILES)
215         $(INSTALL_DATA) $(imagedir)/$(HTMLDOCIMAGEFILES) \
216           $(DESTDIR)$(htmldocimagedir)
217         -test -d $(DESTDIR)$(exampledir) \
218           || $(mkinstalldirs) $(DESTDIR)$(exampledir)
219         for f in `ls $(HTMLEXAMPLEFILESALL)`; do \
220           rm -f $(DESTDIR)$(exampledir)/$$f; \
221           $(INSTALL_DATA) $$f $(DESTDIR)$(exampledir)/$$f; \
222         done
223         -test -d $(DESTDIR)$(exampleimagedir) \
224           || $(mkinstalldirs) $(DESTDIR)$(exampleimagedir)
225         rm -f $(DESTDIR)$(exampleimagedir)/$(HTMLEXAMPLEIMAGEFILES)
226         $(INSTALL_DATA) $(imagedir)/$(HTMLEXAMPLEIMAGEFILES) \
227           $(DESTDIR)$(exampleimagedir)
229 uninstall_sub:
230         -for f in groff `ls groff.info*`; do \
231           rm -f $(DESTDIR)$(infodir)/$$f; \
232         done
233         $(INSTALL_INFO) --remove --info-dir=$(DESTDIR)$(infodir) \
234           $(DESTDIR)$(infodir)/groff.info
235         -for f in $(DOCFILES) $(PROCESSEDDOCFILES); do \
236           rm -f $(DESTDIR)$(docdir)/$$f; \
237         done
238         -for f in `ls $(HTMLDOCFILESALL)`; do \
239           rm -f $(DESTDIR)$(htmldocdir)/$$f; \
240         done
241         -rm -f $(DESTDIR)$(htmldocimagedir)/$(HTMLDOCIMAGEFILES)
242         -rmdir $(DESTDIR)$(htmldocimagedir)
243         -for f in $(EXAMPLEFILES) $(PROCESSEDEXAMPLEFILES) \
244                   `ls $(HTMLEXAMPLEFILESALL)`; do \
245           rm -f $(DESTDIR)$(exampledir)/$$f; \
246         done
247         -rm -f $(DESTDIR)$(exampleimagedir)/$(HTMLEXAMPLEIMAGEFILES)
248         -rmdir $(DESTDIR)$(exampleimagedir)