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 21SHELL=@SHELL@ 22 23srcdir=@srcdir@ 24top_srcdir=@abs_top_srcdir@ 25VPATH=@srcdir@ 26top_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. 30RT_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. 35SH_SEP=@PATH_SEPARATOR@ 36 37version=`cat $(top_srcdir)/VERSION` 38# No additional number if revision is zero. 39revision=`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). 44PAGE=@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. 48GHOSTSCRIPT=@GHOSTSCRIPT@ 49 50# `ALT_GHOSTSCRIPT_PROGS' specifies a list alternative names, 51# which can be tried if `GHOSTSCRIPT' cannot be found at run time. 52ALT_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. 56ALT_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. 79BROKEN_SPOOLER_FLAGS=@BROKEN_SPOOLER_FLAGS@ 80 81# `DEVICE' is the default device. 82DEVICE=ps 83 84# `XDEVDIRS' is either `font/devX{75,100}{,-12}' or empty. 85XDEVDIRS=@XDEVDIRS@ 86 87# `XPROGDIRS' is either `src/devices/xditview src/utils/xtotroff' or empty. 88XPROGDIRS=@XPROGDIRS@ 89 90# `XLIBDIRS' is either `src/libs/libxutil' or empty. 91XLIBDIRS=@XLIBDIRS@ 92 93# `TTYDEVDIRS' is either `font/devascii font/devlatin1' (for 94# ASCII) or `font/devcp1047' (for EBCDIC) plus font/devutf8. 95TTYDEVDIRS=@TTYDEVDIRS@ font/devutf8 96 97# `OTHERDEVDIRS' is either `font/devlj4 font/devlbp' (for ASCII) or 98# empty (for EBCDIC). 99OTHERDEVDIRS=@OTHERDEVDIRS@ 100 101# `PSPRINT' is the command to use for printing a PostScript file, 102# for example `lpr'. 103PSPRINT=@PSPRINT@ 104 105# `DVIPRINT' is the command to use for printing a TeX dvi file, 106# for example `lpr -d'. 107DVIPRINT=@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. 114g=@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. 119prefix=@prefix@ 120exec_prefix=@exec_prefix@ 121 122# `bindir' says where to install executables. 123bindir=@bindir@ 124 125# `libdir' says where to install platform-dependent data. 126libdir=@libdir@ 127libprogramdir=$(libdir)/groff 128 129# `datasubdir' says where to install platform-independent data files. 130datadir=@datadir@ 131dataprogramdir=$(datadir)/groff 132datasubdir=$(dataprogramdir) 133 134# `infodir' says where to install info files. 135infodir=@infodir@ 136 137# `docdir' says where to install documentation files. 138docdir=$(datadir)/doc/groff/$(version)$(revision) 139 140# `exampledir' says where to install example files. 141exampledir=$(docdir)/examples 142 143# `htmldocdir' says where to install documentation in HTML format. 144htmldocdir=$(docdir)/html 145 146# `pdfdocdir' says where to install documentation in PDF format. 147pdfdocdir=$(docdir)/pdf 148 149# `fontdir' says where to install dev*/*. 150fontdir=$(datasubdir)/font 151 152# `localfontdir' says where local fonts will be installed (as dev*/*). 153localfontdir=$(dataprogramdir)/site-font 154 155# `legacyfontdir' is for compatibility with non-GNU troff. 156legacyfontdir=/usr/lib/font 157 158# `fontpath' says where to look for dev*/*. 159fontpath=$(localfontdir)$(RT_SEP)$(fontdir)$(RT_SEP)$(legacyfontdir) 160 161# `tmacdir' says where to install macros. 162tmacdir=$(datasubdir)/tmac 163 164# `systemtmacdir' says where to install platform-dependent macros. 165systemtmacdir=$(libprogramdir)/site-tmac 166 167# `localtmacdir' says where local files will be installed. 168localtmacdir=$(dataprogramdir)/site-tmac 169 170# `appresdir' says where to install the application resource file for 171# gxditview. 172appresdir=@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. 179tmacpath=$(systemtmacdir)$(RT_SEP)$(localtmacdir)$(RT_SEP)$(tmacdir) 180 181# `sys_tmac_prefix' is prefix (if any) for system macro packages. 182sys_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. 187pnmtops_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. 193tmac_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. 198tmac_prefix=g 199 200# The groff -mm macros will be available as -m$(tmac_m_prefix)m. 201tmac_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. 204tmac_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. 207tmac_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. 214indexext=.i 215 216# Directory containing the default index for refer. 217indexdir=/usr/dict/papers 218 219# The filename (without suffix) of the default index for refer. 220indexname=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. 225common_words_file=$(datasubdir)/eign 226 227# `manroot' is the root of the man page directory tree. 228mandir=@mandir@ 229manroot=$(mandir) 230 231# `man1ext' is the man section for user commands. 232man1ext=1 233man1dir=$(manroot)/man$(man1ext) 234 235# `man5ext' is the man section for file formats. 236man5ext=5 237man5dir=$(manroot)/man$(man5ext) 238 239# `man7ext' is the man section for macros. 240man7ext=7 241man7dir=$(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. 245make_html=@make_html@ 246make_install_html=@make_install_html@ 247 248# NetBSD_DISABLED_make_html 249# NetBSD_DISABLED_make_install_html 250# disable html creation or installation; we don't want to depend 251# upon png tools 252make_html= 253make_install_html= 254 255# The configure script also checks whether all necessary utility programs 256# for pdfroff are available -- only then we can build PDF documentation. 257make_pdfdoc=@make_pdfdoc@ 258make_install_pdfdoc=@make_install_pdfdoc@ 259 260# DEFINES should include the following: 261# -DHAVE_MMAP if you have mmap() and <sys/mman.h> 262# -DARRAY_DELETE_NEEDS_SIZE if your C++ doesn't understand `delete []' 263# -DSYS_SIGLIST_DECLARED if you have sys_siglist[] 264# -DWCOREFLAG=0200 if the 0200 bit of the status returned by 265# wait() indicates whether a core image was 266# produced for a process that was terminated 267# by a signal 268# 269# -DHAVE_DIRENT_H if you have <dirent.h> 270# -DHAVE_LIMITS_H if you have <limits.h> 271# -DHAVE_CC_LIMITS_H if you have a C++ <limits.h> 272# -DHAVE_MATH_H if you have <math.h> 273# -DHAVE_CC_OSFCN_H if you have a C++ <osfcn.h> 274# -DHAVE_CC_INTTYPES_H if you have a C++ <inttypes.h> 275# -DHAVE_STDLIB_H if you have <stdlib.h> 276# -DHAVE_STRING_H if you have <string.h> 277# -DHAVE_STRINGS_H if you have <strings.h> 278# -DHAVE_SYS_DIR_H if you have <sys/dir.h> 279# -DHAVE_SYS_TIME_H if you have <sys/time.h> 280# -DHAVE_UNISTD_H if you have <unistd.h> 281# 282# -DHAVE_FMOD if you have fmod() 283# -DHAVE_GETCWD if you have getcwd() 284# -DHAVE_GETTIMEOFDAY if you have gettimeofday() 285# -DHAVE_ISATTY if you have isatty() 286# -DHAVE_KILL if you have kill() 287# -DHAVE_MKSTEMP if you have mkstemp() 288# -DHAVE_MMAP if you have mmap() 289# -DHAVE_PUTENV if you have putenv() 290# -DHAVE_RENAME if you have rename() 291# -DHAVE_SETLOCALE if you have setlocale() 292# -DHAVE_SNPRINTF if you have snprintf() 293# -DHAVE_STRCASECMP if you have strcasecmp() 294# -DHAVE_STRNCASECMP if you have strncasecmp() 295# -DHAVE_STRERROR if you have strerror() 296# -DHAVE_STRSEP if you have strsep() 297# -DHAVE_STRTOL if you have strtol() 298# -DHAVE_VSNPRINTF if you have vsnprintf() 299# 300# -DNEED_DECLARATION_GETTIMEOFTODAY 301# if your C++ <sys/time.h> doesn't declare 302# gettimeofday() 303# -DNEED_DECLARATION_HYPOT if your C++ <math.h> doesn't declare hypot() 304# -DNEED_DECLARATION_PCLOSE if your C++ <stdio.h> doesn't declare pclose() 305# -DNEED_DECLARATION_POPEN if your C++ <stdio.h> doesn't declare popen() 306# -DNEED_DECLARATION_PUTENV if your C++ <stdlib.h> doesn't declare 307# putenv() 308# -DNEED_DECLARATION_RAND if your C++ <stdlib.h> doesn't declare rand() 309# -DNEED_DECLARATION_SNPRINTF if your C++ <stdio.h> doesn't declare 310# snprintf() 311# -DNEED_DECLARATION_SRAND if your C++ <stdlib.h> doesn't declare srand() 312# -DNEED_DECLARATION_STRCASECMP if your C++ <string.h> doesn't declare 313# strcasecmp() 314# -DNEED_DECLARATION_STRNCASECMP 315# if your C++ <string.h> doesn't declare 316# strncasecmp() 317# -DNEED_DECLARATION_VFPRINTF if your C++ <stdio.h> doesn't declare 318# vfprintf() 319# -DNEED_DECLARATION_VSNPRINTF if your C++ <stdio.h> doesn't declare 320# vsnprintf() 321# 322# -DRET_TYPE_SRAND_IS_VOID if srand() returns void not int 323# -DHAVE_SYS_NERR if you have sysnerr in <errno.h> or <stdio.h> 324# -DHAVE_SYS_ERRLIST if you have sys_errlist in <errno.h> or 325# <stdio.h> 326# -DTRADITIONAL_CPP if your C++ compiler uses a traditional 327# (Reiser) preprocessor 328# -DLONG_FOR_TIME_T if localtime() takes a long * not a time_t * 329# -DHAVE_STRUCT_EXCEPTION if <math.h> defines struct exception 330# -DRETSIGTYPE=int if signal handlers return int not void 331# -DIS_EBCDIC_HOST if the host's encoding is EBCDIC 332# -DPAGE=A4 if the the printer's page size is A4 333# -DGHOSTSCRIPT=gs the name (and directory if required) of the 334# ghostscript program 335DEFINES=@DEFS@ 336 337# Include 338# 339# {fmod,getcwd,mkstemp,putenv,snprintf,strcasecmp, 340# strerror,strncasecmp,strtol}.$(OBJEXT) 341# 342# in LIBOBJS if your C library is missing the corresponding function. 343# vsnprintf is defined in the snprintf.$(OBJEXT) module. 344LIBOBJS=@LIBOBJS@ 345 346# `CCC' is the compiler for C++ (.cpp) files. 347CCC=@CXX@ 348CC=@CC@ 349# CCDEFINES are definitions for C++ compilations. 350CCDEFINES=$(DEFINES) 351# CDEFINES are definitions for C compilations. 352CDEFINES=$(DEFINES) 353 354CCFLAGS=@CXXFLAGS@ 355CFLAGS=@CFLAGS@ 356CPPFLAGS=@CPPFLAGS@ 357LDFLAGS=@LDFLAGS@ 358 359X_CFLAGS=@X_CFLAGS@ 360X_LIBS=@X_LIBS@ 361X_EXTRA_LIBS=@X_EXTRA_LIBS@ 362X_PRE_LIBS=@X_PRE_LIBS@ 363 364YACC=@YACC@ 365YACCFLAGS=-v 366 367EXEEXT=@EXEEXT@ 368OBJEXT=@OBJEXT@ 369# a simple heuristic assumption 370LIBEXT=`case $(OBJEXT) in obj) echo lib;; *) echo a;; esac` 371LIBS=@LIBS@ 372LIBM=@LIBM@ 373RANLIB=@RANLIB@ 374INSTALL=@INSTALL@ 375INSTALL_PROGRAM=@INSTALL_PROGRAM@ 376INSTALL_SCRIPT=@INSTALL_SCRIPT@ 377INSTALL_DATA=@INSTALL_DATA@ 378INSTALL_INFO=@INSTALL_INFO@ 379LN_S=@LN_S@ 380AR=ar 381ETAGS=etags 382ETAGSFLAGS= 383# Flag that tells etags to assume C++. 384ETAGSCCFLAG=-C 385# Full path to perl. 386PERLPATH=@PERLPATH@ 387# Sed command with which to edit sh scripts. 388SH_SCRIPT_SED_CMD=@SH_SCRIPT_SED_CMD@ 389# Sed script to deal with OS dependencies in sh scripts. 390SH_DEPS_SED_SCRIPT=$(top_builddir)/arch/misc/shdeps.sed 391 392# The program to create directory hierarchies. 393mkinstalldirs= $(SHELL) $(top_srcdir)/mkinstalldirs 394 395PURIFY=purify 396PURIFYCCFLAGS= 397#PURIFYCCFLAGS=-g++=yes \ 398# -collector=`dirname \`$(CCC) -print-libgcc-file-name\``/ld 399 400# Passing down MAKEOVERRIDES prevents $(MAKE) from containing a second 401# copy of $(MDEFINES) when making individual directories; this could 402# cause the argument list to become too long on some systems. 403MDEFINES= \ 404 "ALT_AWK_PROGS=$(ALT_AWK_PROGS)" \ 405 "ALT_GHOSTSCRIPT_PROGS=$(ALT_GHOSTSCRIPT_PROGS)" \ 406 "AR=$(AR)" \ 407 "BROKEN_SPOOLER_FLAGS=$(BROKEN_SPOOLER_FLAGS)" \ 408 "CC=$(CC)" \ 409 "CCC=$(CCC)" \ 410 "CCDEFINES=$(CCDEFINES)" \ 411 "CCFLAGS=$(CCFLAGS)" \ 412 "CDEFINES=$(CDEFINES)" \ 413 "CFLAGS=$(CFLAGS)" \ 414 "CPPFLAGS=$(CPPFLAGS)" \ 415 "DEVICE=$(DEVICE)" \ 416 "DVIPRINT=$(DVIPRINT)" \ 417 "ETAGS=$(ETAGS)" \ 418 "ETAGSCCFLAG=$(ETAGSCCFLAG)" \ 419 "ETAGSFLAGS=$(ETAGSFLAGS)" \ 420 "EXEEXT=$(EXEEXT)" \ 421 "INSTALL_DATA=$(INSTALL_DATA)" \ 422 "INSTALL_INFO=$(INSTALL_INFO)" \ 423 "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ 424 "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \ 425 "LDFLAGS=$(LDFLAGS)" \ 426 "LIBEXT=$(LIBEXT)" \ 427 "LIBM=$(LIBM)" \ 428 "LIBOBJS=$(LIBOBJS)" \ 429 "LIBS=$(LIBS)" \ 430 "MAKEOVERRIDES=$(MAKEOVERRIDES)" \ 431 "OBJEXT=$(OBJEXT)" \ 432 "OTHERDEVDIRS=$(OTHERDEVDIRS)" \ 433 "PAGE=$(PAGE)" \ 434 "GHOSTSCRIPT=$(GHOSTSCRIPT)" \ 435 "PERLPATH=$(PERLPATH)" \ 436 "PSPRINT=$(PSPRINT)" \ 437 "PURIFY=$(PURIFY)" \ 438 "PURIFYCCFLAGS=$(PURIFYCCFLAGS)" \ 439 "RANLIB=$(RANLIB)" \ 440 "RT_SEP=$(RT_SEP)" \ 441 "SH_SEP=$(SH_SEP)" \ 442 "SHELL=$(SHELL)" \ 443 "SH_SCRIPT_SED_CMD=$(SH_SCRIPT_SED_CMD)" \ 444 "SH_DEPS_SED_SCRIPT=$(SH_DEPS_SED_SCRIPT)" \ 445 "TTYDEVDIRS=$(TTYDEVDIRS)" \ 446 "XDEVDIRS=$(XDEVDIRS)" \ 447 "XLIBDIRS=$(XLIBDIRS)" \ 448 "XPROGDIRS=$(XPROGDIRS)" \ 449 "X_CFLAGS=$(X_CFLAGS)" \ 450 "X_LIBS=$(X_LIBS)" \ 451 "X_EXTRA_LIBS=$(X_EXTRA_LIBS)" \ 452 "X_PRE_LIBS=$(X_PRE_LIBS)" \ 453 "YACC=$(YACC)" \ 454 "YACCFLAGS=$(YACCFLAGS)" \ 455 "appresdir=$(appresdir)" \ 456 "bindir=$(bindir)" \ 457 "common_words_file=$(common_words_file)" \ 458 "datadir=$(datadir)" \ 459 "dataprogramdir=$(dataprogramdir)" \ 460 "datasubdir=$(datasubdir)" \ 461 "docdir=$(docdir)" \ 462 "exampledir=$(exampledir)" \ 463 "exec_prefix=$(exec_prefix)" \ 464 "fontdir=$(fontdir)" \ 465 "fontpath=$(fontpath)" \ 466 "g=$(g)" \ 467 "htmldocdir=$(htmldocdir)" \ 468 "pdfdocdir=$(pdfdocdir)" \ 469 "indexdir=$(indexdir)" \ 470 "indexext=$(indexext)" \ 471 "indexname=$(indexname)" \ 472 "infodir=$(infodir)" \ 473 "legacyfontdir=$(legacyfontdir)" \ 474 "libdir=$(libdir)" \ 475 "libprogramdir=$(libprogramdir)" \ 476 "localfontdir=$(localfontdir)" \ 477 "localtmacdir=$(localtmacdir)" \ 478 "make_html=$(make_html)" \ 479 "make_install_html=$(make_install_html)" \ 480 "make_pdfdoc=$(make_pdfdoc)" \ 481 "make_install_pdfdoc=$(make_install_pdfdoc)" \ 482 "man1dir=$(man1dir)" \ 483 "man1ext=$(man1ext)" \ 484 "man5dir=$(man5dir)" \ 485 "man5ext=$(man5ext)" \ 486 "man7dir=$(man7dir)" \ 487 "man7ext=$(man7ext)" \ 488 "manroot=$(manroot)" \ 489 "mkinstalldirs=$(mkinstalldirs)" \ 490 "prefix=$(prefix)" \ 491 "revision=$(revision)" \ 492 "sys_tmac_prefix=$(sys_tmac_prefix)" \ 493 "pnmtops_nosetpage=$(pnmtops_nosetpage)" \ 494 "systemtmacdir=$(systemtmacdir)" \ 495 "tmac_an_prefix=$(tmac_an_prefix)" \ 496 "tmac_m_prefix=$(tmac_m_prefix)" \ 497 "tmac_s_prefix=$(tmac_s_prefix)" \ 498 "tmac_wrap=$(tmac_wrap)" \ 499 "tmacdir=$(tmacdir)" \ 500 "tmacpath=$(tmacpath)" \ 501 "top_builddir=$(top_builddir)" \ 502 "top_srcdir=$(top_srcdir)" \ 503 "version=$(version)" 504 505INCDIRS=src/include 506LIBDIRS=\ 507 src/libs/libgroff \ 508 src/libs/libdriver \ 509 src/libs/libbib \ 510 $(XLIBDIRS) 511CCPROGDIRS=\ 512 src/roff/groff \ 513 src/roff/troff \ 514 src/preproc/tbl \ 515 src/preproc/pic \ 516 src/preproc/eqn \ 517 src/preproc/grn \ 518 src/preproc/refer \ 519 src/preproc/soelim \ 520 src/preproc/html \ 521 src/devices/grops \ 522 src/devices/grotty \ 523 src/devices/grodvi \ 524 src/devices/grolj4 \ 525 src/devices/grohtml \ 526 src/devices/grolbp \ 527 src/utils/tfmtodit \ 528 src/utils/hpftodit \ 529 src/utils/lookbib \ 530 src/utils/indxbib \ 531 src/utils/lkbib \ 532 src/utils/addftinfo 533CPROGDIRS=\ 534 src/utils/pfbtops \ 535 $(XPROGDIRS) 536PROGDEPDIRS=arch/misc 537PROGDIRS=$(PROGDEPDIRS) $(CCPROGDIRS) $(CPROGDIRS) 538DEVDIRS=\ 539 font/devps \ 540 font/devdvi \ 541 font/devhtml 542ALLTTYDEVDIRS=\ 543 font/devascii \ 544 font/devlatin1 \ 545 font/devutf8 \ 546 font/devcp1047 547# `doc' must be processed before `contrib/pdfmark'. 548OTHERDIRS=\ 549 man \ 550 tmac \ 551 src/utils/afmtodit \ 552 src/roff/grog \ 553 src/roff/nroff \ 554 doc \ 555 contrib/mm \ 556 contrib/pic2graph \ 557 contrib/eqn2graph \ 558 contrib/grap2graph \ 559 contrib/mom \ 560 contrib/pdfmark \ 561 contrib/gdiffmk 562ALLDIRS=$(INCDIRS) $(LIBDIRS) $(PROGDIRS) \ 563 $(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS) $(OTHERDIRS) 564EXTRADIRS=\ 565 font/devps/generate \ 566 font/devdvi/generate \ 567 font/devlj4/generate \ 568 doc 569NOMAKEDIRS=\ 570 arch/djgpp \ 571 contrib/mm/examples \ 572 contrib/mm/mm \ 573 contrib/mom/examples \ 574 contrib/mom/momdoc \ 575 contrib/gdiffmk/tests \ 576 src/libs/snprintf 577DISTDIRS=\ 578 $(INCDIRS) $(LIBDIRS) $(PROGDIRS) $(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) \ 579 $(ALLTTYDEVDIRS) $(OTHERDIRS) $(EXTRADIRS) $(NOMAKEDIRS) 580TARGETS=all install install_bin install_data clean distclean mostlyclean \ 581 realclean extraclean distfiles TAGS depend uninstall_sub 582 583# This ENVSETUP gork is required by the DJGPP build on Windows 9X, 584# where Make needs to be case-sensitive to find files like BI and VERSION. 585ENVSETUP=\ 586 if test -f $(srcdir)/makefile.ccpg* && \ 587 test -f $(srcdir)/Makefile.ccpg*; then \ 588 FNCASE=y; export FNCASE; \ 589 else :; \ 590 fi 591 592do=all 593dodirs=$(ALLDIRS) dot 594# Default target for subdir_Makefile 595subdir=src/roff/troff 596 597 598$(TARGETS): 599 @$(ENVSETUP); $(MAKE) $(MDEFINES) do=$@ $(dodirs) 600 601dot: FORCE 602 @$(ENVSETUP); \ 603 $(MAKE) $(MDEFINES) srcdir=$(srcdir) VPATH=$(srcdir) \ 604 -f $(top_srcdir)/Makefile.comm \ 605 -f $(top_srcdir)/Makefile.sub $(do) 606 607$(LIBDIRS): FORCE 608 @$(ENVSETUP); \ 609 if test $(srcdir) = .; then \ 610 srcdir=.; \ 611 else \ 612 srcdir=`cd $(srcdir); pwd`/$@; \ 613 fi; \ 614 test -d $@ || $(mkinstalldirs) $@; \ 615 cd $@; \ 616 test -f Makefile.dep || touch Makefile.dep; \ 617 $(MAKE) $(MDEFINES) srcdir=$$srcdir VPATH=$$srcdir \ 618 -f $(top_srcdir)/Makefile.comm \ 619 -f $$srcdir/Makefile.sub \ 620 -f $(top_srcdir)/Makefile.lib \ 621 -f Makefile.dep $(do) 622 623$(CPROGDIRS): FORCE 624 @$(ENVSETUP); \ 625 if test $(srcdir) = .; then \ 626 srcdir=.; \ 627 else \ 628 srcdir=`cd $(srcdir); pwd`/$@; \ 629 fi; \ 630 test -d $@ || $(mkinstalldirs) $@; \ 631 cd $@; \ 632 test -f Makefile.dep || touch Makefile.dep; \ 633 $(MAKE) $(MDEFINES) srcdir=$$srcdir VPATH=$$srcdir \ 634 -f $(top_srcdir)/Makefile.comm \ 635 -f $$srcdir/Makefile.sub \ 636 -f $(top_srcdir)/Makefile.cpg \ 637 -f Makefile.dep $(do) 638 639$(CCPROGDIRS): FORCE 640 @$(ENVSETUP); \ 641 if test $(srcdir) = .; then \ 642 srcdir=.; \ 643 else \ 644 srcdir=`cd $(srcdir); pwd`/$@; \ 645 fi; \ 646 test -d $@ || $(mkinstalldirs) $@; \ 647 cd $@; \ 648 test -f Makefile.dep || touch Makefile.dep; \ 649 $(MAKE) $(MDEFINES) srcdir=$$srcdir VPATH=$$srcdir \ 650 -f $(top_srcdir)/Makefile.comm \ 651 -f $$srcdir/Makefile.sub \ 652 -f $(top_srcdir)/Makefile.ccpg \ 653 -f Makefile.dep $(do) 654 655$(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS): FORCE 656 @$(ENVSETUP); \ 657 if test $(srcdir) = .; then \ 658 srcdir=.; \ 659 else \ 660 srcdir=`cd $(srcdir); pwd`/$@; \ 661 fi; \ 662 test -d $@ || $(mkinstalldirs) $@; \ 663 cd $@; \ 664 $(MAKE) $(MDEFINES) srcdir=$$srcdir VPATH=$$srcdir \ 665 -f $(top_srcdir)/Makefile.comm \ 666 -f $$srcdir/Makefile.sub \ 667 -f $(top_srcdir)/Makefile.dev $(do) 668 669$(INCDIRS) $(PROGDEPDIRS) $(OTHERDIRS): FORCE 670 @$(ENVSETUP); \ 671 if test $(srcdir) = .; then \ 672 srcdir=.; \ 673 else \ 674 srcdir=`cd $(srcdir); pwd`/$@; \ 675 fi; \ 676 test -d $@ || $(mkinstalldirs) $@; \ 677 cd $@; \ 678 $(MAKE) $(MDEFINES) srcdir=$$srcdir VPATH=$$srcdir \ 679 -f $(top_srcdir)/Makefile.comm \ 680 -f $$srcdir/Makefile.sub \ 681 -f $(top_srcdir)/Makefile.man $(do) 682 683.PHONY: dist 684dist: 685 -rm -fr tmp 686 rm -f groff-$(version)$(revision).tar.gz 687 mkdir tmp 688 for d in $(DISTDIRS); do \ 689 $(mkinstalldirs) tmp/$$d; \ 690 done 691 srcdir=`cd $(srcdir); pwd`; \ 692 cd tmp; \ 693 $(LN_S) ../Makefile .; \ 694 $(LN_S) $$srcdir/* . 2>/dev/null || true; \ 695 rm -rf CVS; \ 696 for d in $(DISTDIRS); do \ 697 (cd $$d; \ 698 $(LN_S) $$srcdir/$$d/* . 2>/dev/null; \ 699 rm -rf CVS || true); \ 700 done; \ 701 $(MAKE) srcdir=. VPATH=. distfiles; \ 702 $(MAKE) srcdir=. VPATH=. extraclean; \ 703 for d in $(EXTRADIRS); do \ 704 (cd $$d; \ 705 if test -f Makefile; then \ 706 $(MAKE) extraclean; \ 707 else \ 708 $(MAKE) -f $(top_builddir)/$$d/Makefile extraclean; \ 709 fi); \ 710 done; \ 711 rm -f Makefile; \ 712 $(LN_S) $$srcdir/Makefile.init Makefile 713 mv tmp groff-$(version)$(revision) 714 tar cfh - groff-$(version)$(revision) | \ 715 gzip -c >groff-$(version)$(revision).tar.gz 716 rm -fr groff-$(version)$(revision) 717 718# $(PROGDIRS): libgroff 719# grops grotty grodvi: libdriver 720# refer lookbib indxbib lkbib: libbib 721# $(LIBDIRS) $(PROGDIRS): include 722 723.PHONY: $(ALLDIRS) dot $(TARGETS) FORCE 724 725# Create a Makefile in $(subdir). This is useful for development since it 726# avoids running make recursively. 727subdir_Makefile: Makefile.cfg 728 $(MAKE) do=Makefile $(subdir) 729 730Makefile.cfg: Makefile 731 >Makefile.cfg 732 for var in $(MDEFINES); do \ 733 echo "$$var" >>Makefile.cfg; \ 734 done 735 736Makefile: Makefile.in 737 $(SHELL) config.status 738 739.PHONY: uninstall 740uninstall: uninstall_sub uninstall_dirs 741 742.PHONY: uninstall_dirs 743uninstall_dirs: 744# Use `rmdir' here so that the directories are only removed if they are empty. 745 -rmdir $(man1dir) $(man5dir) $(man7dir) $(manroot) \ 746 $(tmacdir) $(systemtmacdir) $(localtmacdir) \ 747 $(fontdir) $(localfontdir) $(bindir) \ 748 $(datasubdir) $(dataprogramdir) $(infodir) \ 749 $(exampledir) $(htmldocdir) $(pdfdocdir) $(docdir) \ 750 $(libprogramdir) $(libdir) \ 751 $(datadir)/doc/groff $(datadir)/doc $(datadir) 2>/dev/null || : 752 753.PHONY: check docheck 754check: site.exp docheck 755 756docheck: 757 if $(SHELL) -c "runtest --version" > /dev/null 2>&1; then \ 758 runtest; \ 759 else \ 760 echo "WARNING: could not find \`runtest'" 1>&2; \ 761 fi 762 763# This snippet has been taken from the automake package. 764 765site.exp: 766 @echo "Making a new site.exp file..." 767 @echo "## these variables are automatically generated by make ##" >site.tmp 768 @echo "# Do not edit here. If you wish to override these values" >>site.tmp 769 @echo "# edit the last section" >>site.tmp 770 @echo "set tool groff" >>site.tmp 771 @echo "set srcdir $(srcdir)/testsuite" >>site.tmp 772 @echo "set objdir `pwd`" >> site.tmp 773 @echo "## All variables above are generated by configure. Do not edit! ##" >> site.tmp 774 @test ! -f site.exp \ 775 || sed '1,/^## All variables above are.*##/ d' site.exp >> site.tmp 776 @-rm -f site.bak 777 @test ! -f site.exp || mv site.exp site.bak 778 @mv site.tmp site.exp 779 780FORCE: 781 782.NOEXPORT: 783