Makefile.sub revision 104862
1104862Sru# Copyright (C) 2002 Free Software Foundation, Inc.
2104862Sru#      Written by Werner Lemberg <wl@gnu.org>
3104862Sru# 
4104862Sru# This file is part of groff.
5104862Sru# 
6104862Sru# groff is free software; you can redistribute it and/or modify it under
7104862Sru# the terms of the GNU General Public License as published by the Free
8104862Sru# Software Foundation; either version 2, or (at your option) any later
9104862Sru# version.
10104862Sru# 
11104862Sru# groff is distributed in the hope that it will be useful, but WITHOUT ANY
12104862Sru# WARRANTY; without even the implied warranty of MERCHANTABILITY or
13104862Sru# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14104862Sru# for more details.
15104862Sru# 
16104862Sru# You should have received a copy of the GNU General Public License along
17104862Sru# with groff; see the file COPYING.  If not, write to the Free Software
18104862Sru# Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19104862Sru
20104862Sru# Since info files are distributed within the groff package, no
21104862Sru# autoconf test for the makeinfo binary is done.
22104862SruMAKEINFO=makeinfo
23104862Sru
24104862Srugroff_bin_dirs=\
25104862Sru  $(top_builddir)/src/roff/groff \
26104862Sru  $(top_builddir)/src/roff/troff \
27104862Sru  $(top_builddir)/src/preproc/pic \
28104862Sru  $(top_builddir)/src/preproc/eqn \
29104862Sru  $(top_builddir)/src/preproc/tbl \
30104862Sru  $(top_builddir)/src/preproc/grn \
31104862Sru  $(top_builddir)/src/preproc/refer \
32104862Sru  $(top_builddir)/src/preproc/soelim \
33104862Sru  $(top_builddir)/src/preproc/html \
34104862Sru  $(top_builddir)/src/devices/grops \
35104862Sru  $(top_builddir)/src/devices/grohtml
36104862Srugroff_bin_path=`echo $(groff_bin_dirs) | sed -e 's|  *|:|g'`
37104862Sru
38104862SruFFLAG=-F$(top_builddir)/font -F$(top_srcdir)/font
39104862SruTFLAG=-M$(top_builddir)/tmac -M$(top_srcdir)/tmac
40104862Sru
41104862SruGROFF=\
42104862Sru  GROFF_COMMAND_PREFIX=''; \
43104862Sru  export GROFF_COMMAND_PREFIX; \
44104862Sru  GROFF_BIN_PATH=$(groff_bin_path); \
45104862Sru  export GROFF_BIN_PATH; \
46104862Sru  sed -e "s;@VERSION@;$(version)$(revision);" $< \
47104862Sru  | $(top_builddir)/src/roff/groff/groff $(TFLAG) $(FFLAG) -Upet -ww
48104862Sru
49104862SruDOCFILES=\
50104862Sru  meref.me \
51104862Sru  meintro.me \
52104862Sru  pic.ms
53104862Sru
54104862SruPROCESSEDDOCFILES=\
55104862Sru  meref.ps \
56104862Sru  meintro.ps \
57104862Sru  pic.ps
58104862Sru
59104862SruHTMLDOCFILES=\
60104862Sru  pic.html
61104862Sru
62104862SruHTMLDOCIMAGEFILES=\
63104862Sru  pic*
64104862Sru
65104862SruEXAMPLEFILES=\
66104862Sru  webpage.ms \
67104862Sru  grnexmpl.g \
68104862Sru  grnexmpl.me
69104862Sru
70104862SruPROCESSEDEXAMPLEFILES=\
71104862Sru  webpage.ps \
72104862Sru  grnexmpl.ps
73104862Sru
74104862SruHTMLEXAMPLEFILES=\
75104862Sru  webpage.html
76104862Sru
77104862SruHTMLEXAMPLEIMAGEFILES=\
78104862Sru  webpage*
79104862Sru
80104862Sruimagedir=img
81104862Sruhtmldocimagedir=$(htmldocdir)/$(imagedir)
82104862Sruexampleimagedir=$(exampledir)/$(imagedir)
83104862Sru
84104862SruCLEANADD=\
85104862Sru  $(PROCESSEDDOCFILES) \
86104862Sru  $(PROCESSEDEXAMPLEFILES) \
87104862Sru  $(HTMLEXAMPLEFILES) \
88104862Sru  $(HTMLDOCFILES)
89104862Sru
90104862SruCLEANDIRADD=\
91104862Sru  $(imagedir)
92104862Sru
93104862SruCLEANNOTSRCDIRADD=\
94104862Sru  grnexmpl.g \
95104862Sru  groff \
96104862Sru  groff-* \
97104862Sru  gnu.eps \
98104862Sru  gnu.png
99104862Sru
100104862Sru.SUFFIXES: .me .ms .ps .html
101104862Sru
102104862Sru# For simplicity, we always call grn and eqn.
103104862Sru.me.ps:
104104862Sru	$(GROFF) -Tps -ge -me >$@
105104862Sru
106104862Sru.ms.html:
107104862Sru	$(GROFF) -P-p -P-b -P-I`basename $< | sed -e 's|.ms$$||'` \
108104862Sru		 -P-D$(imagedir) -Thtml -ms >$@
109104862Sru.ms.ps:
110104862Sru	$(GROFF) -Tps -ms -mwww >$@
111104862Sru
112104862Sru
113104862Sruall: groff $(PROCESSEDDOCFILES) prepare_examples \
114104862Sru     $(PROCESSEDEXAMPLEFILES) $(make_html)
115104862Sru
116104862Sruhtml: $(HTMLDOCFILES) $(HTMLEXAMPLEFILES)
117104862Sru
118104862Sruprepare_examples: grnexmpl.g
119104862Sru	test -f grnexmpl.g || cp $(srcdir)/grnexmpl.g .
120104862Sru
121104862Srugroff: groff.texinfo
122104862Sru	$(MAKEINFO) -I$(srcdir) $(srcdir)/groff.texinfo
123104862Sru
124104862Srugnu.eps: gnu.xpm
125104862Sru	xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | pnmtops -noturn -rle >$@
126104862Srugnu.png: gnu.xpm
127104862Sru	xpmtoppm $(srcdir)/gnu.xpm | pnmdepth 15 | pnmtopng >$@
128104862Sru
129104862Sruwebpage.html: webpage.ms gnu.png
130104862Sruwebpage.ps: gnu.eps
131104862Sru
132104862Srugrnexmpl.ps: grnexmpl.me grnexmpl.g
133104862Sru
134104862Srudistfiles: groff gnu.eps gnu.png
135104862Sru
136104862Sruinstall_data: groff $(DOCFILES) $(PROCESSEDDOCFILES) $(make_install_html) \
137104862Sru              $(EXAMPLEFILES) $(PROCESSEDEXAMPLEFILES)
138104862Sru	-test -d $(infodir) || $(mkinstalldirs) $(infodir)
139104862Sru# Prefer info files in builddir over srcdir; we test for
140104862Sru# the existence of `groff'.
141104862Sru	d=.; \
142104862Sru	  test -f "groff" || d=$(srcdir); \
143104862Sru	  for f in $$d/groff $$d/groff-*; do \
144104862Sru	    rm -f $(infodir)/`basename $$f`; \
145104862Sru	    $(INSTALL_DATA) $$f $(infodir)/`basename $$f`; \
146104862Sru	  done
147104862Sru	$(INSTALL_INFO) --info-dir=$(infodir) $(infodir)/groff
148104862Sru	-test -d $(docdir) || $(mkinstalldirs) $(docdir)
149104862Sru	for f in $(DOCFILES); do \
150104862Sru	  rm -f $(docdir)/$$f; \
151104862Sru	  $(INSTALL_DATA) $(srcdir)/$$f $(docdir)/$$f; \
152104862Sru	done
153104862Sru	for f in $(PROCESSEDDOCFILES); do \
154104862Sru	  rm -f $(docdir)/$$f; \
155104862Sru	  $(INSTALL_DATA) $$f $(docdir)/$$f; \
156104862Sru	done
157104862Sru	-test -d $(exampledir) || $(mkinstalldirs) $(exampledir)
158104862Sru	for f in $(EXAMPLEFILES); do \
159104862Sru	  rm -f $(exampledir)/$$f; \
160104862Sru	  $(INSTALL_DATA) $(srcdir)/$$f $(exampledir)/$$f; \
161104862Sru	done
162104862Sru	for f in $(PROCESSEDEXAMPLEFILES); do \
163104862Sru	  rm -f $(exampledir)/$$f; \
164104862Sru	  $(INSTALL_DATA) $$f $(exampledir)/$$f; \
165104862Sru	done
166104862Sru
167104862Sruinstall_html: $(HTMLDOCFILES) $(HTMLEXAMPLEFILES)
168104862Sru	-test -d $(htmldocdir) || $(mkinstalldirs) $(htmldocdir)
169104862Sru	for f in $(HTMLDOCFILES); do \
170104862Sru	  rm -f $(htmldocdir)/$$f; \
171104862Sru	  $(INSTALL_DATA) $$f $(htmldocdir)/$$f; \
172104862Sru	done
173104862Sru	-test -d $(htmldocimagedir) || $(mkinstalldirs) $(htmldocimagedir)
174104862Sru	rm -f $(htmldocimagedir)/$(HTMLDOCIMAGEFILES)
175104862Sru	$(INSTALL_DATA) $(imagedir)/$(HTMLDOCIMAGEFILES) $(htmldocimagedir)
176104862Sru	-test -d $(exampledir) || $(mkinstalldirs) $(exampledir)
177104862Sru	for f in $(HTMLEXAMPLEFILES); do \
178104862Sru	  rm -f $(exampledir)/$$f; \
179104862Sru	  $(INSTALL_DATA) $$f $(exampledir)/$$f; \
180104862Sru	done
181104862Sru	-test -d $(exampleimagedir) || $(mkinstalldirs) $(exampleimagedir)
182104862Sru	rm -f $(exampleimagedir)/$(HTMLEXAMPLEIMAGEFILES)
183104862Sru	$(INSTALL_DATA) $(imagedir)/$(HTMLEXAMPLEIMAGEFILES) $(exampleimagedir)
184104862Sru
185104862Sruuninstall_sub:
186104862Sru	-for f in groff groff-*; do \
187104862Sru	  rm -f $(infodir)/$$f; \
188104862Sru	done
189104862Sru	$(INSTALL_INFO) --delete --info-dir=$(infodir) $(infodir)/groff
190104862Sru	-for f in $(DOCFILES) $(PROCESSEDDOCFILES); do \
191104862Sru	  rm -f $(docdir)/$$f; \
192104862Sru	done
193104862Sru	-for f in $(HTMLDOCFILES); do \
194104862Sru	  rm -f $(htmldocdir)/$$f; \
195104862Sru	done
196104862Sru	-rm -f $(htmldocimagedir)/$(HTMLDOCIMAGEFILES)
197104862Sru	-rmdir $(htmldocimagedir)
198104862Sru	-for f in $(EXAMPLEFILES) $(PROCESSEDEXAMPLEFILES); do \
199104862Sru	  rm -f $(exampledir)/$$f; \
200104862Sru	done
201104862Sru	-rm -f $(exampleimagedir)/$(HTMLEXAMPLEIMAGEFILES)
202104862Sru	-rmdir $(exampleimagedir)
203