* src/roff/troff/nroff.cpp (space_node::get_breakpoints,
[s-roff.git] / Makefile.comm
blob61f3befcc8e2a02fb69f7fbb0e0a6646d148d69c
1 # Copyright (C) 1989-2000, 2002, 2003 Free Software Foundation, Inc.
2 #      Written by James Clark (jjc@jclark.com)
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 # Makefile.comm
22 INCLUDES=-I. -I$(srcdir) \
23   -I$(top_builddir)/src/include -I$(top_srcdir)/src/include
24 ALL_CCFLAGS=$(INCLUDES) $(CCDEFINES) $(CCFLAGS) $(CPPFLAGS)
25 COMPILE.cpp=$(CCC) $(ALL_CCFLAGS) -c
26 ALL_CFLAGS=$(INCLUDES) $(CDEFINES) $(CFLAGS) $(CPPFLAGS)
27 COMPILE.c=$(CC) $(ALL_CFLAGS) -c
28 LINK.cpp=$(CCC) $(CCFLAGS) $(LDFLAGS)
29 LINK.c=$(CC) $(CFLAGS) $(LDFLAGS)
30 LIBGROFF=$(top_builddir)/src/libs/libgroff/libgroff.$(LIBEXT)
31 LIBBIB=$(top_builddir)/src/libs/libbib/libbib.$(LIBEXT)
32 LIBDRIVER=$(top_builddir)/src/libs/libdriver/libdriver.$(LIBEXT)
33 MLIB=
34 XLIBS=
35 YTABH=
36 YTABC=
37 GRAM=
38 LIBCLEAN=
39 CLEANADD=
40 CLEANDIRADD=
41 CLEANNOTSRCDIRADD=
42 MOSTLYCLEANFILES=$(MANCLEAN) $(PROG) $(OBJS) $(GENSRCS) $(GENHDRS) \
43   depend.temp core y.output $(CLEANADD)
44 CLEANFILES=$(LIBCLEAN)
45 DISTCLEANFILES=TAGS Makefile Makefile.dep
46 REALCLEANFILES=$(YTABC) $(YTABH)
47 NAMEPREFIX=
48 HDRS=
49 MANPAGES=$(MAN1) $(MAN5) $(MAN7)
50 MANCLEAN=$(MANPAGES)
51 fontsubdir=$(fontdir)/dev$(DEV)
53 all install install_bin install_data TAGS depend distfiles uninstall_sub:
55 install: prefix_must_exist install_bin install_data
56 uninstall: uninstall_sub
57 pure:
59 .PHONY: all clean distclean mostlyclean realclean extraclean depend distfiles
60 .PHONY: install install_bin install_data prefix_must_exist
61 .PHONY: uninstall uninstall_sub
62 .PHONY: pure
64 prefix_must_exist:
65         @test -d $(prefix) \
66           || (echo ; \
67               echo The prefix directory \`$(prefix)\' doesn\'t exist; \
68               echo ; \
69               exit 1)
71 mostlyclean:
72         -rm -f $(MOSTLYCLEANFILES)
73         -rm -rf $(CLEANDIRADD)
74         -@if test `cd $(srcdir); pwd` = `pwd`; then \
75           :; \
76         else \
77           rm -f $(CLEANNOTSRCDIRADD); \
78         fi
80 clean: mostlyclean
81         -rm -f $(CLEANFILES)
83 distclean: clean
84         -rm -f $(DISTCLEANFILES)
85         -@if test `cd $(srcdir); pwd` = `pwd`; then \
86           :; \
87         else \
88           rm -f $(YTABC) $(YTABH); \
89         fi
91 realclean: distclean
92         -rm -f $(REALCLEANFILES)
94 extraclean: distclean
95         -rm -f \#* *~ =* core junk grot old temp tmp tem
97 .SUFFIXES:
98 .SUFFIXES: .o .obj .cpp .c .y .man .n
100 .cpp.o:
101         $(COMPILE.cpp) $<
103 .c.o:
104         $(COMPILE.c) $<
106 .cpp.obj:
107         $(COMPILE.cpp) $<
109 .c.obj:
110         $(COMPILE.c) $<
112 .y.cpp:
113         if test -n "$(YTABH)"; then \
114           $(YACC) $(YACCFLAGS) -d $<; \
115         else \
116           $(YACC) $(YACCFLAGS) $<; \
117         fi
118         -test -f y.tab.h && mv y.tab.h y_tab.h
119         -test -f y.tab.c && mv y.tab.c y_tab.c
120         mv y_tab.c $(YTABC)
121         test -z "$(YTABH)" || mv y_tab.h $(YTABH)
123 # The next rule is needed for make of Solaris 2.5.1 to override its
124 # built-in .y.o rule (which takes precedence over the .y.cpp rule above).
125 .y.o:
126         if test -n "$(YTABH)"; then \
127           $(YACC) $(YACCFLAGS) -d $<; \
128         else \
129           $(YACC) $(YACCFLAGS) $<; \
130         fi
131         -test -f y.tab.h && mv y.tab.h y_tab.h
132         -test -f y.tab.c && mv y.tab.c y_tab.c
133         mv y_tab.c $(YTABC)
134         test -z "$(YTABH)" || mv y_tab.h $(YTABH)
135         $(COMPILE.cpp) $(YTABC)
137 .man.n:
138         @echo Making $@ from $<
139         @-rm -f $@
140         @sed -e "s|@BINDIR@|$(bindir)|g" \
141         -e "s|@FONTDIR@|$(fontdir)|g" \
142         -e "s|@LOCALFONTDIR@|$(localfontdir)|g" \
143         -e "s|@LEGACYFONTDIR@|$(legacyfontdir)|g" \
144         -e "s|@MACRODIR@|$(tmacdir)|g" \
145         -e "s|@SYSTEMMACRODIR@|$(systemtmacdir)|g" \
146         -e "s|@LOCALMACRODIR@|$(localtmacdir)|g" \
147         -e "s|@DOCDIR@|$(docdir)|g" \
148         -e "s|@EXAMPLEDIR@|$(exampledir)|g" \
149         -e "s|@HTMLDOCDIR@|$(htmldocdir)|g" \
150         -e "s|@DEVICE@|$(DEVICE)|g" \
151         -e "s|@DEFAULT_INDEX@|$(indexdir)/$(indexname)|g" \
152         -e "s|@DEFAULT_INDEX_NAME@|$(indexname)|g" \
153         -e "s|@INDEX_SUFFIX@|$(indexext)|g" \
154         -e "s|@COMMON_WORDS_FILE@|$(common_words_file)|g" \
155         -e "s|@MAN1EXT@|$(man1ext)|g" \
156         -e "s|@MAN5EXT@|$(man5ext)|g" \
157         -e "s|@MAN7EXT@|$(man7ext)|g" \
158         -e "s|@TMAC_S_PREFIX@|$(tmac_s_prefix)|g" \
159         -e "s|@TMAC_M_PREFIX@|$(tmac_m_prefix)|g" \
160         -e "s|@TMAC_AN_PREFIX@|$(tmac_an_prefix)|g" \
161         -e "s|@TMAC_MDIR@|$(tmacdir)/mm|g" \
162         -e "s|@BROKEN_SPOOLER_FLAGS@|$(BROKEN_SPOOLER_FLAGS)|g" \
163         -e "s|@VERSION@|$(version)$(revision)|g" \
164         -e "s|@MDATE@|`$(SHELL) $(top_srcdir)/mdate.sh $<`|g" \
165         -e "s|@g@|$(g)|g" \
166         -e "s!@G@!`echo $(g) | tr [a-z] [A-Z]`!g" \
167         $< >$@
169 .PHONY: install_man
170 install_man:
171         -test -d $(manroot) || $(mkinstalldirs) $(manroot)
172         -test -d $(man1dir) || $(mkinstalldirs) $(man1dir)
173         @-pages="$(MAN1)"; \
174         for p in $$pages; do \
175          prog=`basename $$p .n`; \
176          target=$(man1dir)/$(NAMEPREFIX)$$prog.$(man1ext); \
177          rm -f $$target; \
178          echo $(INSTALL_DATA) $$p $$target; \
179          $(INSTALL_DATA) $$p $$target; \
180         done
181         -test -d $(man5dir) || $(mkinstalldirs) $(man5dir)
182         @-pages="$(MAN5)"; \
183         for p in $$pages; do \
184          target=$(man5dir)/`basename $$p .n`.$(man5ext); \
185          rm -f $$target; \
186          echo $(INSTALL_DATA) $$p $$target; \
187          $(INSTALL_DATA) $$p $$target; \
188         done
189         -test -d $(man7dir) || $(mkinstalldirs) $(man7dir)
190         @-pages="$(MAN7)"; \
191         for p in $$pages; do \
192          target=$(man7dir)/`basename $$p .n`.$(man7ext); \
193          rm -f $$target; \
194          echo $(INSTALL_DATA) $$p $$target; \
195          $(INSTALL_DATA) $$p $$target; \
196         done
198 .PHONY: uninstall_man
199 uninstall_man:
200         @-pages="$(MAN1)"; \
201         for p in $$pages; do \
202          target=$(man1dir)/$(NAMEPREFIX)`basename $$p .n`.$(man1ext); \
203          echo rm -f $$target; \
204          rm -f $$target; \
205         done
206         @-pages="$(MAN5)"; \
207         for p in $$pages; do \
208          target=$(man5dir)/`basename $$p .n`.$(man5ext); \
209          echo rm -f $$target; \
210          rm -f $$target; \
211         done
212         @-pages="$(MAN7)"; \
213         for p in $$pages; do \
214          target=$(man7dir)/`basename $$p .n`.$(man7ext); \
215          echo rm -f $$target; \
216          rm -f $$target; \
217         done
219 .PHONY: install_prog
220 install_prog:
221         -test -d $(bindir) || $(mkinstalldirs) $(bindir)
222         rm -f $(bindir)/$(NAMEPREFIX)$(PROG)
223         $(INSTALL_PROGRAM) $(PROG) $(bindir)/$(NAMEPREFIX)$(PROG)
225 .PHONY: uninstall_prog
226 uninstall_prog:
227         -rm -f $(bindir)/$(NAMEPREFIX)$(PROG)   
229 .PHONY: install_dev
230 install_dev:
231         -test -d $(datadir) || $(mkinstalldirs) $(datadir)
232         -test -d $(dataprogramdir) || $(mkinstalldirs) $(dataprogramdir)
233         -test -d $(datasubdir) || $(mkinstalldirs) $(datasubdir)
234         -test -d $(fontdir) || $(mkinstalldirs) $(fontdir)
235         -test -d $(fontsubdir) || $(mkinstalldirs) $(fontsubdir)
236         -if test -d $(srcdir)/generate; then \
237           test -d $(fontsubdir)/generate \
238             || $(mkinstalldirs) $(fontsubdir)/generate; \
239         fi
240         -test -z "$(DEVFILES)" \
241           || for f in $(DEVFILES); do \
242                rm -f $(fontsubdir)/$$f; \
243                if test -f $$f; then \
244                  $(INSTALL_DATA) $$f $(fontsubdir)/$$f; \
245                else \
246                  $(INSTALL_DATA) $(srcdir)/$$f $(fontsubdir)/$$f; \
247                fi; \
248              done
249         -test -z "$(DEVSCRIPTS)" \
250           || for f in $(DEVSCRIPTS); do \
251                rm -f $(fontsubdir)/$$f; \
252                if test -f $$f; then \
253                  $(INSTALL_SCRIPT) $$f $(fontsubdir)/$$f; \
254                else \
255                  $(INSTALL_SCRIPT) $(srcdir)/$$f $(fontsubdir)/$$f; \
256                fi; \
257              done
259 .PHONY: uninstall_dev
260 uninstall_dev:
261         -test -z "$(DEVFILES)$(DEVSCRIPTS)" \
262           || for f in $(DEVFILES) $(DEVSCRIPTS); do \
263                rm -f $(fontsubdir)/$$f; \
264              done
265         -test -d $(fontsubdir)/generate && rmdir $(fontsubdir)/generate
266         -rmdir $(fontsubdir)
268 .PHONY: depend_src
269 depend_src: depend.temp
270         mv depend.temp Makefile.dep
272 depend.temp: FORCE
273         > depend.temp;
274         if test -f "$(srcdir)/$(YTABC)"; then \
275           ytabc="$(srcdir)/$(YTABC)"; \
276         else \
277           ytabc="$(YTABC)"; \
278         fi; \
279         test -z "$(CCSRCS)$(YTABC)" \
280           || $(CCC) $(ALL_CCFLAGS) -MM $(CCSRCS) $$ytabc >>depend.temp
281         test -z "$(CSRCS)" \
282           || $(CC) $(ALL_CFLAGS) -MM $(CSRCS) >>depend.temp
283         test -z "$(YTABH)" \
284           || (sed -e 's|$(YTABH)|$(YTABC)|g' depend.temp >depend1.temp; \
285               mv depend1.temp depend.temp)
287 .PHONY: TAGS_src
288 TAGS_src:
289         $(ETAGS) $(ETAGSFLAGS) $(CCSRCS) $(CSRCS)
290         test -z "$(GRAM)$(HDRS)" \
291           || $(ETAGS) $(ETAGSFLAGS) -a $(ETAGSCCFLAG) $(GRAM) $(HDRS)
293 # This rule is only considered for the subdir_Makefile target.
294 Makefile:
295         -rm -f Makefile
296         echo srcdir=$(srcdir) >>Makefile
297         echo VPATH=$(VPATH) >>Makefile
298         cat $(MAKEFILEPARTS) /dev/null >>Makefile
300 FORCE:
302 .NOEXPORT: