Tell the user more explicitly what port needs to be installed to get the
[dragonfly.git] / contrib / groff / Makefile.in
1 # Copyright (C) 1989-2000, 2001, 2002 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.
19
20 srcdir=@srcdir@
21 top_srcdir=@top_srcdir@
22 VPATH=@srcdir@
23 top_builddir=@groff_top_builddir@
24
25 version=`cat $(top_srcdir)/VERSION`
26 # No additional number if revision is zero.
27 revision=`sed -e 's/^0$$//' -e 's/^[1-9].*$$/.&/' $(top_srcdir)/REVISION`
28
29 # Define `page' to be letter if your PostScript printer uses 8.5x11
30 # paper (USA) and define it to be A4, if it uses A4 paper (rest of the
31 # world).
32 PAGE=@PAGE@
33
34 # Normally the Postscript driver, grops, produces output that conforms
35 # to version 3.0 of the Adobe Document Structuring Conventions.
36 # Unfortunately some spoolers and previewers can't handle such output.
37 # The BROKEN_SPOOLER_FLAGS variable tells grops what it should do to
38 # make its output acceptable to such programs.  This variable controls
39 # only the default behaviour of grops; the behaviour can be changed at
40 # runtime by the grops -b option (and so by groff -P-b).
41 # Use a value of 0 if your spoolers and previewers are able to handle
42 # conforming PostScript correctly.
43 # Add 1 if no %%{Begin,End}DocumentSetup comments should be generated;
44 # this is needed for early versions of TranScript that get confused by
45 # anything between the %%EndProlog line and the first %%Page: comment.
46 # Add 2 if lines in included files beginning with %! should be
47 # stripped out; this is needed for the OpenWindows 2.0 pageview previewer.
48 # Add 4 if %%Page, %%Trailer and %%EndProlog comments should be
49 # stripped out of included files; this is needed for spoolers that
50 # don't understand the %%{Begin,End}Document comments. I suspect this
51 # includes early versions of TranScript.
52 # Add 8 if the first line of the PostScript output should be %!PS-Adobe-2.0
53 # rather than %!PS-Adobe-3.0; this is needed when using Sun's Newsprint
54 # with a printer that requires page reversal.
55 BROKEN_SPOOLER_FLAGS=@BROKEN_SPOOLER_FLAGS@
56
57 # `DEVICE' is the default device.
58 DEVICE=ps
59
60 # `TTYDEVDIRS' is either `font/devascii font/devlatin1' (for
61 # ASCII) or `font/devcp1047' (for EBCDIC) plus font/devutf8.
62 TTYDEVDIRS=@TTYDEVDIRS@ font/devutf8
63
64 # `OTHERDEVDIRS' is either `font/devlj4 font/devlbp' (for ASCII) or
65 # empty (for EBCDIC).
66 OTHERDEVDIRS=@OTHERDEVDIRS@
67
68 # `PSPRINT' is the command to use for printing a PostScript file,
69 # for example `lpr'.
70 PSPRINT=@PSPRINT@
71
72 # `DVIPRINT' is the command to use for printing a TeX dvi file,
73 # for example `lpr -d'.
74 DVIPRINT=@DVIPRINT@
75
76 # Prefix for names of programs that have Unix counterparts.
77 # For example, if `g' is `g' then troff will be installed as
78 # gtroff.  This doesn't affect programs like grops or groff that have
79 # no Unix counterparts.  Note that the groff versions of eqn and tbl
80 # will not work with Unix troff.
81 g=@g@
82
83 # Common prefix for installation directories.
84 # Used in definitions of exec_prefix, datasubdir, fontpath, manroot.
85 # This must already exist when you do make install.
86 prefix=@prefix@
87 exec_prefix=@exec_prefix@
88
89 # `bindir' says where to install executables.
90 bindir=@bindir@
91
92 # `libdir' says where to install platform-dependent data.
93 libdir=@libdir@
94 libprogramdir=$(libdir)/groff
95
96 # `datasubdir' says where to install platform-independent data files.
97 datadir=@datadir@
98 dataprogramdir=$(datadir)/groff
99 datasubdir=$(dataprogramdir)/$(version)$(revision)
100
101 # `infodir' says where to install info files.
102 infodir=@infodir@
103
104 # `docdir' says where to install documentation files.
105 docdir=$(datadir)/doc/groff/$(version)$(revision)
106
107 # `exampledir' says where to install example files.
108 exampledir=$(docdir)/examples
109
110 # `htmldocdir' says where to install documentation in HTML format.
111 htmldocdir=$(docdir)/html
112
113 # `fontdir' says where to install dev*/*.
114 fontdir=$(datasubdir)/font
115
116 # `localfontdir' says where local fonts will be installed (as dev*/*).
117 localfontdir=$(dataprogramdir)/site-font
118
119 # `legacyfontdir' is for compatibility with non-GNU troff.
120 legacyfontdir=/usr/lib/font
121
122 # `fontpath' says where to look for dev*/*.
123 fontpath=$(localfontdir):$(fontdir):$(legacyfontdir)
124
125 # `tmacdir' says where to install macros.
126 tmacdir=$(datasubdir)/tmac
127
128 # `systemtmacdir' says where to install platform-dependent macros.
129 systemtmacdir=$(libprogramdir)/site-tmac
130
131 # `localtmacdir' says where local files will be installed.
132 localtmacdir=$(dataprogramdir)/site-tmac
133
134 # `tmacpath' says where to look for macro files.
135 # The current directory will be prepended in unsafe mode only; the home
136 # directory will be always added.
137 # `troffrc' and `troffrc-end' (and `eqnrc') are searched neither in the
138 # current nor in the home directory.
139 tmacpath=$(systemtmacdir):$(localtmacdir):$(tmacdir)
140
141 # `sys_tmac_prefix' is prefix (if any) for system macro packages.
142 sys_tmac_prefix=@sys_tmac_prefix@
143
144 # `tmac_wrap' is list of system macro packages that should be made
145 # available to groff by creating a corresponding macro package
146 # in the groff macro directory that references the system macro
147 # package.
148 tmac_wrap=@tmac_wrap@
149
150 # If there is a groff version of a macro package listed in $(tmac_wrap),
151 # then the groff version will be installed with a prefix of this.
152 # Don't make this empty.
153 tmac_prefix=g
154
155 # The groff -mm macros will be available as -m$(tmac_m_prefix)m.
156 tmac_m_prefix=\
157  `for i in $(tmac_wrap) ""; do case "$$i" in m) echo $(tmac_prefix);; esac; done`
158 # The groff -ms macros will be available as -m$(tmac_s_prefix)s.
159 tmac_s_prefix=\
160  `for i in $(tmac_wrap) ""; do case "$$i" in s) echo $(tmac_prefix);; esac; done`
161 # The groff -man macros will be available as -m$(tmac_an_prefix)an.
162 tmac_an_prefix=\
163  `for i in $(tmac_wrap) ""; do case "$$i" in an) echo $(tmac_prefix);; esac; done`
164
165 # Extension to be used for refer index files.  Index files are not
166 # sharable between different architectures, so you might want to use
167 # different suffixes for different architectures.  Choose an extension
168 # that doesn't conflict with refer or any other indexing program.
169 indexext=.i
170
171 # Directory containing the default index for refer.
172 indexdir=/usr/dict/papers
173
174 # The filename (without suffix) of the default index for refer.
175 indexname=Ind
176
177 # common_words_file is a file containing a list of common words.
178 # If your system provides /usr/lib/eign it will be copied onto this,
179 # otherwise the supplied eign file will be used.
180 common_words_file=$(datasubdir)/eign
181
182 # `manroot' is the root of the man page directory tree.
183 mandir=@mandir@
184 manroot=$(mandir)
185
186 # `man1ext' is the man section for user commands.
187 man1ext=1
188 man1dir=$(manroot)/man$(man1ext)
189
190 # `man5ext' is the man section for file formats.
191 man5ext=5
192 man5dir=$(manroot)/man$(man5ext)
193
194 # `man7ext' is the man section for macros.
195 man7ext=7
196 man7dir=$(manroot)/man$(man7ext)
197
198 # The configure script checks whether all necessary utility programs for
199 # grohtml are available -- only then we can build the HTML documentation.
200 make_html=@make_html@
201 make_install_html=@make_install_html@
202
203 # DEFINES should include the following:
204 # -DHAVE_MMAP                   if you have mmap() and <sys/mman.h>
205 # -DARRAY_DELETE_NEEDS_SIZE     if your C++ doesn't understand `delete []'
206 # -DSYS_SIGLIST_DECLARED        if you have sys_siglist[]
207 # -DWCOREFLAG=0200              if the 0200 bit of the status returned by
208 #                               wait() indicates whether a core image was
209 #                               produced for a process that was terminated
210 #                               by a signal
211 #
212 # -DHAVE_DIRENT_H               if you have <dirent.h>
213 # -DHAVE_LIMITS_H               if you have <limits.h>
214 # -DHAVE_CC_LIMITS_H            if you have a C++ <limits.h>
215 # -DHAVE_MATH_H                 if you have <math.h>
216 # -DHAVE_CC_OSFCN_H             if you have a C++ <osfcn.h>
217 # -DHAVE_STDINT_H               if you have <stdint.h>
218 # -DHAVE_STDLIB_H               if you have <stdlib.h>
219 # -DHAVE_STRING_H               if you have <string.h>
220 # -DHAVE_STRINGS_H              if you have <strings.h>
221 # -DHAVE_SYS_DIR_H              if you have <sys/dir.h>
222 # -DHAVE_SYS_TIME_H             if you have <sys/time.h>
223 # -DHAVE_UNISTD_H               if you have <unistd.h>
224 #
225 # -DHAVE_FMOD                   if you have fmod()
226 # -DHAVE_GETCWD                 if you have getcwd()
227 # -DHAVE_GETTIMEOFDAY           if you have gettimeofday()
228 # -DHAVE_ISATTY                 if you have isatty()
229 # -DHAVE_MKSTEMP                if you have mkstemp()
230 # -DHAVE_MMAP                   if you have mmap()
231 # -DHAVE_PUTENV                 if you have putenv()
232 # -DHAVE_RENAME                 if you have rename()
233 # -DHAVE_SNPRINTF               if you have snprintf()
234 # -DHAVE_STRCASECMP             if you have strcasecmp()
235 # -DHAVE_STRNCASECMP            if you have strncasecmp()
236 # -DHAVE_STRERROR               if you have strerror()
237 # -DHAVE_STRSEP                 if you have strsep()
238 # -DHAVE_STRTOL                 if you have strtol()
239 #
240 # -DNEED_DECLARATION_GETTIMEOFTODAY
241 #                               if your C++ <sys/time.h> doesn't declare
242 #                               gettimeofday()
243 # -DNEED_DECLARATION_HYPOT      if your C++ <math.h> doesn't declare hypot()
244 # -DNEED_DECLARATION_PCLOSE     if your C++ <stdio.h> doesn't declare pclose()
245 # -DNEED_DECLARATION_POPEN      if your C++ <stdio.h> doesn't declare popen()
246 # -DNEED_DECLARATION_PUTENV     if your C++ <stdlib.h> doesn't declare putenv()
247 # -DNEED_DECLARATION_STRCASECMP if your C++ <string.h> doesn't declare
248 #                               strcasecmp()
249 # -DNEED_DECLARATION_STRNCASECMP
250 #                               if your C++ <string.h> doesn't declare
251 #                               strncasecmp()
252 #
253 # -DRET_TYPE_SRAND_IS_VOID      if srand() returns void not int
254 # -DHAVE_SYS_NERR               if you have sysnerr in <errno.h> or <stdio.h>
255 # -DHAVE_SYS_ERRLIST            if you have sys_errlist in <errno.h> or
256 #                               <stdio.h>
257 # -DTRADITIONAL_CPP             if your C++ compiler uses a traditional
258 #                               (Reiser) preprocessor
259 # -DLONG_FOR_TIME_T             if localtime() takes a long * not a time_t *
260 # -DHAVE_STRUCT_EXCEPTION       if <math.h> defines struct exception
261 # -DRETSIGTYPE=int              if signal handlers return int not void  
262 # -DIS_EBCDIC_HOST              if the host's encoding is EBCDIC
263 # -DPAGEA4                      if the the printer's page size is A4
264 DEFINES=@DEFS@
265
266 # Include
267 #
268 #   {fmod,getcwd,mkstemp,putenv,snprintf,strerror,strtol}.$(OBJEXT)
269 #
270 # in LIBOBJS if your C library is missing the corresponding function.
271 LIBOBJS=@LIBOBJS@
272
273 # `CCC' is the compiler for C++ (.cc) files.
274 CCC=@CXX@
275 CC=@CC@
276 # CCDEFINES are definitions for C++ compilations.
277 CCDEFINES=$(DEFINES)
278 # CDEFINES are definitions for C compilations.
279 CDEFINES=$(DEFINES)
280
281 CCFLAGS=@CXXFLAGS@
282 CFLAGS=@CFLAGS@
283 LDFLAGS=@LDFLAGS@
284 YACC=@YACC@
285 YACCFLAGS=-v
286
287 EXEEXT=@EXEEXT@
288 OBJEXT=@OBJEXT@
289 LIBS=@LIBS@
290 LIBM=@LIBM@
291 RANLIB=@RANLIB@
292 INSTALL=@INSTALL@
293 INSTALL_PROGRAM=@INSTALL_PROGRAM@
294 INSTALL_SCRIPT=@INSTALL_SCRIPT@
295 INSTALL_DATA=@INSTALL_DATA@
296 INSTALL_INFO=@INSTALL_INFO@
297 LN_S=@LN_S@
298 AR=ar
299 ETAGS=etags
300 ETAGSFLAGS=
301 # Flag that tells etags to assume C++.
302 ETAGSCCFLAG=-C
303 # Full path to perl.
304 PERLPATH=@PERLPATH@
305 # Sed command with which to edit sh scripts.
306 SH_SCRIPT_SED_CMD=@SH_SCRIPT_SED_CMD@
307
308 # The program to create directory hierarchies.
309 mkinstalldirs=$(top_srcdir)/mkinstalldirs
310
311 PURIFY=purify
312 PURIFYCCFLAGS=
313 #PURIFYCCFLAGS=-g++=yes \
314 #  -collector=`dirname \`$(CCC) -print-libgcc-file-name\``/ld
315
316 # Passing down MAKEOVERRIDES prevents $(MAKE) from containing a second
317 # copy of $(MDEFINES) when making individual directories; this could
318 # cause the argument list to become too long on some systems.
319 MDEFINES= \
320   "MAKEOVERRIDES=$(MAKEOVERRIDES)" \
321   "PAGE=$(PAGE)" \
322   "BROKEN_SPOOLER_FLAGS=$(BROKEN_SPOOLER_FLAGS)" \
323   "DEVICE=$(DEVICE)" \
324   "TTYDEVDIRS=$(TTYDEVDIRS)" \
325   "OTHERDEVDIRS=$(OTHERDEVDIRS)" \
326   "PSPRINT=$(PSPRINT)" \
327   "DVIPRINT=$(DVIPRINT)" \
328   "version=$(version)" \
329   "revision=$(revision)" \
330   "top_srcdir=$(top_srcdir)" \
331   "top_builddir=$(top_builddir)" \
332   "prefix=$(prefix)" \
333   "exec_prefix=$(exec_prefix)" \
334   "g=$(g)" \
335   "datadir=$(datadir)" \
336   "dataprogramdir=$(dataprogramdir)" \
337   "datasubdir=$(datasubdir)" \
338   "infodir=$(infodir)" \
339   "docdir=$(docdir)" \
340   "exampledir=$(exampledir)" \
341   "htmldocdir=$(htmldocdir)" \
342   "libdir=$(libdir)" \
343   "libprogramdir=$(libprogramdir)" \
344   "bindir=$(bindir)" \
345   "fontdir=$(fontdir)" \
346   "localfontdir=$(localfontdir)" \
347   "legacyfontdir=$(legacyfontdir)" \
348   "fontpath=$(fontpath)" \
349   "tmacdir=$(tmacdir)" \
350   "systemtmacdir=$(systemtmacdir)" \
351   "localtmacdir=$(localtmacdir)" \
352   "tmacpath=$(tmacpath)" \
353   "indexext=$(indexext)" \
354   "indexdir=$(indexdir)" \
355   "indexname=$(indexname)" \
356   "common_words_file=$(common_words_file)" \
357   "manroot=$(manroot)" \
358   "man1ext=$(man1ext)" \
359   "man1dir=$(man1dir)" \
360   "man5ext=$(man5ext)" \
361   "man5dir=$(man5dir)" \
362   "man7ext=$(man7ext)" \
363   "man7dir=$(man7dir)" \
364   "make_html=$(make_html)" \
365   "make_install_html=$(make_install_html)" \
366   "mkinstalldirs=$(mkinstalldirs)" \
367   "tmac_wrap=$(tmac_wrap)" \
368   "sys_tmac_prefix=$(sys_tmac_prefix)" \
369   "tmac_an_prefix=$(tmac_an_prefix)" \
370   "tmac_s_prefix=$(tmac_s_prefix)" \
371   "tmac_m_prefix=$(tmac_m_prefix)" \
372   "EXEEXT=$(EXEEXT)" \
373   "OBJEXT=$(OBJEXT)" \
374   "CCC=$(CCC)" \
375   "CC=$(CC)" \
376   "CCDEFINES=$(CCDEFINES)" \
377   "CDEFINES=$(CDEFINES)" \
378   "CCFLAGS=$(CCFLAGS)" \
379   "CFLAGS=$(CFLAGS)" \
380   "LDFLAGS=$(LDFLAGS)" \
381   "YACC=$(YACC)" \
382   "YACCFLAGS=$(YACCFLAGS)" \
383   "LIBM=$(LIBM)" \
384   "LIBS=$(LIBS)" \
385   "LIBOBJS=$(LIBOBJS)" \
386   "RANLIB=$(RANLIB)" \
387   "AR=$(AR)" \
388   "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
389   "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
390   "INSTALL_DATA=$(INSTALL_DATA)" \
391   "INSTALL_INFO=$(INSTALL_INFO)" \
392   "ETAGS=$(ETAGS)" \
393   "ETAGSFLAGS=$(ETAGSFLAGS)" \
394   "ETAGSCCFLAG=$(ETAGSCCFLAG)" \
395   "PERLPATH=$(PERLPATH)" \
396   "SH_SCRIPT_SED_CMD=$(SH_SCRIPT_SED_CMD)" \
397   "PURIFY=$(PURIFY)" \
398   "PURIFYCCFLAGS=$(PURIFYCCFLAGS)"
399
400 SHELL=/bin/sh
401 INCDIRS=src/include
402 LIBDIRS=\
403   src/libs/libgroff \
404   src/libs/libdriver \
405   src/libs/libbib
406 CCPROGDIRS=\
407   src/roff/groff \
408   src/roff/troff \
409   src/preproc/tbl \
410   src/preproc/pic \
411   src/preproc/eqn \
412   src/preproc/grn \
413   src/preproc/refer \
414   src/preproc/soelim \
415   src/preproc/html \
416   src/devices/grops \
417   src/devices/grotty \
418   src/devices/grodvi \
419   src/devices/grolj4 \
420   src/devices/grohtml \
421   src/devices/grolbp \
422   src/utils/tfmtodit \
423   src/utils/hpftodit \
424   src/utils/lookbib \
425   src/utils/indxbib \
426   src/utils/lkbib \
427   src/utils/addftinfo
428 CPROGDIRS=src/utils/pfbtops
429 PROGDIRS=$(CCPROGDIRS) $(CPROGDIRS)
430 DEVDIRS=\
431   font/devps \
432   font/devdvi \
433   font/devX75 \
434   font/devX75-12 \
435   font/devX100 \
436   font/devX100-12 \
437   font/devhtml
438 ALLTTYDEVDIRS=\
439   font/devascii \
440   font/devlatin1 \
441   font/devutf8 \
442   font/devcp1047
443 OTHERDIRS=\
444   man \
445   tmac \
446   src/utils/afmtodit \
447   src/roff/grog \
448   src/roff/nroff \
449   contrib/mm \
450   contrib/pic2graph \
451   contrib/eqn2graph \
452   contrib/groffer \
453   contrib/mom \
454   doc
455 ALLDIRS=$(INCDIRS) $(LIBDIRS) $(PROGDIRS) \
456   $(DEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS) $(OTHERDIRS)
457 EXTRADIRS=\
458   font/devps/generate \
459   font/devdvi/generate \
460   font/devlj4/generate \
461   src/xditview \
462   doc
463 NOMAKEDIRS=\
464   arch/djgpp \
465   contrib/mm/examples \
466   contrib/mm/mm \
467   contrib/mom/examples \
468   contrib/mom/momdoc \
469   src/libs/snprintf
470 DISTDIRS=\
471   $(INCDIRS) $(LIBDIRS) $(PROGDIRS) $(DEVDIRS) $(OTHERDEVDIRS) \
472   $(ALLTTYDEVDIRS) $(OTHERDIRS) $(EXTRADIRS) $(NOMAKEDIRS)
473 TARGETS=all install install_bin install_data clean distclean mostlyclean \
474   realclean extraclean distfiles TAGS depend uninstall_sub
475
476 # This ENVSETUP gork is required by the DJGPP build on Windows 9X,
477 # where Make needs to be case-sensitive to find files like BI and VERSION.
478 ENVSETUP=\
479         if test -f $(srcdir)/makefile.ccpg* && \
480            test -f $(srcdir)/Makefile.ccpg*; \
481         then FNCASE=y; export FNCASE; \
482         else :; \
483         fi
484
485 do=all
486 dodirs=$(ALLDIRS) dot
487 # Default target for subdir_Makefile
488 subdir=src/roff/troff
489
490
491 $(TARGETS):
492         @$(ENVSETUP); $(MAKE) $(MDEFINES) do=$@ $(dodirs)
493
494 dot: FORCE
495         @$(ENVSETUP); \
496         $(MAKE) $(MDEFINES) srcdir=$(srcdir) VPATH=$(srcdir) \
497           -f $(top_srcdir)/Makefile.comm \
498           -f $(top_srcdir)/Makefile.sub $(do)
499
500 $(LIBDIRS): FORCE
501         @$(ENVSETUP); \
502         if test $(srcdir) = .; \
503         then srcdir=.; \
504         else srcdir=`cd $(srcdir); pwd`/$@; \
505         fi; \
506         test -d $@ || $(mkinstalldirs) $@; \
507         cd $@; \
508         test -f Makefile.dep || touch Makefile.dep; \
509         $(MAKE) $(MDEFINES) srcdir=$$srcdir VPATH=$$srcdir \
510           -f $(top_srcdir)/Makefile.comm \
511           -f $$srcdir/Makefile.sub \
512           -f $(top_srcdir)/Makefile.lib \
513           -f Makefile.dep $(do)
514
515 $(CPROGDIRS): FORCE
516         @$(ENVSETUP); \
517         if test $(srcdir) = .; \
518         then srcdir=.; \
519         else srcdir=`cd $(srcdir); pwd`/$@; \
520         fi; \
521         test -d $@ || $(mkinstalldirs) $@; \
522         cd $@; \
523         test -f Makefile.dep || touch Makefile.dep; \
524         $(MAKE) $(MDEFINES) srcdir=$$srcdir VPATH=$$srcdir \
525           -f $(top_srcdir)/Makefile.comm \
526           -f $$srcdir/Makefile.sub \
527           -f $(top_srcdir)/Makefile.cpg \
528           -f Makefile.dep $(do)
529
530 $(CCPROGDIRS): FORCE
531         @$(ENVSETUP); \
532         if test $(srcdir) = .; \
533         then srcdir=.; \
534         else srcdir=`cd $(srcdir); pwd`/$@; \
535         fi; \
536         test -d $@ || $(mkinstalldirs) $@; \
537         cd $@; \
538         test -f Makefile.dep || touch Makefile.dep; \
539         $(MAKE) $(MDEFINES) srcdir=$$srcdir VPATH=$$srcdir \
540           -f $(top_srcdir)/Makefile.comm \
541           -f $$srcdir/Makefile.sub \
542           -f $(top_srcdir)/Makefile.ccpg \
543           -f Makefile.dep $(do)
544
545 $(DEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS): FORCE
546         @$(ENVSETUP); \
547         if test $(srcdir) = .; \
548         then srcdir=.; \
549         else srcdir=`cd $(srcdir); pwd`/$@; \
550         fi; \
551         test -d $@ || $(mkinstalldirs) $@; \
552         cd $@; \
553         $(MAKE) $(MDEFINES) srcdir=$$srcdir VPATH=$$srcdir \
554           -f $(top_srcdir)/Makefile.comm \
555           -f $$srcdir/Makefile.sub \
556           -f $(top_srcdir)/Makefile.dev $(do)
557
558 $(INCDIRS) $(OTHERDIRS): FORCE
559         @$(ENVSETUP); \
560         if test $(srcdir) = .; \
561         then srcdir=.; \
562         else srcdir=`cd $(srcdir); pwd`/$@; \
563         fi; \
564         test -d $@ || $(mkinstalldirs) $@; \
565         cd $@; \
566         $(MAKE) $(MDEFINES) srcdir=$$srcdir VPATH=$$srcdir \
567           -f $(top_srcdir)/Makefile.comm \
568           -f $$srcdir/Makefile.sub \
569           -f $(top_srcdir)/Makefile.man $(do)
570
571 .PHONY: dist
572 dist:
573         -rm -fr tmp
574         rm -f groff-$(version)$(revision).tar.gz
575         mkdir tmp
576         for d in $(DISTDIRS); do \
577           $(mkinstalldirs) tmp/$$d; \
578         done
579         srcdir=`cd $(srcdir); pwd`; \
580         cd tmp; \
581         $(LN_S) ../Makefile .; \
582         $(LN_S) $$srcdir/* . 2>/dev/null || true; \
583         rm -rf CVS; \
584         for d in $(DISTDIRS); do \
585           (cd $$d; \
586            $(LN_S) $$srcdir/$$d/* . 2>/dev/null; \
587            rm -rf CVS || true); \
588         done; \
589         $(MAKE) srcdir=. VPATH=. distfiles; \
590         $(MAKE) srcdir=. VPATH=. extraclean; \
591         for d in $(EXTRADIRS); do \
592           (cd $$d; $(MAKE) extraclean); \
593         done; \
594         rm -f Makefile; \
595         $(LN_S) $$srcdir/Makefile.init Makefile
596         mv tmp groff-$(version)$(revision)
597         tar cfh - groff-$(version)$(revision) | \
598           gzip -c >groff-$(version)$(revision).tar.gz
599         rm -fr groff-$(version)$(revision)
600
601 # $(PROGDIRS): libgroff
602 # grops grotty grodvi: libdriver
603 # refer lookbib indxbib lkbib: libbib
604 # $(LIBDIRS) $(PROGDIRS): include
605
606 .PHONY: $(ALLDIRS) dot $(TARGETS) FORCE
607
608 # Create a Makefile in $(subdir).  This is useful for development since it
609 # avoids running make recursively.
610 subdir_Makefile: Makefile.cfg
611         $(MAKE) do=Makefile $(subdir)
612
613 Makefile.cfg: Makefile
614         >Makefile.cfg
615         for var in $(MDEFINES); do \
616           echo "$$var" >>Makefile.cfg; \
617         done
618
619 Makefile: Makefile.in
620         $(SHELL) config.status
621
622 .PHONY: uninstall
623 uninstall: uninstall_sub uninstall_dirs
624
625 .PHONY: uninstall_dirs
626 uninstall_dirs:
627 # Use `rmdir' here so that the directories are only removed if they are empty.
628         -rmdir $(man1dir) $(man5dir) $(man7dir) $(manroot) \
629           $(tmacdir) $(systemtmacdir) $(localtmacdir) \
630           $(fontdir) $(localfontdir) $(bindir) \
631           $(datasubdir) $(dataprogramdir) $(datadir) $(infodir) \
632           $(exampledir) $(htmldocdir) $(docdir) \
633           $(libprogramdir) $(libdir)
634
635
636 .PHONY: check
637 check:
638
639 FORCE:
640
641 .NOEXPORT: