]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/groff/Makefile.in
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / groff / Makefile.in
1 # Copyright (C) 1989-2000, 2001, 2002, 2003, 2004, 2005
2 #   Free Software Foundation, Inc.
3 #      Written by James Clark (jjc@jclark.com)
4
5 # This file is part of groff.
6
7 # groff is free software; you can redistribute it and/or modify it under
8 # the terms of the GNU General Public License as published by the Free
9 # Software Foundation; either version 2, or (at your option) any later
10 # version.
11
12 # groff is distributed in the hope that it will be useful, but WITHOUT ANY
13 # WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15 # for more details.
16
17 # You should have received a copy of the GNU General Public License along
18 # with groff; see the file COPYING.  If not, write to the Free Software
19 # Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA.
20
21 SHELL=@SHELL@
22
23 srcdir=@srcdir@
24 top_srcdir=@abs_top_srcdir@
25 VPATH=@srcdir@
26 top_builddir=@abs_top_builddir@
27
28 # `RT_SEP' is the operating system's native PATH SEPARATOR CHAR, which
29 # is to be used in runtime PATHs compiled into groff executables.
30 RT_SEP=@GROFF_PATH_SEPARATOR@
31
32 # `SH_SEP' is a alternative PATH SEPARATOR CHAR, to be used in shell
33 # scripts and makefile rules; it may be the same as `RT_SEP', but,
34 # particularly in some Microsoft environments, it may differ.
35 SH_SEP=@PATH_SEPARATOR@
36
37 version=`cat $(top_srcdir)/VERSION`
38 # No additional number if revision is zero.
39 revision=`sed -e 's/^0$$//' -e 's/^[1-9].*$$/.&/' $(top_srcdir)/REVISION`
40
41 # Define `page' to be letter if your PostScript printer uses 8.5x11
42 # paper (USA) and define it to be A4, if it uses A4 paper (rest of the
43 # world).
44 PAGE=@PAGE@
45
46 # The name of the ghostscript program. Normally, gs, on GNU/Linux
47 # but it might be different on MS-DOS/MS-WIN32 systems.
48 GHOSTSCRIPT=@GHOSTSCRIPT@
49
50 # `ALT_GHOSTSCRIPT_PROGS' specifies a list alternative names,
51 # which can be tried if `GHOSTSCRIPT' cannot be found at run time.
52 ALT_GHOSTSCRIPT_PROGS=@ALT_GHOSTSCRIPT_PROGS@
53
54 # Similarly, `ALT_AWK_PROGS' specifies a list of alternative names,
55 # which can be tried at run time, to identify the awk program.
56 ALT_AWK_PROGS=@ALT_AWK_PROGS@
57
58 # Normally the Postscript driver, grops, produces output that conforms
59 # to version 3.0 of the Adobe Document Structuring Conventions.
60 # Unfortunately some spoolers and previewers can't handle such output.
61 # The BROKEN_SPOOLER_FLAGS variable tells grops what it should do to
62 # make its output acceptable to such programs.  This variable controls
63 # only the default behaviour of grops; the behaviour can be changed at
64 # runtime by the grops -b option (and so by groff -P-b).
65 # Use a value of 0 if your spoolers and previewers are able to handle
66 # conforming PostScript correctly.
67 # Add 1 if no %%{Begin,End}DocumentSetup comments should be generated;
68 # this is needed for early versions of TranScript that get confused by
69 # anything between the %%EndProlog line and the first %%Page: comment.
70 # Add 2 if lines in included files beginning with %! should be
71 # stripped out; this is needed for the OpenWindows 2.0 pageview previewer.
72 # Add 4 if %%Page, %%Trailer and %%EndProlog comments should be
73 # stripped out of included files; this is needed for spoolers that
74 # don't understand the %%{Begin,End}Document comments. I suspect this
75 # includes early versions of TranScript.
76 # Add 8 if the first line of the PostScript output should be %!PS-Adobe-2.0
77 # rather than %!PS-Adobe-3.0; this is needed when using Sun's Newsprint
78 # with a printer that requires page reversal.
79 BROKEN_SPOOLER_FLAGS=@BROKEN_SPOOLER_FLAGS@
80
81 # `DEVICE' is the default device.
82 DEVICE=ps
83
84 # `XDEVDIRS' is either `font/devX{75,100}{,-12}' or empty.
85 XDEVDIRS=@XDEVDIRS@
86
87 # `XPROGDIRS' is either `src/devices/xditview src/utils/xtotroff' or empty.
88 XPROGDIRS=@XPROGDIRS@
89
90 # `XLIBDIRS' is either `src/libs/libxutil' or empty.
91 XLIBDIRS=@XLIBDIRS@
92
93 # `TTYDEVDIRS' is either `font/devascii font/devlatin1' (for
94 # ASCII) or `font/devcp1047' (for EBCDIC) plus font/devutf8.
95 TTYDEVDIRS=@TTYDEVDIRS@ font/devutf8
96
97 # `OTHERDEVDIRS' is either `font/devlj4 font/devlbp' (for ASCII) or
98 # empty (for EBCDIC).
99 OTHERDEVDIRS=@OTHERDEVDIRS@
100
101 # `PSPRINT' is the command to use for printing a PostScript file,
102 # for example `lpr'.
103 PSPRINT=@PSPRINT@
104
105 # `DVIPRINT' is the command to use for printing a TeX dvi file,
106 # for example `lpr -d'.
107 DVIPRINT=@DVIPRINT@
108
109 # Prefix for names of programs that have Unix counterparts.
110 # For example, if `g' is `g' then troff will be installed as
111 # gtroff.  This doesn't affect programs like grops or groff that have
112 # no Unix counterparts.  Note that the groff versions of eqn and tbl
113 # will not work with Unix troff.
114 g=@g@
115
116 # Common prefix for installation directories.
117 # Used in definitions of exec_prefix, datasubdir, fontpath, manroot.
118 # This must already exist when you do make install.
119 prefix=@prefix@
120 exec_prefix=@exec_prefix@
121
122 # `bindir' says where to install executables.
123 bindir=@bindir@
124
125 # `libdir' says where to install platform-dependent data.
126 libdir=@libdir@
127 libprogramdir=$(libdir)/groff
128
129 # `datasubdir' says where to install platform-independent data files.
130 datadir=@datadir@
131 dataprogramdir=$(datadir)/groff
132 datasubdir=$(dataprogramdir)/$(version)$(revision)
133
134 # `infodir' says where to install info files.
135 infodir=@infodir@
136
137 # `docdir' says where to install documentation files.
138 docdir=$(datadir)/doc/groff/$(version)$(revision)
139
140 # `exampledir' says where to install example files.
141 exampledir=$(docdir)/examples
142
143 # `htmldocdir' says where to install documentation in HTML format.
144 htmldocdir=$(docdir)/html
145
146 # `pdfdocdir' says where to install documentation in PDF format.
147 pdfdocdir=$(docdir)/pdf
148
149 # `fontdir' says where to install dev*/*.
150 fontdir=$(datasubdir)/font
151
152 # `localfontdir' says where local fonts will be installed (as dev*/*).
153 localfontdir=$(dataprogramdir)/site-font
154
155 # `legacyfontdir' is for compatibility with non-GNU troff.
156 legacyfontdir=/usr/lib/font
157
158 # `fontpath' says where to look for dev*/*.
159 fontpath=$(localfontdir)$(RT_SEP)$(fontdir)$(RT_SEP)$(legacyfontdir)
160
161 # `tmacdir' says where to install macros.
162 tmacdir=$(datasubdir)/tmac
163
164 # `systemtmacdir' says where to install platform-dependent macros.
165 systemtmacdir=$(libprogramdir)/site-tmac
166
167 # `localtmacdir' says where local files will be installed.
168 localtmacdir=$(dataprogramdir)/site-tmac
169
170 # `appresdir' says where to install the application resource file for
171 # gxditview.
172 appresdir=@appresdir@
173
174 # `tmacpath' says where to look for macro files.
175 # The current directory will be prepended in unsafe mode only; the home
176 # directory will be always added.
177 # `troffrc' and `troffrc-end' (and `eqnrc') are searched neither in the
178 # current nor in the home directory.
179 tmacpath=$(systemtmacdir)$(RT_SEP)$(localtmacdir)$(RT_SEP)$(tmacdir)
180
181 # `sys_tmac_prefix' is prefix (if any) for system macro packages.
182 sys_tmac_prefix=@sys_tmac_prefix@
183
184 # `pnmtops_nosetpage' is the command to be run to generate an eps
185 # file.  Some versions of pnmtops provide the -nosetpage option.
186 # We detect this and use it if present.
187 pnmtops_nosetpage=@pnmtops_nosetpage@
188
189 # `tmac_wrap' is list of system macro packages that should be made
190 # available to groff by creating a corresponding macro package
191 # in the groff macro directory that references the system macro
192 # package.
193 tmac_wrap=@tmac_wrap@
194
195 # If there is a groff version of a macro package listed in $(tmac_wrap),
196 # then the groff version will be installed with a prefix of this.
197 # Don't make this empty.
198 tmac_prefix=g
199
200 # The groff -mm macros will be available as -m$(tmac_m_prefix)m.
201 tmac_m_prefix=\
202  `for i in $(tmac_wrap) ""; do case "$$i" in m) echo $(tmac_prefix);; esac; done`
203 # The groff -ms macros will be available as -m$(tmac_s_prefix)s.
204 tmac_s_prefix=\
205  `for i in $(tmac_wrap) ""; do case "$$i" in s) echo $(tmac_prefix);; esac; done`
206 # The groff -man macros will be available as -m$(tmac_an_prefix)an.
207 tmac_an_prefix=\
208  `for i in $(tmac_wrap) ""; do case "$$i" in an) echo $(tmac_prefix);; esac; done`
209
210 # Extension to be used for refer index files.  Index files are not
211 # sharable between different architectures, so you might want to use
212 # different suffixes for different architectures.  Choose an extension
213 # that doesn't conflict with refer or any other indexing program.
214 indexext=.i
215
216 # Directory containing the default index for refer.
217 indexdir=/usr/dict/papers
218
219 # The filename (without suffix) of the default index for refer.
220 indexname=Ind
221
222 # common_words_file is a file containing a list of common words.
223 # If your system provides /usr/lib/eign it will be copied onto this,
224 # otherwise the supplied eign file will be used.
225 common_words_file=$(datasubdir)/eign
226
227 # `manroot' is the root of the man page directory tree.
228 mandir=@mandir@
229 manroot=$(mandir)
230
231 # `man1ext' is the man section for user commands.
232 man1ext=1
233 man1dir=$(manroot)/man$(man1ext)
234
235 # `man5ext' is the man section for file formats.
236 man5ext=5
237 man5dir=$(manroot)/man$(man5ext)
238
239 # `man7ext' is the man section for macros.
240 man7ext=7
241 man7dir=$(manroot)/man$(man7ext)
242
243 # The configure script checks whether all necessary utility programs for
244 # grohtml are available -- only then we can build the HTML documentation.
245 make_html=@make_html@
246 make_install_html=@make_install_html@
247
248 # The configure script also checks whether all necessary utility programs
249 # for pdfroff are available -- only then we can build PDF documentation.
250 make_pdfdoc=@make_pdfdoc@
251 make_install_pdfdoc=@make_install_pdfdoc@
252
253 # DEFINES should include the following:
254 # -DHAVE_MMAP                   if you have mmap() and <sys/mman.h>
255 # -DARRAY_DELETE_NEEDS_SIZE     if your C++ doesn't understand `delete []'
256 # -DSYS_SIGLIST_DECLARED        if you have sys_siglist[]
257 # -DWCOREFLAG=0200              if the 0200 bit of the status returned by
258 #                               wait() indicates whether a core image was
259 #                               produced for a process that was terminated
260 #                               by a signal
261 #
262 # -DHAVE_DIRENT_H               if you have <dirent.h>
263 # -DHAVE_LIMITS_H               if you have <limits.h>
264 # -DHAVE_CC_LIMITS_H            if you have a C++ <limits.h>
265 # -DHAVE_MATH_H                 if you have <math.h>
266 # -DHAVE_CC_OSFCN_H             if you have a C++ <osfcn.h>
267 # -DHAVE_CC_INTTYPES_H          if you have a C++ <inttypes.h>
268 # -DHAVE_STDLIB_H               if you have <stdlib.h>
269 # -DHAVE_STRING_H               if you have <string.h>
270 # -DHAVE_STRINGS_H              if you have <strings.h>
271 # -DHAVE_SYS_DIR_H              if you have <sys/dir.h>
272 # -DHAVE_SYS_TIME_H             if you have <sys/time.h>
273 # -DHAVE_UNISTD_H               if you have <unistd.h>
274 #
275 # -DHAVE_FMOD                   if you have fmod()
276 # -DHAVE_GETCWD                 if you have getcwd()
277 # -DHAVE_GETTIMEOFDAY           if you have gettimeofday()
278 # -DHAVE_ISATTY                 if you have isatty()
279 # -DHAVE_KILL                   if you have kill()
280 # -DHAVE_MKSTEMP                if you have mkstemp()
281 # -DHAVE_MMAP                   if you have mmap()
282 # -DHAVE_PUTENV                 if you have putenv()
283 # -DHAVE_RENAME                 if you have rename()
284 # -DHAVE_SETLOCALE              if you have setlocale()
285 # -DHAVE_SNPRINTF               if you have snprintf()
286 # -DHAVE_STRCASECMP             if you have strcasecmp()
287 # -DHAVE_STRNCASECMP            if you have strncasecmp()
288 # -DHAVE_STRERROR               if you have strerror()
289 # -DHAVE_STRSEP                 if you have strsep()
290 # -DHAVE_STRTOL                 if you have strtol()
291 # -DHAVE_VSNPRINTF              if you have vsnprintf()
292 #
293 # -DNEED_DECLARATION_GETTIMEOFTODAY
294 #                               if your C++ <sys/time.h> doesn't declare
295 #                               gettimeofday()
296 # -DNEED_DECLARATION_HYPOT      if your C++ <math.h> doesn't declare hypot()
297 # -DNEED_DECLARATION_PCLOSE     if your C++ <stdio.h> doesn't declare pclose()
298 # -DNEED_DECLARATION_POPEN      if your C++ <stdio.h> doesn't declare popen()
299 # -DNEED_DECLARATION_PUTENV     if your C++ <stdlib.h> doesn't declare
300 #                               putenv()
301 # -DNEED_DECLARATION_RAND       if your C++ <stdlib.h> doesn't declare rand()
302 # -DNEED_DECLARATION_SNPRINTF   if your C++ <stdio.h> doesn't declare
303 #                               snprintf()
304 # -DNEED_DECLARATION_SRAND      if your C++ <stdlib.h> doesn't declare srand()
305 # -DNEED_DECLARATION_STRCASECMP if your C++ <string.h> doesn't declare
306 #                               strcasecmp()
307 # -DNEED_DECLARATION_STRNCASECMP
308 #                               if your C++ <string.h> doesn't declare
309 #                               strncasecmp()
310 # -DNEED_DECLARATION_VFPRINTF   if your C++ <stdio.h> doesn't declare
311 #                               vfprintf()
312 # -DNEED_DECLARATION_VSNPRINTF  if your C++ <stdio.h> doesn't declare
313 #                               vsnprintf()
314 #
315 # -DRET_TYPE_SRAND_IS_VOID      if srand() returns void not int
316 # -DHAVE_SYS_NERR               if you have sysnerr in <errno.h> or <stdio.h>
317 # -DHAVE_SYS_ERRLIST            if you have sys_errlist in <errno.h> or
318 #                               <stdio.h>
319 # -DTRADITIONAL_CPP             if your C++ compiler uses a traditional
320 #                               (Reiser) preprocessor
321 # -DLONG_FOR_TIME_T             if localtime() takes a long * not a time_t *
322 # -DHAVE_STRUCT_EXCEPTION       if <math.h> defines struct exception
323 # -DRETSIGTYPE=int              if signal handlers return int not void  
324 # -DIS_EBCDIC_HOST              if the host's encoding is EBCDIC
325 # -DPAGE=A4                     if the the printer's page size is A4
326 # -DGHOSTSCRIPT=gs              the name (and directory if required) of the
327 #                               ghostscript program
328 DEFINES=@DEFS@
329
330 # Include
331 #
332 #   {fmod,getcwd,mkstemp,putenv,snprintf,strcasecmp,
333 #    strerror,strncasecmp,strtol}.$(OBJEXT)
334 #
335 # in LIBOBJS if your C library is missing the corresponding function.
336 # vsnprintf is defined in the snprintf.$(OBJEXT) module.
337 LIBOBJS=@LIBOBJS@
338
339 # `CCC' is the compiler for C++ (.cpp) files.
340 CCC=@CXX@
341 CC=@CC@
342 # CCDEFINES are definitions for C++ compilations.
343 CCDEFINES=$(DEFINES)
344 # CDEFINES are definitions for C compilations.
345 CDEFINES=$(DEFINES)
346
347 CCFLAGS=@CXXFLAGS@
348 CFLAGS=@CFLAGS@
349 CPPFLAGS=@CPPFLAGS@
350 LDFLAGS=@LDFLAGS@
351
352 X_CFLAGS=@X_CFLAGS@
353 X_LIBS=@X_LIBS@
354 X_EXTRA_LIBS=@X_EXTRA_LIBS@
355 X_PRE_LIBS=@X_PRE_LIBS@
356
357 YACC=@YACC@
358 YACCFLAGS=-v
359
360 EXEEXT=@EXEEXT@
361 OBJEXT=@OBJEXT@
362 # a simple heuristic assumption
363 LIBEXT=`case $(OBJEXT) in obj) echo lib;; *) echo a;; esac`
364 LIBS=@LIBS@
365 LIBM=@LIBM@
366 RANLIB=@RANLIB@
367 INSTALL=@INSTALL@
368 INSTALL_PROGRAM=@INSTALL_PROGRAM@
369 INSTALL_SCRIPT=@INSTALL_SCRIPT@
370 INSTALL_DATA=@INSTALL_DATA@
371 INSTALL_INFO=@INSTALL_INFO@
372 LN_S=@LN_S@
373 AR=ar
374 ETAGS=etags
375 ETAGSFLAGS=
376 # Flag that tells etags to assume C++.
377 ETAGSCCFLAG=-C
378 # Full path to perl.
379 PERLPATH=@PERLPATH@
380 # Sed command with which to edit sh scripts.
381 SH_SCRIPT_SED_CMD=@SH_SCRIPT_SED_CMD@
382 # Sed script to deal with OS dependencies in sh scripts.
383 SH_DEPS_SED_SCRIPT=$(top_builddir)/arch/misc/shdeps.sed
384
385 # The program to create directory hierarchies.
386 mkinstalldirs= $(SHELL) $(top_srcdir)/mkinstalldirs
387
388 PURIFY=purify
389 PURIFYCCFLAGS=
390 #PURIFYCCFLAGS=-g++=yes \
391 #  -collector=`dirname \`$(CCC) -print-libgcc-file-name\``/ld
392
393 # Passing down MAKEOVERRIDES prevents $(MAKE) from containing a second
394 # copy of $(MDEFINES) when making individual directories; this could
395 # cause the argument list to become too long on some systems.
396 MDEFINES= \
397   "ALT_AWK_PROGS=$(ALT_AWK_PROGS)" \
398   "ALT_GHOSTSCRIPT_PROGS=$(ALT_GHOSTSCRIPT_PROGS)" \
399   "AR=$(AR)" \
400   "BROKEN_SPOOLER_FLAGS=$(BROKEN_SPOOLER_FLAGS)" \
401   "CC=$(CC)" \
402   "CCC=$(CCC)" \
403   "CCDEFINES=$(CCDEFINES)" \
404   "CCFLAGS=$(CCFLAGS)" \
405   "CDEFINES=$(CDEFINES)" \
406   "CFLAGS=$(CFLAGS)" \
407   "CPPFLAGS=$(CPPFLAGS)" \
408   "DEVICE=$(DEVICE)" \
409   "DVIPRINT=$(DVIPRINT)" \
410   "ETAGS=$(ETAGS)" \
411   "ETAGSCCFLAG=$(ETAGSCCFLAG)" \
412   "ETAGSFLAGS=$(ETAGSFLAGS)" \
413   "EXEEXT=$(EXEEXT)" \
414   "INSTALL_DATA=$(INSTALL_DATA)" \
415   "INSTALL_INFO=$(INSTALL_INFO)" \
416   "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
417   "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
418   "LDFLAGS=$(LDFLAGS)" \
419   "LIBEXT=$(LIBEXT)" \
420   "LIBM=$(LIBM)" \
421   "LIBOBJS=$(LIBOBJS)" \
422   "LIBS=$(LIBS)" \
423   "MAKEOVERRIDES=$(MAKEOVERRIDES)" \
424   "OBJEXT=$(OBJEXT)" \
425   "OTHERDEVDIRS=$(OTHERDEVDIRS)" \
426   "PAGE=$(PAGE)" \
427   "GHOSTSCRIPT=$(GHOSTSCRIPT)" \
428   "PERLPATH=$(PERLPATH)" \
429   "PSPRINT=$(PSPRINT)" \
430   "PURIFY=$(PURIFY)" \
431   "PURIFYCCFLAGS=$(PURIFYCCFLAGS)" \
432   "RANLIB=$(RANLIB)" \
433   "RT_SEP=$(RT_SEP)" \
434   "SH_SEP=$(SH_SEP)" \
435   "SHELL=$(SHELL)" \
436   "SH_SCRIPT_SED_CMD=$(SH_SCRIPT_SED_CMD)" \
437   "SH_DEPS_SED_SCRIPT=$(SH_DEPS_SED_SCRIPT)" \
438   "TTYDEVDIRS=$(TTYDEVDIRS)" \
439   "XDEVDIRS=$(XDEVDIRS)" \
440   "XLIBDIRS=$(XLIBDIRS)" \
441   "XPROGDIRS=$(XPROGDIRS)" \
442   "X_CFLAGS=$(X_CFLAGS)" \
443   "X_LIBS=$(X_LIBS)" \
444   "X_EXTRA_LIBS=$(X_EXTRA_LIBS)" \
445   "X_PRE_LIBS=$(X_PRE_LIBS)" \
446   "YACC=$(YACC)" \
447   "YACCFLAGS=$(YACCFLAGS)" \
448   "appresdir=$(appresdir)" \
449   "bindir=$(bindir)" \
450   "common_words_file=$(common_words_file)" \
451   "datadir=$(datadir)" \
452   "dataprogramdir=$(dataprogramdir)" \
453   "datasubdir=$(datasubdir)" \
454   "docdir=$(docdir)" \
455   "exampledir=$(exampledir)" \
456   "exec_prefix=$(exec_prefix)" \
457   "fontdir=$(fontdir)" \
458   "fontpath=$(fontpath)" \
459   "g=$(g)" \
460   "htmldocdir=$(htmldocdir)" \
461   "pdfdocdir=$(pdfdocdir)" \
462   "indexdir=$(indexdir)" \
463   "indexext=$(indexext)" \
464   "indexname=$(indexname)" \
465   "infodir=$(infodir)" \
466   "legacyfontdir=$(legacyfontdir)" \
467   "libdir=$(libdir)" \
468   "libprogramdir=$(libprogramdir)" \
469   "localfontdir=$(localfontdir)" \
470   "localtmacdir=$(localtmacdir)" \
471   "make_html=$(make_html)" \
472   "make_install_html=$(make_install_html)" \
473   "make_pdfdoc=$(make_pdfdoc)" \
474   "make_install_pdfdoc=$(make_install_pdfdoc)" \
475   "man1dir=$(man1dir)" \
476   "man1ext=$(man1ext)" \
477   "man5dir=$(man5dir)" \
478   "man5ext=$(man5ext)" \
479   "man7dir=$(man7dir)" \
480   "man7ext=$(man7ext)" \
481   "manroot=$(manroot)" \
482   "mkinstalldirs=$(mkinstalldirs)" \
483   "prefix=$(prefix)" \
484   "revision=$(revision)" \
485   "sys_tmac_prefix=$(sys_tmac_prefix)" \
486   "pnmtops_nosetpage=$(pnmtops_nosetpage)" \
487   "systemtmacdir=$(systemtmacdir)" \
488   "tmac_an_prefix=$(tmac_an_prefix)" \
489   "tmac_m_prefix=$(tmac_m_prefix)" \
490   "tmac_s_prefix=$(tmac_s_prefix)" \
491   "tmac_wrap=$(tmac_wrap)" \
492   "tmacdir=$(tmacdir)" \
493   "tmacpath=$(tmacpath)" \
494   "top_builddir=$(top_builddir)" \
495   "top_srcdir=$(top_srcdir)" \
496   "version=$(version)"
497
498 INCDIRS=src/include
499 LIBDIRS=\
500   src/libs/libgroff \
501   src/libs/libdriver \
502   src/libs/libbib \
503   $(XLIBDIRS)
504 CCPROGDIRS=\
505   src/roff/groff \
506   src/roff/troff \
507   src/preproc/tbl \
508   src/preproc/pic \
509   src/preproc/eqn \
510   src/preproc/grn \
511   src/preproc/refer \
512   src/preproc/soelim \
513   src/preproc/html \
514   src/devices/grops \
515   src/devices/grotty \
516   src/devices/grodvi \
517   src/devices/grolj4 \
518   src/devices/grohtml \
519   src/devices/grolbp \
520   src/utils/tfmtodit \
521   src/utils/hpftodit \
522   src/utils/lookbib \
523   src/utils/indxbib \
524   src/utils/lkbib \
525   src/utils/addftinfo
526 CPROGDIRS=\
527   src/utils/pfbtops \
528   $(XPROGDIRS)
529 PROGDEPDIRS=arch/misc
530 PROGDIRS=$(PROGDEPDIRS) $(CCPROGDIRS) $(CPROGDIRS)
531 DEVDIRS=\
532   font/devps \
533   font/devdvi \
534   font/devhtml
535 ALLTTYDEVDIRS=\
536   font/devascii \
537   font/devlatin1 \
538   font/devutf8 \
539   font/devcp1047
540 # `doc' must be processed before `contrib/pdfmark'.
541 OTHERDIRS=\
542   man \
543   tmac \
544   src/utils/afmtodit \
545   src/roff/grog \
546   src/roff/nroff \
547   doc \
548   contrib/mm \
549   contrib/pic2graph \
550   contrib/eqn2graph \
551   contrib/grap2graph \
552   contrib/groffer \
553   contrib/mom \
554   contrib/pdfmark \
555   contrib/gdiffmk
556 ALLDIRS=$(INCDIRS) $(LIBDIRS) $(PROGDIRS) \
557   $(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS) $(OTHERDIRS)
558 EXTRADIRS=\
559   font/devps/generate \
560   font/devdvi/generate \
561   font/devlj4/generate \
562   doc
563 NOMAKEDIRS=\
564   arch/djgpp \
565   contrib/mm/examples \
566   contrib/mm/mm \
567   contrib/mom/examples \
568   contrib/mom/momdoc \
569   contrib/gdiffmk/tests \
570   src/libs/snprintf
571 DISTDIRS=\
572   $(INCDIRS) $(LIBDIRS) $(PROGDIRS) $(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) \
573   $(ALLTTYDEVDIRS) $(OTHERDIRS) $(EXTRADIRS) $(NOMAKEDIRS)
574 TARGETS=all install install_bin install_data clean distclean mostlyclean \
575   realclean extraclean distfiles TAGS depend uninstall_sub
576
577 # This ENVSETUP gork is required by the DJGPP build on Windows 9X,
578 # where Make needs to be case-sensitive to find files like BI and VERSION.
579 ENVSETUP=\
580         if test -f $(srcdir)/makefile.ccpg* && \
581            test -f $(srcdir)/Makefile.ccpg*; then \
582           FNCASE=y; export FNCASE; \
583         else :; \
584         fi
585
586 do=all
587 dodirs=$(ALLDIRS) dot
588 # Default target for subdir_Makefile
589 subdir=src/roff/troff
590
591
592 $(TARGETS):
593         @$(ENVSETUP); $(MAKE) $(MDEFINES) do=$@ $(dodirs)
594
595 dot: FORCE
596         @$(ENVSETUP); \
597         $(MAKE) $(MDEFINES) srcdir=$(srcdir) VPATH=$(srcdir) \
598           -f $(top_srcdir)/Makefile.comm \
599           -f $(top_srcdir)/Makefile.sub $(do)
600
601 $(LIBDIRS): FORCE
602         @$(ENVSETUP); \
603         if test $(srcdir) = .; then \
604           srcdir=.; \
605         else \
606           srcdir=`cd $(srcdir); pwd`/$@; \
607         fi; \
608         test -d $@ || $(mkinstalldirs) $@; \
609         cd $@; \
610         test -f Makefile.dep || touch Makefile.dep; \
611         $(MAKE) $(MDEFINES) srcdir=$$srcdir VPATH=$$srcdir \
612           -f $(top_srcdir)/Makefile.comm \
613           -f $$srcdir/Makefile.sub \
614           -f $(top_srcdir)/Makefile.lib \
615           -f Makefile.dep $(do)
616
617 $(CPROGDIRS): FORCE
618         @$(ENVSETUP); \
619         if test $(srcdir) = .; then \
620           srcdir=.; \
621         else \
622           srcdir=`cd $(srcdir); pwd`/$@; \
623         fi; \
624         test -d $@ || $(mkinstalldirs) $@; \
625         cd $@; \
626         test -f Makefile.dep || touch Makefile.dep; \
627         $(MAKE) $(MDEFINES) srcdir=$$srcdir VPATH=$$srcdir \
628           -f $(top_srcdir)/Makefile.comm \
629           -f $$srcdir/Makefile.sub \
630           -f $(top_srcdir)/Makefile.cpg \
631           -f Makefile.dep $(do)
632
633 $(CCPROGDIRS): FORCE
634         @$(ENVSETUP); \
635         if test $(srcdir) = .; then \
636           srcdir=.; \
637         else \
638           srcdir=`cd $(srcdir); pwd`/$@; \
639         fi; \
640         test -d $@ || $(mkinstalldirs) $@; \
641         cd $@; \
642         test -f Makefile.dep || touch Makefile.dep; \
643         $(MAKE) $(MDEFINES) srcdir=$$srcdir VPATH=$$srcdir \
644           -f $(top_srcdir)/Makefile.comm \
645           -f $$srcdir/Makefile.sub \
646           -f $(top_srcdir)/Makefile.ccpg \
647           -f Makefile.dep $(do)
648
649 $(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS): FORCE
650         @$(ENVSETUP); \
651         if test $(srcdir) = .; then \
652           srcdir=.; \
653         else \
654           srcdir=`cd $(srcdir); pwd`/$@; \
655         fi; \
656         test -d $@ || $(mkinstalldirs) $@; \
657         cd $@; \
658         $(MAKE) $(MDEFINES) srcdir=$$srcdir VPATH=$$srcdir \
659           -f $(top_srcdir)/Makefile.comm \
660           -f $$srcdir/Makefile.sub \
661           -f $(top_srcdir)/Makefile.dev $(do)
662
663 $(INCDIRS) $(PROGDEPDIRS) $(OTHERDIRS): FORCE
664         @$(ENVSETUP); \
665         if test $(srcdir) = .; then \
666           srcdir=.; \
667         else \
668           srcdir=`cd $(srcdir); pwd`/$@; \
669         fi; \
670         test -d $@ || $(mkinstalldirs) $@; \
671         cd $@; \
672         $(MAKE) $(MDEFINES) srcdir=$$srcdir VPATH=$$srcdir \
673           -f $(top_srcdir)/Makefile.comm \
674           -f $$srcdir/Makefile.sub \
675           -f $(top_srcdir)/Makefile.man $(do)
676
677 .PHONY: dist
678 dist:
679         -rm -fr tmp
680         rm -f groff-$(version)$(revision).tar.gz
681         mkdir tmp
682         for d in $(DISTDIRS); do \
683           $(mkinstalldirs) tmp/$$d; \
684         done
685         srcdir=`cd $(srcdir); pwd`; \
686         cd tmp; \
687         $(LN_S) ../Makefile .; \
688         $(LN_S) $$srcdir/* . 2>/dev/null || true; \
689         rm -rf CVS; \
690         for d in $(DISTDIRS); do \
691           (cd $$d; \
692            $(LN_S) $$srcdir/$$d/* . 2>/dev/null; \
693            rm -rf CVS || true); \
694         done; \
695         $(MAKE) srcdir=. VPATH=. distfiles; \
696         $(MAKE) srcdir=. VPATH=. extraclean; \
697         for d in $(EXTRADIRS); do \
698           (cd $$d; \
699            if test -f Makefile; then \
700              $(MAKE) extraclean; \
701            else \
702              $(MAKE) -f $(top_builddir)/$$d/Makefile extraclean; \
703            fi); \
704         done; \
705         rm -f Makefile; \
706         $(LN_S) $$srcdir/Makefile.init Makefile
707         mv tmp groff-$(version)$(revision)
708         tar cfh - groff-$(version)$(revision) | \
709           gzip -c >groff-$(version)$(revision).tar.gz
710         rm -fr groff-$(version)$(revision)
711
712 # $(PROGDIRS): libgroff
713 # grops grotty grodvi: libdriver
714 # refer lookbib indxbib lkbib: libbib
715 # $(LIBDIRS) $(PROGDIRS): include
716
717 .PHONY: $(ALLDIRS) dot $(TARGETS) FORCE
718
719 # Create a Makefile in $(subdir).  This is useful for development since it
720 # avoids running make recursively.
721 subdir_Makefile: Makefile.cfg
722         $(MAKE) do=Makefile $(subdir)
723
724 Makefile.cfg: Makefile
725         >Makefile.cfg
726         for var in $(MDEFINES); do \
727           echo "$$var" >>Makefile.cfg; \
728         done
729
730 Makefile: Makefile.in
731         $(SHELL) config.status
732
733 .PHONY: uninstall
734 uninstall: uninstall_sub uninstall_dirs
735
736 .PHONY: uninstall_dirs
737 uninstall_dirs:
738 # Use `rmdir' here so that the directories are only removed if they are empty.
739         -rmdir $(man1dir) $(man5dir) $(man7dir) $(manroot) \
740           $(tmacdir) $(systemtmacdir) $(localtmacdir) \
741           $(fontdir) $(localfontdir) $(bindir) \
742           $(datasubdir) $(dataprogramdir) $(infodir) \
743           $(exampledir) $(htmldocdir) $(pdfdocdir) $(docdir) \
744           $(libprogramdir) $(libdir) \
745           $(datadir)/doc/groff $(datadir)/doc $(datadir) 2>/dev/null || :
746
747 .PHONY: check docheck
748 check: site.exp docheck
749
750 docheck:
751         if $(SHELL) -c "runtest --version" > /dev/null 2>&1; then \
752           runtest; \
753         else \
754           echo "WARNING: could not find \`runtest'" 1>&2; \
755         fi
756
757 # This snippet has been taken from the automake package.
758
759 site.exp:
760         @echo "Making a new site.exp file..."
761         @echo "## these variables are automatically generated by make ##" >site.tmp
762         @echo "# Do not edit here.  If you wish to override these values" >>site.tmp
763         @echo "# edit the last section" >>site.tmp
764         @echo "set tool groff" >>site.tmp
765         @echo "set srcdir $(srcdir)/testsuite" >>site.tmp
766         @echo "set objdir `pwd`" >> site.tmp
767         @echo "## All variables above are generated by configure.  Do not edit! ##" >> site.tmp
768         @test ! -f site.exp \
769           || sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp
770         @-rm -f site.bak
771         @test ! -f site.exp || mv site.exp site.bak
772         @mv site.tmp site.exp
773
774 FORCE:
775
776 .NOEXPORT: