# Copyright (C) 1989-2023 Free Software Foundation, Inc. # Original Makefile.in written by James Clark (jjc@jclark.com) # Migrated to Automake by Bertrand Garrigues # # This file is part of groff. # # groff is free software; you can redistribute it and/or modify it under # the terms of the GNU General Public License as published by the Free # Software Foundation, either version 3 of the License, or # (at your option) any later version. # # groff is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # # Makefile.am # # The variables that are listed in the following comments will be # automatically set by automake in the generated Makefile.in # SHELL # PACKAGE_TARNAME # srcdir # top_srcdir # VPATH # top_builddir # HOST # `HOST' is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # `RT_SEP' is the operating system's native PATH SEPARATOR CHAR, which # is to be used in runtime PATHs compiled into groff executables. RT_SEP=@GROFF_PATH_SEPARATOR@ # `SH_SEP' is a alternative PATH SEPARATOR CHAR, to be used in shell # scripts and makefile rules; it may be the same as `RT_SEP', but, # particularly in some Microsoft environments, it may differ. SH_SEP=@PATH_SEPARATOR@ # GLIBC2 # `GLIBC21' is yes if the host operating system uses GNU libc 2.1 or newer, # otherwise no. # VERSION is set by automake, based on what is passed to AC_INIT. # PAGE # Define `page' to be letter if your PostScript printer uses 8.5x11 # paper (USA) and define it to be A4, if it uses A4 paper (rest of the # world). # GHOSTSCRIPT # The name of the ghostscript program. Normally, gs, on GNU/Linux # but it might be different on MS-DOS/MS-WIN32 systems. # ALT_GHOSTSCRIPT_PROGS # `ALT_GHOSTSCRIPT_PROGS' specifies a list alternative names, # which can be tried if `GHOSTSCRIPT' cannot be found at run time. # ALT_AWK_PROGS # Similarly, `ALT_AWK_PROGS' specifies a list of alternative names, # which can be tried at run time, to identify the awk program. # BROKEN_SPOOLER_FLAGS # Normally the Postscript driver, grops, produces output that conforms # to version 3.0 of the Adobe Document Structuring Conventions. # Unfortunately some spoolers and previewers can't handle such output. # The BROKEN_SPOOLER_FLAGS variable tells grops what it should do to # make its output acceptable to such programs. This variable controls # only the default behaviour of grops; the behaviour can be changed at # runtime by the grops -b option (and so by groff -P-b). # Use a value of 0 if your spoolers and previewers are able to handle # conforming PostScript correctly. # Add 1 if no %%{Begin,End}DocumentSetup comments should be generated; # this is needed for early versions of TranScript that get confused by # anything between the %%EndProlog line and the first %%Page: comment. # Add 2 if lines in included files beginning with %! should be # stripped out; this is needed for the OpenWindows 2.0 pageview previewer. # Add 4 if %%Page, %%Trailer and %%EndProlog comments should be # stripped out of included files; this is needed for spoolers that # don't understand the %%{Begin,End}Document comments. I suspect this # includes early versions of TranScript. # Add 8 if the first line of the PostScript output should be %!PS-Adobe-2.0 # rather than %!PS-Adobe-3.0; this is needed when using Sun's Newsprint # with a printer that requires page reversal. # `DEVICE' is the default device. DEVICE=ps # XDEVIDIRS # `XDEVDIRS' is either `font/devX{75,100}{,-12}' or empty. # XPROGDIRS # `XPROGDIRS' is either `src/devices/xditview src/utils/xtotroff' or empty. # XLIBDIRS # `XLIBDIRS' is either `src/libs/libxutil' or empty. # `TTYDEVDIRS' is either `font/devascii font/devlatin1' (for # ASCII) or `font/devcp1047' (for EBCDIC) plus font/devutf8. TTYDEVDIRS=@TTYDEVDIRS@ font/devutf8 # OTHERDEVDIRS # `OTHERDEVDIRS' is either `font/devlj4 font/devlbp' (for ASCII) or # empty (for EBCDIC). # PSPRINT # `PSPRINT' is the command to use for printing a PostScript file, # for example `lpr'. # DVIPRINT # `DVIPRINT' is the command to use for printing a TeX dvi file, # for example `lpr -d'. # g # Prefix for names of programs that have Unix counterparts. # For example, if `g' is `g' then troff will be installed as # gtroff. This doesn't affect programs like grops or groff that have # no Unix counterparts. Note that the groff versions of eqn and tbl # will not work with Unix troff. # prefix # exec_prefix # Common prefix for installation directories. # Used in definitions of exec_prefix, datasubdir, fontpath, manroot. # This must already exist when you do make install. # bindir # `bindir' says where to install executables. # libdir # `libdir' says where to install platform-dependent data. # libprogramdir # `libprogramdir' is $(libdir)/groff # `datasubdir' says where to install platform-independent data files. # datadir # datarootdir dataprogramdir=$(datadir)/groff datasubdir=$(dataprogramdir)/$(SHORT_VERSION) # infodir # `infodir' says where to install info files. # docdir # `docdir' says where to install documentation files. The default # location is ${datarootdir}/doc/${PACKAGE}, but we add the version docdir=$(datarootdir)/doc/${PACKAGE}-$(SHORT_VERSION) # `exampledir' says where to install example files. exampledir=$(docdir)/examples # `htmldocdir' says where to install documentation in HTML format. htmldocdir=$(docdir)/html # `pdfdocdir' says where to install documentation in PDF format. pdfdocdir=$(docdir)/pdf # `fontdir' says where to install dev*/*. fontdir=$(datasubdir)/font # `oldfontdir' says where to install old font sets (as dev*/*). oldfontdir=$(datasubdir)/oldfont # `localfontdir' says where local fonts will be installed (as dev*/*). localfontdir=$(dataprogramdir)/site-font # `legacyfontdir' is for compatibility with AT&T/DWB troff. legacyfontdir=/usr/lib/font # `fontpath' says where to look for dev*/*. fontpath=$(localfontdir)$(RT_SEP)$(fontdir)$(RT_SEP)$(legacyfontdir) # `tmacdir' says where to install macros. tmacdir=$(datasubdir)/tmac # `systemtmacdir' says where to install platform-dependent macros. systemtmacdir=$(libprogramdir)/site-tmac # `localtmacdir' says where local files will be installed. localtmacdir=$(dataprogramdir)/site-tmac # appdefdir # `appdefdir' says where to install the application defaults file for # gxditview. # glilypond_dir # gpinyin_dir # `tmacpath' says where to look for macro files. # The current directory will be prepended in unsafe mode only; the home # directory will be always added. # `troffrc' and `troffrc-end' (and `eqnrc') are searched neither in the # current nor in the home directory. tmacpath=$(systemtmacdir)$(RT_SEP)$(localtmacdir)$(RT_SEP)$(tmacdir) # sys_tmac_prefix # `sys_tmac_prefix' is prefix (if any) for system macro packages. # pnmtops_nosetpage # `pnmtops_nosetpage' is the command to be run to generate an eps # file. Some versions of pnmtops provide the -nosetpage option. # We detect this and use it if present. # tmac_wrap # `tmac_wrap' is list of system macro packages that should be made # available to groff by creating a corresponding macro package # in the groff macro directory that references the system macro # package. # compatibility_wrappers # (groff compatibility wrappers for vendor-provided non-GNU macro sets) # # `compatibility_wrappers' controls the creation and installation of # compatibility wrappers for the macro sets named in `tmac_wrap'. # Its value must be one of: # `yes' install compatibility wrappers as the original macro set name # (that is, the default implementation of that macro set), and # install the groff implementation with a prefix (usually g). # `no' do not install compatibility wrappers; only install the groff # implementation of each macro set. # `manual' install the compatibility wrappers as `-os' and install # the groff implementation of each macro set as the default # implementation of that macro set. # Don't make this empty. wrapper_suffix_default="-os" wrapper_suffix=`if test $(compatibility_wrappers) = manual; then echo $(wrapper_suffix_default); fi` # When `compatibility_wrappers' is `yes', if there is a groff implementation # of a macro set listed in $(tmac_wrap), then the groff implementation will be # installed with a prefix of $(tmac_prefix) via the collision detection # variables $(tmac_m_prefix), $(tmac_s_prefix), and $(tmac_an_prefix). # Don't make this empty. tmac_prefix=g # The groff -mm macros will be available as -m$(tmac_m_prefix)m. tmac_m_prefix=\ `if test $(compatibility_wrappers) = yes; then \ for i in $(tmac_wrap) ""; do \ case "$$i" in m) echo $(tmac_prefix);; esac; \ done; \ fi` # The groff -ms macros will be available as -m$(tmac_s_prefix)s. tmac_s_prefix=\ `if test $(compatibility_wrappers) = yes; then \ for i in $(tmac_wrap) ""; do \ case "$$i" in s) echo $(tmac_prefix);; esac; \ done; \ fi` # The groff -man macros will be available as -m$(tmac_an_prefix)an. tmac_an_prefix=\ `if test $(compatibility_wrappers) = yes; then \ for i in $(tmac_wrap) ""; do \ case "$$i" in an) echo $(tmac_prefix);; esac; \ done; \ fi` # Extension to be used for refer index files. Index files are not # shareable between different architectures, so you might want to use # different suffixes for different architectures. Choose an extension # that doesn't conflict with refer or any other indexing program. indexext=.i # Directory containing the default index for refer. indexdir=/usr/dict/papers # The filename (without suffix) of the default index for refer. indexname=Ind # common_words_file is a file containing a list of common words. # If your system provides /usr/lib/eign it will be copied onto this, # otherwise the supplied eign file will be used. common_words_file=$(datasubdir)/eign # mandir # `manroot' is the root of the man page directory tree. manroot=$(mandir) # `man1ext' is the man section for user commands. man1ext=1 man1dir=$(manroot)/man$(man1ext) # `man5ext' is the man section for file formats. man5ext=5 man5dir=$(manroot)/man$(man5ext) # `man7ext' is the man section for macros. man7ext=7 man7dir=$(manroot)/man$(man7ext) # The configure script checks whether all necessary utility programs for # grohtml are available -- only then can we build the HTML documentation. # make_htmldoc # make_install_htmldoc # make_uninstall_htmldoc # The configure script also checks whether all necessary utility programs # for pdfroff are available -- only then can we build PDF documentation. # make_pdfdoc # make_install_pdfdoc # make_uninstall_pdfdoc # Windows `.cmd' files # make_winscripts # make_install_winscripts # make_uninstall_winscripts # All the previous installation directories, when used, are prefixed with # $(DESTDIR) during install and uninstall, to support staged installations. # config.h might set the following defines: # # WORDS_BIGENDIAN if your target platform is big-endian # IS_EBCDIC_HOST if the host's encoding is EBCDIC # # HAVE_DIRECT_H if you have # HAVE_DIRENT_H if you have # HAVE_CC_INTTYPES_H if you have a C++ # HAVE_PROCESS_H if you have # HAVE_LIMITS_H if you have # HAVE_CC_LIMITS_H if you have a C++ # HAVE_MATH_H if you have # HAVE_CC_OSFCN_H if you have a C++ # HAVE_STDDEF_H if you have # HAVE_STDLIB_H if you have # HAVE_STRING_H if you have # HAVE_STRINGS_H if you have # HAVE_SYS_DIR_H if you have # HAVE_SYS_PARAM_H if you have # HAVE_SYS_STAT_H if you have # HAVE_SYS_TIME_H if you have # HAVE_SYS_TYPES_H if you have # HAVE_UNISTD_H if you have # # HAVE_FMOD if you have fmod() # HAVE_GETCWD if you have getcwd() # HAVE_GETTIMEOFDAY if you have gettimeofday() # HAVE_ICONV if you have iconv() # HAVE_ISATTY if you have isatty() # HAVE_KILL if you have kill() # HAVE_LANGINFO_CODESET if you have nl_langinfo() # HAVE_MKSTEMP if you have mkstemp() # HAVE_MMAP if you have mmap() # HAVE_PUTENV if you have putenv() # HAVE_RENAME if you have rename() # HAVE_SETLOCALE if you have setlocale() # HAVE_STRCASECMP if you have strcasecmp() # HAVE_STRNCASECMP if you have strncasecmp() # HAVE_STRERROR if you have strerror() # HAVE_STRSEP if you have strsep() # HAVE_STRTOL if you have strtol() # HAVE_SYMLINK if you have symlink() # # NEED_DECLARATION_GETTIMEOFTODAY # if your C++ doesn't declare # gettimeofday() # NEED_DECLARATION_HYPOT if your C++ doesn't declare hypot() # NEED_DECLARATION_PCLOSE if your C++ doesn't declare pclose() # NEED_DECLARATION_POPEN if your C++ doesn't declare popen() # NEED_DECLARATION_PUTENV if your C++ doesn't declare # putenv() # NEED_DECLARATION_RAND if your C++ doesn't declare rand() # NEED_DECLARATION_SRAND if your C++ doesn't declare srand() # NEED_DECLARATION_STRCASECMP if your C++ doesn't declare # strcasecmp() # NEED_DECLARATION_STRNCASECMP # if your C++ doesn't declare # strncasecmp() # NEED_DECLARATION_VFPRINTF if your C++ doesn't declare # vfprintf() # # HAVE_DECL_GETC_UNLOCKED if you have getc_unlocked() # HAVE_DECL_SYS_SIGLIST if you have sys_siglist[] # # HAVE_STRUCT_EXCEPTION if defines struct exception # HAVE_SYS_NERR if you have sysnerr in or # HAVE_SYS_ERRLIST if you have sys_errlist in or # # ICONV_CONST=const if declaration of iconv() needs const # LONG_FOR_TIME_T if localtime() takes a long * not a time_t * # RETSIGTYPE=int if signal handlers return int not void # RET_TYPE_SRAND_IS_VOID if srand() returns void not int # # WCOREFLAG=0200 if the 0200 bit of the status returned by # wait() indicates whether a core image was # produced for a process that was terminated # by a signal # # HAVE_WORKING_O_NOATIME define if 's O_NOATIME flag works # HAVE_WORKING_O_NOFOLLOW define if 's O_NOFOLLOW flag works # # uintmax_t= define to `unsigned long' or `unsigned long # long' if does not exist # # PAGE=A4 if the printer's page size is A4 # GHOSTSCRIPT=gs the name (and directory if required) of the # ghostscript program # Include # # {fmod,getcwd,mkstemp,putenv,strcasecmp, # strerror,strncasecmp,strtol}.$(OBJEXT) # # LIBOBJS # in LIBOBJS if your C library is missing the corresponding function. # `CCC' is the compiler for C++ (.cpp) files. CCC=@CXX@ # CC # CFLAGS # CPPFLAGS # LDFLAGS # X_CFLAGS # X_LIBS # X_EXTRA_LIBS # X_PRE_LIBS # YACC # GREP # EGREP # MAKEINFO # EXEEXT # OBJEXT # LIBEXT # LIBS # LIBM # LIBICONV # AR # RANLIB # INSTALL # INSTALL_PROGRAM # INSTALL_SCRIPT # INSTALL_DATA # INSTALL_INFO # LN_S ETAGS=etags ETAGSFLAGS= # Flag that tells etags to assume C++. ETAGSCCFLAG=-C # Full path to perl. # PERL # PERLVERSION # Sed command with which to edit sh scripts. # SH_SCRIPT_SED_CMD # Sed script to deal with OS dependencies in sh scripts. SH_DEPS_SED_SCRIPT=$(top_builddir)/shdeps.sed # On some platforms we need to set LANG and LC_ALL to C for sed SED=\ LANG=C \ LC_ALL=C \ sed # The program to create directory hierarchies. # mkinstalldirs is now in gnulib/build-aux PURIFY=purify PURIFYCCFLAGS= #PURIFYCCFLAGS=-g++=yes \ # -collector=`dirname \`$(CCC) -print-libgcc-file-name\``/ld # Add groff and gnulib m4 macros ACLOCAL_AMFLAGS = -I m4 -I gnulib_m4 # Common preprocessor flags: gnulib includes, common includes in # src/include, and config.h that is generated in the build tree AM_CPPFLAGS = \ -I$(top_srcdir)/src/include \ -I$(top_srcdir)/lib \ -I$(top_builddir)/src/include \ -I$(top_builddir)/lib # Define a custom string for rules that call groff in make's silence mode. GROFF_V = $(GROFF_V_@AM_V@) GROFF_V_ = $(GROFF_V_@AM_DEFAULT_V@) GROFF_V_0 = @echo " GROFF " $@; # The following Automake variables will be supplemented by the various # .am files. bin_PROGRAMS = nobase_bin_PROGRAMS = bin_SCRIPTS = dist_bin_SCRIPTS = # stuff that should be in distribution archives but not in source repo MAINTAINERCLEANFILES = MOSTLYCLEANFILES = noinst_LIBRARIES = BUILT_SOURCES = CLEANFILES = # gnulib asks to include this file EXTRA_DIST = gnulib_m4/gnulib-cache.m4 FONTFILES = PREFIXMAN1 = man1_MANS = man5_MANS = man7_MANS = # for lex/yacc AM_YFLAGS = -d -v SUFFIXES = # tests launched by make check check_SCRIPTS = check_PROGRAMS = TESTS = XFAIL_TESTS = AM_TESTS_ENVIRONMENT = \ abs_top_srcdir=$(abs_top_srcdir) \ abs_top_builddir=$(abs_top_builddir) \ export abs_top_srcdir abs_top_builddir; # We use Automake's Uniform Naming Scheme. # # prefixexecbin_PROGRAMS is the list of programs that may have a # NAMEPREFIX if an existing non-GNU troff system was detected. # # This is done by the m4 macro GROFF_G that checks for the presence of # GNU Troff built-in \n[.g] macro. If a Unix Troff binary was # detected, the following programs and scripts names will have a 'g' # prefix: chem, tbl, eqn, neqn, pic, soelim, grn, refer, lookbib, # troff, nroff. Also, PROG_PREFIX will be set to 'g' in the generated # header defs.h so that these programs could be called correctly. # # prefixexecbindir is used to temporary install these programs. They # are then moved to bindir during the install-exec-hook. Same thing # for the scripts. NAMEPREFIX=$(g) prefixexecbin_PROGRAMS = prefixexecbin_SCRIPTS = if USEPROGRAMPREFIX # We use datadir because the uninstall rule for the PROGRAMS attempts # to cd into prefixexecbindir, and thus if prefixexecbindir is removed # two consecutive uninstalls would fail prefixexecbindir = $(datadir) else prefixexecbindir = $(bindir) endif # Path to binaries and flags used by contribs and doc to generated doc. # These may be overridden if cross-compiling. GROFFBIN = $(abs_top_builddir)/groff GROFF_BIN_PATH = $(abs_top_builddir) PDFMOMBIN = $(abs_top_builddir)/pdfmom # Search for macro files and device/font description directories in # source _and_ build trees; some of each are generated. FFLAG=-F$(abs_top_builddir)/font -F$(abs_top_srcdir)/font MFLAG=-M$(abs_top_builddir)/tmac -M$(abs_top_srcdir)/tmac if !MAKE_DEFINES_RM RM=rm -f endif # 'VERSION' is generated by gnulib script git-version-gen, using the # command 'git describe': # # - From a git repository: if the current commit corresponds to a # tag, then 'VERSION' is simply the tag (e.g. 1.22.3). Otherwise # 'VERSION' has the following format: # -- # # With: # . tag: the most recent tag reachable from the current commit # . nb_commits: number of commits between the most recent tag and # the current commit. # . current commit, abbreviated. # For example: 1.22.3.real.434-5aafd # The version is stored in .version. # # - From a tarball, the version is taken from .tarball-version # # REVISION is the full revision given by git-version-gen, which can # have non-alphanumeric symbols. # # Also see configure.ac for the related SHORT_VERSION macro. MAJOR_VERSION = `echo $(VERSION) | cut -d . -f 1` MINOR_VERSION = `echo $(VERSION) | cut -d . -f 2` REVISION = `echo $(VERSION) | cut -d . -f 3` # Non-recursive makefile system. See Automake manual '7.3 An # Alternative Approach to Subdirectories'. We use a single Makefile.am # that includes other .am files, rather than using SUBDIRS. Note that # relative paths in the following .am files are relative to the top # source directory. include $(top_srcdir)/lib/gnulib.mk include $(top_srcdir)/arch/mingw/mingw.am include $(top_srcdir)/arch/misc/misc.am include $(top_srcdir)/contrib/chem/chem.am include $(top_srcdir)/contrib/eqn2graph/eqn2graph.am include $(top_srcdir)/contrib/gdiffmk/gdiffmk.am include $(top_srcdir)/contrib/glilypond/glilypond.am include $(top_srcdir)/contrib/gperl/gperl.am include $(top_srcdir)/contrib/gpinyin/gpinyin.am include $(top_srcdir)/contrib/grap2graph/grap2graph.am include $(top_srcdir)/contrib/hdtbl/hdtbl.am include $(top_srcdir)/contrib/mm/mm.am include $(top_srcdir)/contrib/mom/mom.am include $(top_srcdir)/contrib/pdfmark/pdfmark.am include $(top_srcdir)/contrib/pic2graph/pic2graph.am include $(top_srcdir)/contrib/rfc1345/rfc1345.am include $(top_srcdir)/contrib/sboxes/sboxes.am include $(top_srcdir)/doc/doc.am include $(top_srcdir)/font/devX100/devX100.am include $(top_srcdir)/font/devX100-12/devX100-12.am include $(top_srcdir)/font/devX75/devX75.am include $(top_srcdir)/font/devX75-12/devX75-12.am include $(top_srcdir)/font/devascii/devascii.am include $(top_srcdir)/font/devcp1047/devcp1047.am include $(top_srcdir)/font/devdvi/devdvi.am include $(top_srcdir)/font/devhtml/devhtml.am include $(top_srcdir)/font/devlatin1/devlatin1.am include $(top_srcdir)/font/devlbp/devlbp.am include $(top_srcdir)/font/devlj4/devlj4.am include $(top_srcdir)/font/devpdf/devpdf.am include $(top_srcdir)/font/devps/devps.am include $(top_srcdir)/font/devutf8/devutf8.am include $(top_srcdir)/font/scripts/scripts.am include $(top_srcdir)/man/man.am include $(top_srcdir)/src/include/include.am include $(top_srcdir)/src/libs/libbib/libbib.am include $(top_srcdir)/src/libs/libdriver/libdriver.am include $(top_srcdir)/src/libs/libgroff/libgroff.am include $(top_srcdir)/src/libs/libxutil/libxutil.am include $(top_srcdir)/src/devices/grodvi/grodvi.am include $(top_srcdir)/src/devices/grohtml/grohtml.am include $(top_srcdir)/src/devices/grolbp/grolbp.am include $(top_srcdir)/src/devices/grolj4/grolj4.am include $(top_srcdir)/src/devices/gropdf/gropdf.am include $(top_srcdir)/src/devices/grops/grops.am include $(top_srcdir)/src/devices/grotty/grotty.am include $(top_srcdir)/src/devices/xditview/xditview.am include $(top_srcdir)/src/preproc/eqn/eqn.am include $(top_srcdir)/src/preproc/grn/grn.am include $(top_srcdir)/src/preproc/html/html.am include $(top_srcdir)/src/preproc/pic/pic.am include $(top_srcdir)/src/preproc/preconv/preconv.am include $(top_srcdir)/src/preproc/refer/refer.am include $(top_srcdir)/src/preproc/soelim/soelim.am include $(top_srcdir)/src/preproc/tbl/tbl.am include $(top_srcdir)/src/roff/groff/groff.am include $(top_srcdir)/src/roff/nroff/nroff.am include $(top_srcdir)/src/roff/troff/troff.am include $(top_srcdir)/src/utils/addftinfo/addftinfo.am include $(top_srcdir)/src/utils/afmtodit/afmtodit.am include $(top_srcdir)/src/utils/grog/grog.am include $(top_srcdir)/src/utils/hpftodit/hpftodit.am include $(top_srcdir)/src/utils/indxbib/indxbib.am include $(top_srcdir)/src/utils/lkbib/lkbib.am include $(top_srcdir)/src/utils/lookbib/lookbib.am include $(top_srcdir)/src/utils/pfbtops/pfbtops.am include $(top_srcdir)/src/utils/tfmtodit/tfmtodit.am include $(top_srcdir)/src/utils/xtotroff/xtotroff.am include $(top_srcdir)/tmac/tmac.am # Adding defs.h to BUILT_SOURCES will ensure that it will be built on # make all or make check before all other targets. However, if another # target is built from a clean build tree, (for example make groff) # the files in BUILT_SOURCES will not be built first. That is why # additional dependencies were added in the .am files that list # objects that use defs (for example in groff.am: # src/roff/groff/groff.$(OBJEXT): defs.h) BUILT_SOURCES += defs.h .DELETE_ON_ERROR: .PRECIOUS: $(TEST_SUITE_LOG) # if there is a name prefix we install the man pages by hand all: generate_man_files install-data-hook: install-prefix-man uninstall-hook: uninstall-prefix-man if USEPROGRAMPREFIX generate_man_files: $(PREFIXMAN1) install-prefix-man: for f in $(PREFIXMAN1); do \ cp -f $$f $(DESTDIR)$(man1dir)/$(NAMEPREFIX)`basename $$f`; \ done uninstall-prefix-man: for f in $(PREFIXMAN1); do \ rm -f $(DESTDIR)$(man1dir)/$(NAMEPREFIX)`basename $$f`; \ done else man1_MANS += $(PREFIXMAN1) install-prefix-man: uninstall-prefix-man: generate_man_files: endif # Hook to create the 'current' symlink install-data-hook: create_current_symlink create_current_symlink: cd $(DESTDIR)$(dataprogramdir); \ rm -f current; \ $(LN_S) $(SHORT_VERSION) current # Hook to move the binaries that potentially have a prefix from # prefixexecbindir to bindir. install-exec-hook: move_binaries_with_prefix move_binaries_with_prefix: if USEPROGRAMPREFIX if test -n "$(NAMEPREFIX)"; then \ for f in $(prefixexecbin_PROGRAMS) $(prefixexecbin_SCRIPTS); do \ mv -f $(DESTDIR)$(prefixexecbindir)/$$f$(EXEEXT) \ $(DESTDIR)$(bindir)/$(NAMEPREFIX)$$f$(EXEEXT); \ done \ fi endif # Always create the site-font directory as a guide to the user. install-data-hook: install_site_font install_site_font: -test -d $(DESTDIR)$(localfontdir) \ || $(mkinstalldirs) $(DESTDIR)$(localfontdir) # Create systemtmacdir if not present install-data-hook: install_tmacdir install_tmacdir: -test -d $(DESTDIR)$(systemtmacdir) \ || $(mkinstalldirs) $(DESTDIR)$(systemtmacdir) # directories specific to groff uninstall-hook: uninstall_groffdirs uninstall_groffdirs: if test -d $(DESTDIR)$(datasubdir); then \ rm -rf $(DESTDIR)$(fontdir); \ rm -rf $(DESTDIR)$(oldfontdir); \ rmdir $(DESTDIR)$(datasubdir); \ fi if test -d $(DESTDIR)$(dataprogramdir); then \ if test -h $(DESTDIR)$(dataprogramdir)/current; then \ rm -f $(DESTDIR)$(dataprogramdir)/current; \ fi; \ if test -d $(DESTDIR)$(localfontdir); then \ rm -f $(DESTDIR)$(localfontdir)/*; \ rmdir $(DESTDIR)$(localfontdir); \ fi; \ rmdir $(DESTDIR)$(dataprogramdir); \ fi if test -d $(DESTDIR)$(libprogramdir); then \ if test -d $(DESTDIR)$(systemtmacdir); then \ rm -f $(DESTDIR)$(systemtmacdir)/*; \ rmdir $(DESTDIR)$(systemtmacdir); \ fi; \ rmdir $(DESTDIR)$(libprogramdir); \ fi if test -d $(DESTDIR)$(docdir); then \ if test -d $(DESTDIR)$(exampledir); then \ rmdir $(DESTDIR)$(exampledir); \ fi; \ if test -d $(DESTDIR)$(htmldocdir); then \ if test -d $(DESTDIR)$(htmldocdir)/groff.html.mono; then \ rmdir $(DESTDIR)$(htmldocdir)/groff.html.mono; \ fi; \ if test -d $(DESTDIR)$(htmldocdir)/groff.html.node; then \ rmdir $(DESTDIR)$(htmldocdir)/groff.html.node; \ fi; \ rmdir $(DESTDIR)$(htmldocdir); \ fi; \ rmdir $(DESTDIR)$(docdir); \ fi # Uninstall program that have a 'g' prefix uninstall-hook: uninstall_binaries_with_prefix uninstall_binaries_with_prefix: if USEPROGRAMPREFIX if test -n "$(NAMEPREFIX)"; then \ for f in $(prefixexecbin_PROGRAMS) $(prefixexecbin_SCRIPTS); do \ rm -f $(DESTDIR)$(bindir)/$(NAMEPREFIX)$$f$(EXEEXT); \ done; \ fi endif # Other files that should be present in the distribution tarball. EXTRA_DIST += \ BUG-REPORT \ ChangeLog.115 \ ChangeLog.116 \ ChangeLog.117 \ ChangeLog.118 \ ChangeLog.119 \ ChangeLog.120 \ ChangeLog.121 \ ChangeLog.122 \ FDL \ FOR-RELEASE \ gendef.sh \ HACKING \ INSTALL.REPO \ INSTALL.extra \ LICENSES \ MANIFEST \ mdate.pl \ MORE.STUFF \ PROBLEMS \ PROJECTS \ README.MinGW \ arch/djgpp \ font/util/make-Rproto \ makevarescape.sed MOSTLYCLEANFILES += $(prefixexecbin_SCRIPTS) $(bin_SCRIPTS) \ $(man1_MANS) $(man5_MANS) $(man7_MANS) \ $(PREFIXMAN1) # Suffix rule to build .1, .5 and .7 files from .1.man, .5.man and # .7.man files. The brackets around the @ are used to prevent the # substitution of the variable by automake. # # The sed script transforms - to \-, ~ to \(ti, and so forth, (with an # extra layer of backslashes--see below) so that Makefile variables # containing ASCII characters that do not represent themselves literally # in *roff (see groff_char(7)) are correctly interpolated into man page # text. # # Note that while the script, combined with this target, will transform # ` to \(ga, including grave accents in Makefile variables is likely to # fail when the shell lexes the argument to echo within the old-style # command substitution `` below. Testing shows that grave accents # should work* if POSIX-style command substitution $() is done instead. # However, $() is less portable. (Triple-escaping grave accents \\\` # inside the interpolated Makefile variable will work, but is not # attempted here.) # # Note also that the amount of backslash-escaping in the sed script is # excessive (and incorrect) for normal purposes, but required here # because a command substitution is being nested inside yet another # invocation of sed. # # * For this target, no assurances about the good behavior of unusual # characters in Makefile variables in other aspects of the groff build # are offered. # # COMPATIBILITY_WRAPPERS is intended only for use in conditional # expressions in man pages (to see if the legacy macro package wrappers # feature is enabled) and not for expansion as formatted text. makevarescape=$(top_srcdir)/makevarescape.sed SUFFIXES += .man .man: $(AM_V_GEN)$(MKDIR_P) `dirname $@` \ && LC_ALL=C \ sed -e "s|[@]APPDEFDIR[@]|`echo $(appdefdir) | sed -f $(makevarescape)`|g" \ -e "s|[@]BINDIR[@]|`echo $(bindir) | sed -f $(makevarescape)`|g" \ -e "s|[@]COMMON_WORDS_FILE[@]|`echo $(common_words_file) | sed -f $(makevarescape)`|g" \ -e "s|[@]COMPATIBILITY_WRAPPERS[@]|$(compatibility_wrappers)|g" \ -e "s|[@]DATASUBDIR[@]|`echo $(datasubdir) | sed -f $(makevarescape)`|g" \ -e "s|[@]DEFAULT_INDEX[@]|`echo $(indexdir)/$(indexname) | sed -f $(makevarescape)`|g" \ -e "s|[@]DEFAULT_INDEX_NAME[@]|`echo $(indexname) | sed -f $(makevarescape)`|g" \ -e "s|[@]DEVICE[@]|\\\\%$(DEVICE)|g" \ -e "s|[@]DOCDIR[@]|`echo $(docdir) | sed -f $(makevarescape)`|g" \ -e "s|[@]EXAMPLEDIR[@]|`echo $(exampledir) | sed -f $(makevarescape)`|g" \ -e "s|[@]FONTDIR[@]|`echo $(fontdir) | sed -f $(makevarescape)`|g" \ -e "s|[@]g[@]|\\\\%$(g)|g" \ -e "s|[@]HTMLDOCDIR[@]|`echo $(htmldocdir) | sed -f $(makevarescape)`|g" \ -e "s|[@]INDEX_SUFFIX[@]|\\\\%$(indexext)|g" \ -e "s|[@]LEGACYFONTDIR[@]|`echo $(legacyfontdir) | sed -f $(makevarescape)`|g" \ -e "s|[@]LOCALFONTDIR[@]|`echo $(localfontdir) | sed -f $(makevarescape)`|g" \ -e "s|[@]LOCALMACRODIR[@]|`echo $(localtmacdir) | sed -f $(makevarescape)`|g" \ -e "s|[@]MACRODIR[@]|`echo $(tmacdir) | sed -f $(makevarescape)`|g" \ -e "s|[@]MAN1EXT[@]|$(man1ext)|g" \ -e "s|[@]MAN5EXT[@]|$(man5ext)|g" \ -e "s|[@]MAN7EXT[@]|$(man7ext)|g" \ -e "s|[@]MDATE[@]|`$(PERL) $(top_srcdir)/mdate.pl $<`|g" \ -e "s|[@]OLDFONTDIR[@]|`echo $(oldfontdir) | sed -f $(makevarescape)`|g" \ -e "s|[@]PAGE[@]|\\\\%$(PAGE)|g" \ -e "s|[@]PDFDOCDIR[@]|`echo $(pdfdocdir) | sed -f $(makevarescape)`|g" \ -e "s|[@]PSPRINT[@]|`echo $(PSPRINT) | sed -f $(makevarescape)`|g" \ -e "s|[@]SYSTEMMACRODIR[@]|`echo $(systemtmacdir) | sed -f $(makevarescape)`|g" \ -e "s|[@]TMAC_AN_PREFIX[@]|\\\\%$(tmac_an_prefix)|g" \ -e "s|[@]TMAC_M_PREFIX[@]|\\\\%$(tmac_m_prefix)|g" \ -e "s|[@]TMAC_MDIR[@]|`echo $(tmacdir) | sed -f $(makevarescape)`/mm|g" \ -e "s|[@]TMAC_S_PREFIX[@]|\\\\%$(tmac_s_prefix)|g" \ -e "s|[@]VERSION[@]|$(VERSION)|g" \ $< \ >$@ # Version files - see script 'build-aux/git-version-gen' EXTRA_DIST += $(top_srcdir)/.version BUILT_SOURCES += $(top_srcdir)/.version $(top_srcdir)/.version: echo $(VERSION) > $@-t && mv $@-t $@ dist-hook: echo $(VERSION) > $(distdir)/.tarball-version # Local Variables: # fill-column: 72 # mode: makefile-automake # End: # vim: set autoindent filetype=automake textwidth=72: