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