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