Minor fixes from Bernd.
[s-roff.git] / doc / Makefile.sub
blobecc83ae1a15ec12ae317ec27e001dfe021808de5
1 # Copyright (C) 2002 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 # Since info files are distributed within the groff package, no
21 # autoconf test for the makeinfo binary is done.
22 MAKEINFO=makeinfo
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
36 groff_bin_path=`echo $(groff_bin_dirs) | sed -e 's| \+|:|g'`
38 FFLAG=-F$(top_builddir)/font -F$(top_srcdir)/font
39 TFLAG=-M$(top_builddir)/tmac -M$(top_srcdir)/tmac
41 GROFF=\
42   GROFF_BIN_PATH=$(groff_bin_path); \
43   export GROFF_BIN_PATH; \
44   sed -e "s;@VERSION@;$(version)$(revision);" $< \
45   | $(top_builddir)/src/roff/groff/groff $(TFLAG) $(FFLAG) -Upet -ww
47 DOCFILES=\
48   meref.me \
49   meintro.me \
50   pic.ms
52 PROCESSEDDOCFILES=\
53   meref.ps \
54   meintro.ps \
55   pic.ps
57 HTMLDOCFILES=\
58   pic.html
60 HTMLDOCIMAGEFILES=\
61   pic*
63 EXAMPLEFILES=\
64   webpage.ms \
65   grnexmpl.g \
66   grnexmpl.me
68 PROCESSEDEXAMPLEFILES=\
69   webpage.ps \
70   gnu.eps \
71   gnu.png \
72   grnexmpl.ps
74 HTMLEXAMPLEFILES=\
75   webpage.html
77 HTMLEXAMPLEIMAGEFILES=\
78   webpage*
80 imagedir=img
81 htmldocimagedir=$(htmldocdir)/$(imagedir)
82 exampleimagedir=$(exampledir)/$(imagedir)
84 CLEANADD=\
85   $(PROCESSEDDOCFILES) \
86   $(PROCESSEDEXAMPLEFILES) \
87   $(HTMLEXAMPLEFILES) \
88   $(HTMLDOCFILES)
90 CLEANDIRADD=\
91   $(imagedir)
93 CLEANNOTSRCDIRADD=\
94   grnexmpl.g \
95   groff \
96   groff-*
98 .SUFFIXES: .me .ms .ps .html
100 # For simplicity, we always call grn and eqn.
101 .me.ps:
102         $(GROFF) -Tps -ge -me >$@
104 .ms.html:
105         $(GROFF) -P-p -P-b -P-I`basename $< | sed -e 's|.ms$$||'` \
106                  -P-D$(imagedir) -Thtml -ms >$@
107 .ms.ps:
108         $(GROFF) -Tps -ms -mwww >$@
111 all: groff $(PROCESSEDDOCFILES) prepare_examples \
112      $(PROCESSEDEXAMPLEFILES) $(make_html)
114 html: $(HTMLDOCFILES) $(HTMLEXAMPLEFILES)
116 prepare_examples: grnexmpl.g
117         test -f grnexmpl.g || cp $(srcdir)/grnexmpl.g .
119 groff: groff.texinfo
120         $(MAKEINFO) -I$(srcdir) $(srcdir)/groff.texinfo
122 gnu.eps: gnu.xpm
123         xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | pnmtops -noturn >$@
124 gnu.png: gnu.xpm
125         xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | pnmtopng >$@
127 webpage.html: webpage.ms gnu.png
128 webpage.ps: gnu.eps
130 grnexmpl.ps: grnexmpl.me grnexmpl.g
132 distfiles: groff
134 install_data: groff $(DOCFILES) $(PROCESSEDDOCFILES) $(make_install_html) \
135               $(EXAMPLEFILES) $(PROCESSEDEXAMPLEFILES)
136         -test -d $(infodir) || $(mkinstalldirs) $(infodir)
137 # Prefer info files in builddir over srcdir; we test for
138 # the existence of `groff'.
139         d=.; \
140           test -f "groff" || d=$(srcdir); \
141           for f in $$d/groff $$d/groff-*; do \
142             rm -f $(infodir)/`basename $$f`; \
143             $(INSTALL_DATA) $$f $(infodir)/`basename $$f`; \
144           done
145         $(INSTALL_INFO) --info-dir=$(infodir) $(infodir)/groff
146         -test -d $(docdir) || $(mkinstalldirs) $(docdir)
147         for f in $(DOCFILES); do \
148           rm -f $(docdir)/$$f; \
149           $(INSTALL_DATA) $(srcdir)/$$f $(docdir)/$$f; \
150         done
151         for f in $(PROCESSEDDOCFILES); do \
152           rm -f $(docdir)/$$f; \
153           $(INSTALL_DATA) $$f $(docdir)/$$f; \
154         done
155         -test -d $(exampledir) || $(mkinstalldirs) $(exampledir)
156         for f in $(EXAMPLEFILES); do \
157           rm -f $(exampledir)/$$f; \
158           $(INSTALL_DATA) $(srcdir)/$$f $(exampledir)/$$f; \
159         done
160         for f in $(PROCESSEDEXAMPLEFILES); do \
161           rm -f $(exampledir)/$$f; \
162           $(INSTALL_DATA) $$f $(exampledir)/$$f; \
163         done
165 install_html: $(HTMLDOCFILES) $(HTMLEXAMPLEFILES)
166         -test -d $(htmldocdir) || $(mkinstalldirs) $(htmldocdir)
167         for f in $(HTMLDOCFILES); do \
168           rm -f $(htmldocdir)/$$f; \
169           $(INSTALL_DATA) $$f $(htmldocdir)/$$f; \
170         done
171         -test -d $(htmldocimagedir) || $(mkinstalldirs) $(htmldocimagedir)
172         rm -f $(htmldocimagedir)/$(HTMLDOCIMAGEFILES)
173         $(INSTALL_DATA) $(imagedir)/$(HTMLDOCIMAGEFILES) $(htmldocimagedir)
174         -test -d $(exampledir) || $(mkinstalldirs) $(exampledir)
175         for f in $(HTMLEXAMPLEFILES); do \
176           rm -f $(exampledir)/$$f; \
177           $(INSTALL_DATA) $$f $(exampledir)/$$f; \
178         done
179         -test -d $(exampleimagedir) || $(mkinstalldirs) $(exampleimagedir)
180         rm -f $(exampleimagedir)/$(HTMLEXAMPLEIMAGEFILES)
181         $(INSTALL_DATA) $(imagedir)/$(HTMLEXAMPLEIMAGEFILES) $(exampleimagedir)
183 uninstall_sub:
184         -for f in groff groff-*; do \
185           rm -f $(infodir)/$$f; \
186         done
187         $(INSTALL_INFO) --delete --info-dir=$(infodir) $(infodir)/groff
188         -for f in $(DOCFILES) $(PROCESSEDDOCFILES); do \
189           rm -f $(docdir)/$$f; \
190         done
191         -for f in $(HTMLDOCFILES); do \
192           rm -f $(htmldocdir)/$$f; \
193         done
194         -rm -f $(htmldocimagedir)/$(HTMLDOCIMAGEFILES)
195         -rmdir $(htmldocimagedir)
196         -for f in $(EXAMPLEFILES) $(PROCESSEDEXAMPLEFILES); do \
197           rm -f $(exampledir)/$$f; \
198         done
199         -rm -f $(exampleimagedir)/$(HTMLEXAMPLEIMAGEFILES)
200         -rmdir $(exampleimagedir)