* doc/Makefile.sub (CLEANADD): Add `groff.html'.
[s-roff.git] / doc / Makefile.sub
blobf7e85b08dfb37c5f2f9943b8b96a9923fe15688f
1 # Copyright (C) 2002, 2003, 2004, 2005 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, 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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 # Since info files are distributed within the groff package, no
25 # autoconf test for the makeinfo binary is done.
26 MAKEINFO=makeinfo
28 groff_bin_dirs=\
29   $(top_builddir)/src/roff/groff \
30   $(top_builddir)/src/roff/troff \
31   $(top_builddir)/src/preproc/pic \
32   $(top_builddir)/src/preproc/eqn \
33   $(top_builddir)/src/preproc/tbl \
34   $(top_builddir)/src/preproc/grn \
35   $(top_builddir)/src/preproc/refer \
36   $(top_builddir)/src/preproc/soelim \
37   $(top_builddir)/src/preproc/html \
38   $(top_builddir)/src/devices/grops \
39   $(top_builddir)/src/devices/grohtml
41 FFLAG=-F$(top_builddir)/font -F$(top_srcdir)/font
42 TFLAG=-M$(top_builddir)/tmac -M$(top_srcdir)/tmac
44 GROFF=\
45   GROFF_COMMAND_PREFIX=''; \
46   export GROFF_COMMAND_PREFIX; \
47   GROFF_BIN_PATH=$(GROFF_BIN_PATH); \
48   export GROFF_BIN_PATH; \
49   sed -e "s;@VERSION@;$(version)$(revision);" $< \
50   | $(GROFFBIN) $(TFLAG) $(FFLAG) -Upet -ww
52 DOCFILES=\
53   meref.me \
54   meintro.me \
55   pic.ms
57 PROCESSEDDOCFILES=\
58   meref.ps \
59   meintro.ps \
60   pic.ps
62 HTMLDOCFILES=\
63   pic.html
65 HTMLDOCFILESALL=\
66   pic*.html
68 HTMLDOCIMAGEFILES=\
69   pic*
71 EXAMPLEFILES=\
72   webpage.ms \
73   groff.css \
74   grnexmpl.g \
75   grnexmpl.me
77 PROCESSEDEXAMPLEFILES=\
78   webpage.ps \
79   grnexmpl.ps
81 HTMLEXAMPLEFILES=\
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   $(HTMLEXAMPLEFILES) \
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*
100 CLEANDIRADD=\
101   $(imagedir)
103 CLEANNOTSRCDIRADD=\
104   groff.css \
105   grnexmpl.g \
106   groff \
107   groff-* \
108   gnu.eps \
109   gnu.png
111 .SUFFIXES: .me .ms .ps .html
113 # For simplicity, we always call grn and eqn.
114 .me.ps:
115         $(GROFF) -Tps -ge -me >$@
117 .ms.html:
118         $(GROFF) -P-p -P-b -P-I`basename $< | sed -e 's|.ms$$||'` \
119                  -P-D$(imagedir) -Thtml -ms >$@
120 .ms.ps:
121         $(GROFF) -Tps -ms -mwww >$@
124 all: groff $(PROCESSEDDOCFILES) prepare_examples \
125      $(PROCESSEDEXAMPLEFILES) $(make_html)
127 html: $(HTMLDOCFILES) $(HTMLEXAMPLEFILES)
129 prepare_examples: grnexmpl.g groff.css
130         test -f grnexmpl.g || cp $(srcdir)/grnexmpl.g .
131         test -f groff.css || cp $(srcdir)/groff.css .
133 groff: groff.texinfo
134         $(MAKEINFO) --enable-encoding -I$(srcdir) $(srcdir)/groff.texinfo
136 gnu.eps: gnu.xpm
137         xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | \
138           $(pnmtops_nosetpage) -noturn -rle >$@
139 gnu.png: gnu.xpm
140         xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | pnmtopng >$@
142 pic.html: pic.ms
143         $(GROFF) -P-p -P-b -P-I`basename $< | sed -e 's|.ms$$||'` \
144                  -P-D$(imagedir) -P-j`basename $< | sed -e 's|.ms$$||'` \
145                  -Thtml -ms >$@
147 webpage.html: webpage.ms gnu.png groff.css
148 webpage.ps: gnu.eps
150 grnexmpl.ps: grnexmpl.me grnexmpl.g
152 distfiles: groff gnu.eps gnu.png
154 install_data: groff $(DOCFILES) $(PROCESSEDDOCFILES) $(make_install_html) \
155               $(EXAMPLEFILES) $(PROCESSEDEXAMPLEFILES)
156         -test -d $(infodir) || $(mkinstalldirs) $(infodir)
157 # Prefer info files in builddir over srcdir; we test for
158 # the existence of `groff'.
159         d=.; \
160           test -f "groff" || d=$(srcdir); \
161           for f in $$d/groff `ls $$d/groff-*`; do \
162             rm -f $(infodir)/`basename $$f`; \
163             $(INSTALL_DATA) $$f $(infodir)/`basename $$f`; \
164           done
165         $(INSTALL_INFO) --info-dir=$(infodir) $(infodir)/groff
166         -test -d $(docdir) || $(mkinstalldirs) $(docdir)
167         for f in $(DOCFILES); do \
168           rm -f $(docdir)/$$f; \
169           $(INSTALL_DATA) $(srcdir)/$$f $(docdir)/$$f; \
170         done
171         for f in $(PROCESSEDDOCFILES); do \
172           rm -f $(docdir)/$$f; \
173           $(INSTALL_DATA) $$f $(docdir)/$$f; \
174         done
175         -test -d $(exampledir) || $(mkinstalldirs) $(exampledir)
176         for f in $(EXAMPLEFILES); do \
177           rm -f $(exampledir)/$$f; \
178           $(INSTALL_DATA) $(srcdir)/$$f $(exampledir)/$$f; \
179         done
180         for f in $(PROCESSEDEXAMPLEFILES); do \
181           rm -f $(exampledir)/$$f; \
182           $(INSTALL_DATA) $$f $(exampledir)/$$f; \
183         done
185 install_html: $(HTMLDOCFILES) $(HTMLEXAMPLEFILES)
186         -test -d $(htmldocdir) || $(mkinstalldirs) $(htmldocdir)
187         for f in `ls $(HTMLDOCFILESALL)`; do \
188           rm -f $(htmldocdir)/$$f; \
189           $(INSTALL_DATA) $$f $(htmldocdir)/$$f; \
190         done
191         -test -d $(htmldocimagedir) || $(mkinstalldirs) $(htmldocimagedir)
192         rm -f $(htmldocimagedir)/$(HTMLDOCIMAGEFILES)
193         $(INSTALL_DATA) $(imagedir)/$(HTMLDOCIMAGEFILES) $(htmldocimagedir)
194         -test -d $(exampledir) || $(mkinstalldirs) $(exampledir)
195         for f in $(HTMLEXAMPLEFILES); do \
196           rm -f $(exampledir)/$$f; \
197           $(INSTALL_DATA) $$f $(exampledir)/$$f; \
198         done
199         -test -d $(exampleimagedir) || $(mkinstalldirs) $(exampleimagedir)
200         rm -f $(exampleimagedir)/$(HTMLEXAMPLEIMAGEFILES)
201         $(INSTALL_DATA) $(imagedir)/$(HTMLEXAMPLEIMAGEFILES) $(exampleimagedir)
203 uninstall_sub:
204         -for f in groff `ls groff-*`; do \
205           rm -f $(infodir)/$$f; \
206         done
207         $(INSTALL_INFO) --delete --info-dir=$(infodir) $(infodir)/groff
208         -for f in $(DOCFILES) $(PROCESSEDDOCFILES); do \
209           rm -f $(docdir)/$$f; \
210         done
211         -for f in `ls $(HTMLDOCFILESALL)`; do \
212           rm -f $(htmldocdir)/$$f; \
213         done
214         -rm -f $(htmldocimagedir)/$(HTMLDOCIMAGEFILES)
215         -rmdir $(htmldocimagedir)
216         -for f in $(EXAMPLEFILES) $(PROCESSEDEXAMPLEFILES); do \
217           rm -f $(exampledir)/$$f; \
218         done
219         -rm -f $(exampleimagedir)/$(HTMLEXAMPLEIMAGEFILES)
220         -rmdir $(exampleimagedir)