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)/$(version)$(revision) 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# The configure script also checks whether all necessary utility programs 249# for pdfroff are available -- only then we can build PDF documentation. 250make_pdfdoc=@make_pdfdoc@ 251make_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 328DEFINES=@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. 337LIBOBJS=@LIBOBJS@ 338 339# `CCC' is the compiler for C++ (.cpp) files. 340CCC=@CXX@ 341CC=@CC@ 342# CCDEFINES are definitions for C++ compilations. 343CCDEFINES=$(DEFINES) 344# CDEFINES are definitions for C compilations. 345CDEFINES=$(DEFINES) 346 347CCFLAGS=@CXXFLAGS@ 348CFLAGS=@CFLAGS@ 349CPPFLAGS=@CPPFLAGS@ 350LDFLAGS=@LDFLAGS@ 351 352X_CFLAGS=@X_CFLAGS@ 353X_LIBS=@X_LIBS@ 354X_EXTRA_LIBS=@X_EXTRA_LIBS@ 355X_PRE_LIBS=@X_PRE_LIBS@ 356 357YACC=@YACC@ 358YACCFLAGS=-v 359 360EXEEXT=@EXEEXT@ 361OBJEXT=@OBJEXT@ 362# a simple heuristic assumption 363LIBEXT=`case $(OBJEXT) in obj) echo lib;; *) echo a;; esac` 364LIBS=@LIBS@ 365LIBM=@LIBM@ 366RANLIB=@RANLIB@ 367INSTALL=@INSTALL@ 368INSTALL_PROGRAM=@INSTALL_PROGRAM@ 369INSTALL_SCRIPT=@INSTALL_SCRIPT@ 370INSTALL_DATA=@INSTALL_DATA@ 371INSTALL_INFO=@INSTALL_INFO@ 372LN_S=@LN_S@ 373AR=ar 374ETAGS=etags 375ETAGSFLAGS= 376# Flag that tells etags to assume C++. 377ETAGSCCFLAG=-C 378# Full path to perl. 379PERLPATH=@PERLPATH@ 380# Sed command with which to edit sh scripts. 381SH_SCRIPT_SED_CMD=@SH_SCRIPT_SED_CMD@ 382# Sed script to deal with OS dependencies in sh scripts. 383SH_DEPS_SED_SCRIPT=$(top_builddir)/arch/misc/shdeps.sed 384 385# The program to create directory hierarchies. 386mkinstalldirs= $(SHELL) $(top_srcdir)/mkinstalldirs 387 388PURIFY=purify 389PURIFYCCFLAGS= 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. 396MDEFINES= \ 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 498INCDIRS=src/include 499LIBDIRS=\ 500 src/libs/libgroff \ 501 src/libs/libdriver \ 502 src/libs/libbib \ 503 $(XLIBDIRS) 504CCPROGDIRS=\ 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 526CPROGDIRS=\ 527 src/utils/pfbtops \ 528 $(XPROGDIRS) 529PROGDEPDIRS=arch/misc 530PROGDIRS=$(PROGDEPDIRS) $(CCPROGDIRS) $(CPROGDIRS) 531DEVDIRS=\ 532 font/devps \ 533 font/devdvi \ 534 font/devhtml 535ALLTTYDEVDIRS=\ 536 font/devascii \ 537 font/devlatin1 \ 538 font/devutf8 \ 539 font/devcp1047 540# `doc' must be processed before `contrib/pdfmark'. 541OTHERDIRS=\ 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 556ALLDIRS=$(INCDIRS) $(LIBDIRS) $(PROGDIRS) \ 557 $(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) $(TTYDEVDIRS) $(OTHERDIRS) 558EXTRADIRS=\ 559 font/devps/generate \ 560 font/devdvi/generate \ 561 font/devlj4/generate \ 562 doc 563NOMAKEDIRS=\ 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 571DISTDIRS=\ 572 $(INCDIRS) $(LIBDIRS) $(PROGDIRS) $(DEVDIRS) $(XDEVDIRS) $(OTHERDEVDIRS) \ 573 $(ALLTTYDEVDIRS) $(OTHERDIRS) $(EXTRADIRS) $(NOMAKEDIRS) 574TARGETS=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. 579ENVSETUP=\ 580 if test -f $(srcdir)/makefile.ccpg* && \ 581 test -f $(srcdir)/Makefile.ccpg*; then \ 582 FNCASE=y; export FNCASE; \ 583 else :; \ 584 fi 585 586do=all 587dodirs=$(ALLDIRS) dot 588# Default target for subdir_Makefile 589subdir=src/roff/troff 590 591 592$(TARGETS): 593 @$(ENVSETUP); $(MAKE) $(MDEFINES) do=$@ $(dodirs) 594 595dot: 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 678dist: 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. 721subdir_Makefile: Makefile.cfg 722 $(MAKE) do=Makefile $(subdir) 723 724Makefile.cfg: Makefile 725 >Makefile.cfg 726 for var in $(MDEFINES); do \ 727 echo "$$var" >>Makefile.cfg; \ 728 done 729 730Makefile: Makefile.in 731 $(SHELL) config.status 732 733.PHONY: uninstall 734uninstall: uninstall_sub uninstall_dirs 735 736.PHONY: uninstall_dirs 737uninstall_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 748check: site.exp docheck 749 750docheck: 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 759site.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 774FORCE: 775 776.NOEXPORT: 777