Adding a new keyword `papersize' to the DESC file format (similar
[s-roff.git] / doc / Makefile.sub
blobfaf49cfde2c147d400b32cd897dcbd0777727d2b
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 version=`cat $(top_srcdir)/VERSION`
39 # No additional number if revision is zero.
40 revision=`sed -e 's/^0$$//' -e 's/^[1-9].*$$/.&/' $(top_srcdir)/REVISION`
42 FFLAG=-F$(top_builddir)/font -F$(top_srcdir)/font
43 TFLAG=-M$(top_builddir)/tmac -M$(top_srcdir)/tmac
45 GROFF=GROFF_BIN_PATH=$(groff_bin_path); \
46       export GROFF_BIN_PATH; \
47       sed -e "s;@VERSION@;$(version)$(revision);" $< \
48       | $(top_builddir)/src/roff/groff/groff $(TFLAG) $(FFLAG) -Upet -ww
50 DOCFILES=\
51   meref.me \
52   meintro.me \
53   pic.ms
55 PROCESSEDDOCFILES=\
56   meref.ps \
57   meintro.ps \
58   pic.ps
60 HTMLDOCFILES=\
61   pic.html
63 HTMLDOCIMAGEFILES=\
64   pic*
66 EXAMPLEFILES=\
67   webpage.ms \
68   grnexmpl.g \
69   grnexmpl.me
71 PROCESSEDEXAMPLEFILES=\
72   webpage.ps \
73   webpage.html \
74   gnu.eps \
75   gnu.png \
76   grnexmpl.ps
78 EXAMPLEIMAGEFILES=\
79   webpage*
81 imagedir=img
82 htmldocimagedir=$(htmldocdir)/$(imagedir)
83 exampleimagedir=$(exampledir)/$(imagedir)
85 CLEANADD=\
86   `if test $(srcdir) = .; then :; \
87    else echo grnexmpl.g groff groff-*; fi` \
88   $(PROCESSEDDOCFILES) \
89   $(PROCESSEDEXAMPLEFILES)
91 CLEANDIRADD=\
92   $(imagedir)
94 .SUFFIXES: .me .ms .ps .html
96 # For simplicity, we always call grn and eqn.
97 .me.ps:
98         $(GROFF) -Tps -ge -me >$@
100 .ms.html:
101         $(GROFF) -P-p -P-b -P-I`basename $< | sed -e 's|.ms$$||'` \
102                  -P-D$(imagedir) -Thtml -ms >$@
103 .ms.ps:
104         $(GROFF) -Tps -ms -mwww >$@
107 all: groff $(PROCESSEDDOCFILES) prepare_examples \
108      $(PROCESSEDEXAMPLEFILES) $(HTMLDOCFILES)
110 prepare_examples: grnexmpl.g
111         test -f grnexmpl.g || cp $(srcdir)/grnexmpl.g .
113 groff: groff.texinfo
114         $(MAKEINFO) -I$(srcdir) $(srcdir)/groff.texinfo
116 gnu.eps: gnu.xpm
117         xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | pnmtops -noturn >$@
118 gnu.png: gnu.xpm
119         xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | pnmtopng >$@
121 webpage.html: webpage.ms gnu.png
122 webpage.ps: gnu.eps
124 grnexmpl.ps: grnexmpl.me grnexmpl.g
127 distfiles: groff
129 install_data: groff $(DOCFILES) $(PROCESSEDDOCFILES) $(HTMLDOCFILES) \
130               $(EXAMPLEFILES) $(PROCESSEDEXAMPLEFILES)
131         -test -d $(infodir) || $(mkinstalldirs) $(infodir)
132 # Prefer info files in builddir over srcdir; we test for
133 # the existence of `groff'.
134         d=.; \
135           test -f "groff" || d=$(srcdir); \
136           for f in $$d/groff $$d/groff-*; do \
137             rm -f $(infodir)/`basename $$f`; \
138             $(INSTALL_DATA) $$f $(infodir)/`basename $$f`; \
139           done
140         $(INSTALL_INFO) --info-dir=$(infodir) $(infodir)/groff
141         -test -d $(docdir) || $(mkinstalldirs) $(docdir)
142         for f in $(DOCFILES); do \
143           rm -f $(docdir)/$$f; \
144           $(INSTALL_DATA) $(srcdir)/$$f $(docdir)/$$f; \
145         done
146         for f in $(PROCESSEDDOCFILES); do \
147           rm -f $(docdir)/$$f; \
148           $(INSTALL_DATA) $$f $(docdir)/$$f; \
149         done
150         -test -d $(htmldocdir) || $(mkinstalldirs) $(htmldocdir)
151         for f in $(HTMLDOCFILES); do \
152           rm -f $(htmldocdir)/$$f; \
153           $(INSTALL_DATA) $$f $(htmldocdir)/$$f; \
154         done
155         -test -d $(htmldocimagedir) || $(mkinstalldirs) $(htmldocimagedir)
156         rm -f $(htmldocimagedir)/$(HTMLDOCIMAGEFILES)
157         $(INSTALL_DATA) $(imagedir)/$(HTMLDOCIMAGEFILES) $(htmldocimagedir)
158         -test -d $(exampledir) || $(mkinstalldirs) $(exampledir)
159         for f in $(EXAMPLEFILES); do \
160           rm -f $(exampledir)/$$f; \
161           $(INSTALL_DATA) $(srcdir)/$$f $(exampledir)/$$f; \
162         done
163         for f in $(PROCESSEDEXAMPLEFILES); do \
164           rm -f $(exampledir)/$$f; \
165           $(INSTALL_DATA) $$f $(exampledir)/$$f; \
166         done
167         -test -d $(exampleimagedir) || $(mkinstalldirs) $(exampleimagedir)
168         rm -f $(exampleimagedir)/$(EXAMPLEIMAGEFILES)
169         $(INSTALL_DATA) $(imagedir)/$(EXAMPLEIMAGEFILES) $(exampleimagedir)
171 uninstall_sub:
172         -for f in groff groff-*; do \
173           rm -f $(infodir)/$$f; \
174         done
175         $(INSTALL_INFO) --delete --info-dir=$(infodir) $(infodir)/groff
176         -for f in $(DOCFILES) $(PROCESSEDDOCFILES); do \
177           rm -f $(docdir)/$$f; \
178         done
179         -for f in $(HTMLDOCFILES); do \
180           rm -f $(htmldocdir)/$$f; \
181         done
182         -rm -f $(htmldocimagedir)/$(HTMLDOCIMAGEFILES)
183         -rmdir $(htmldocimagedir)
184         -for f in $(EXAMPLEFILES) $(PROCESSEDEXAMPLEFILES); do \
185           rm -f $(exampledir)/$$f; \
186         done
187         -rm -f $(exampleimagedir)/$(EXAMPLEIMAGEFILES)
188         -rmdir $(exampleimagedir)