home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / gnu / groff-1.09-src.lha / src / amiga / groff-1.09 / Makefile.in < prev    next >
Makefile  |  1994-02-21  |  13KB  |  388 lines

  1. # Copyright (C) 1989, 1990, 1991, 1992, 1993 Free Software Foundation, Inc.
  2. #      Written by James Clark (jjc@jclark.com)
  3. # This file is part of groff.
  4. # groff is free software; you can redistribute it and/or modify it under
  5. # the terms of the GNU General Public License as published by the Free
  6. # Software Foundation; either version 2, or (at your option) any later
  7. # version.
  8. # groff is distributed in the hope that it will be useful, but WITHOUT ANY
  9. # WARRANTY; without even the implied warranty of MERCHANTABILITY or
  10. # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  11. # for more details.
  12. # You should have received a copy of the GNU General Public License along
  13. # with groff; see the file COPYING.  If not, write to the Free Software
  14. # Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  15.  
  16. # Define `page' to be letter if your PostScript printer uses 8.5x11
  17. # paper (USA) and define it to be A4, if it uses A4 paper (rest of the
  18. # world).
  19. PAGE=@PAGE@
  20.  
  21. # Normally the Postscript driver, grops, produces output that conforms
  22. # to version 3.0 of the Adobe Document Structuring Conventions.
  23. # Unfortunately some spoolers and previewers can't handle such output.
  24. # The BROKEN_SPOOLER_FLAGS variable tells grops what it should do to
  25. # make its output acceptable to such programs.  This variable controls
  26. # only the default behaviour of grops; the behaviour can be changed at
  27. # runtime by the grops -b option (and so by groff -P-b).
  28. # Use a value of 0 if your spoolers and previewers are able to handle
  29. # conforming PostScript correctly.
  30. # Add 1 if no %%{Begin,End}DocumentSetup comments should be generated;
  31. # this is needed for early versions of TranScript that get confused by
  32. # anything between the %%EndProlog line and the first %%Page: comment.
  33. # Add 2 if lines in included files beginning with %! should be
  34. # stripped out; this is needed for the OpenWindows 2.0 pageview previewer.
  35. # Add 4 if %%Page, %%Trailer and %%EndProlog comments should be
  36. # stripped out of included files; this is needed for spoolers that
  37. # don't understand the %%{Begin,End}Document comments. I suspect this
  38. # includes early versions of TranScript.
  39. # Add 8 if the first line of the PostScript output should be %!PS-Adobe-2.0
  40. # rather than %!PS-Adobe-3.0; this is needed when using Sun's Newsprint
  41. # with a printer that requires page reversal.
  42. BROKEN_SPOOLER_FLAGS=@BROKEN_SPOOLER_FLAGS@
  43.  
  44. # DEVICE is the default device.
  45. DEVICE=ps
  46.  
  47. # PSPRINT is the command to use for printing a PostScript file,
  48. # for example `lpr'.
  49. PSPRINT=@PSPRINT@
  50.  
  51. # DVIPRINT is the command to use for printing a TeX dvi file,
  52. # for example `lpr -d'.
  53. DVIPRINT=@DVIPRINT@
  54.  
  55. # Prefix for names of programs that have Unix counterparts.
  56. # For example, if `g' is `g' then troff will be installed as
  57. # gtroff.  This doesn't affect programs like grops or groff that have
  58. # no Unix counterparts.  Note that the groff versions of eqn and tbl
  59. # will not work with Unix troff.  This is also use in the definitions
  60. # of tmac_s and tmac_m.
  61. g=g
  62.  
  63. # The groff ms macros will be available as -m$(tmac_s).
  64. # If you use `tmac_s=s', you can use the Unix ms macros by using
  65. # groff -ms -M/usr/lib/tmac.
  66. tmac_s=$(g)s
  67.  
  68. # Similarly, the groff mm macros will be available as -m$(tmac_m).
  69. tmac_m=$(g)m
  70.  
  71. # Common prefix for installation directories.
  72. # Used in definitions of exec_prefix, datasubdir, fontpath, manroot.
  73. # This must already exist when you do make install.
  74. prefix=/gnu
  75.  
  76. exec_prefix=$(prefix)
  77.  
  78. # bindir says where to install executables.
  79. bindir=$(exec_prefix)/bin
  80.  
  81. # datasubdir says where to install data files
  82. datadir=$(prefix)/lib
  83. datasubdir=$(datadir)/groff
  84.  
  85. # fontdir says where to install dev*/*.
  86. fontdir=$(datasubdir)/font
  87.  
  88. # fontpath says where to look for dev*/*.
  89. fontpath=.:$(fontdir):$(prefix)/lib/font
  90.  
  91. # tmacdir says where to install macros.
  92. tmacdir=$(datasubdir)/tmac
  93.  
  94. # tmacpath says where to look for macro files.
  95. tmacpath=.:$(tmacdir)
  96.  
  97. # Extension to be used for refer index files.  Index files are not
  98. # sharable between different architectures, so you might want to use
  99. # different suffixes for different architectures.  Choose an extension
  100. # that doesn't conflict with refer or any other indexing program.
  101. indexext=.i
  102.  
  103. # Directory containing the default index for refer.
  104. indexdir=/gnu/dict/papers
  105.  
  106. # The filename (without suffix) of the default index for refer.
  107. indexname=Ind
  108.  
  109. # common_words_file is a file containing a list of common words.
  110. # If your system provides /usr/lib/eign it will be copied onto this,
  111. # otherwise the supplied eign file will be used.
  112. common_words_file=$(datasubdir)/eign
  113.  
  114. # manroot is the root of the man page directory tree.
  115. manroot=$(prefix)/man
  116.  
  117. # man1ext is the man section for user commands.
  118. man1ext=1
  119. man1dir=$(manroot)/man$(man1ext)
  120.  
  121. # man5ext is the man section for file formats.
  122. man5ext=5
  123. man5dir=$(manroot)/man$(man5ext)
  124.  
  125. # man7ext is the man section for macros.
  126. man7ext=7
  127. man7dir=$(manroot)/man$(man7ext)
  128.  
  129. # DEFINES should include the following:
  130. # -DHAVE_MMAP            if you have mmap() and <sys/mman.h>
  131. # -DCFRONT_ANSI_BUG        if you're using cfront 2.0 (or later?) with
  132. #                an ANSI C compiler
  133. # -DCOOKIE_BUG            if you're using gcc/g++ 2.[012] (you should
  134. #                upgrade to 2.3).
  135. # -DARRAY_DELETE_NEEDS_SIZE    if your C++ doesn't understand `delete []'
  136. # -DHAVE_SYS_SIGLIST        if you have sys_siglist[]
  137. # -DWCOREFLAG=0200        if the 0200 bit of the status returned by
  138. #                wait() indicates whether a core image was
  139. #                produced for a process that was terminated
  140. #                by a signal
  141. # -DHAVE_UNISTD_H        if you have <unistd.h>
  142. # -DHAVE_CC_OSFCN_H        if you have a C++ <osfcn.h>
  143. # -DHAVE_DIRENT_H        if you have <dirent.h>
  144. # -DHAVE_LIMITS_H        if you have <limits.h>
  145. # -DHAVE_CC_LIMITS_H        if you have a C++ <limits.h>
  146. # -DHAVE_SYS_DIR_H        if you have <sys/dir.h>
  147. # -DHAVE_STDLIB_H        if you have <stdlib.h>
  148. # -DHAVE_VFORK_H        if you have <vfork.h>
  149. # -Dvfork=fork            if you don't have a working vfork()
  150. # -DHAVE_RENAME            if you have rename()
  151. # -DHAVE_MKSTEMP        if you have mkstemp()
  152. # -DSTDLIB_H_DECLARES_GETOPT    if your C++ <stdlib.h> declares getopt()
  153. # -DUNISTD_H_DECLARES_GETOPT    if your C++ <unistd.h> declares getopt()
  154. # -DSTDLIB_H_DECLARES_PUTENV    if your C++ <stdlib.h> declares putenv()
  155. # -DSTDIO_H_DECLARES_POPEN    if your C++ <stdio.h> declares popen()
  156. # -DTRADITIONAL_CPP        if your C++ compiler uses a traditional
  157. #                (Reiser) preprocessor.
  158. # -DLONG_FOR_TIME_T        if localtime() takes a long * not a time_t *
  159. # -DHAVE_STRUCT_EXCEPTION    if <math.h> defines struct exception
  160. # -DRETSIGTYPE=int        if signal handlers return int not void    
  161. DEFINES=@DEFS@
  162.  
  163. # Include fmod.o, strtol.o, getcwd.o, strerror.o, putenv.o  in LIBOBJS if
  164. # your C library is missing the corresponding function.
  165. LIBOBJS=@LIBOBJS@
  166.  
  167. # CCC is the compiler for C++ (.cc) files.
  168. CCC=@CCC@
  169. CC=@CC@
  170. # CCDEFINES are definitions for C++ compilations.
  171. CCDEFINES=$(DEFINES)
  172. # CDEFINES are definitions for C compilations.
  173. CDEFINES=$(DEFINES)
  174.  
  175. DEBUG=
  176. OPTIMIZE=-O
  177. CCFLAGS=$(DEBUG) $(OPTIMIZE)
  178. CFLAGS=$(DEBUG) $(OPTIMIZE)
  179. YACC=@YACC@
  180. YACCFLAGS=-v
  181.  
  182. LIBS=@LIBS@
  183. CCLIBS=@CCLIBS@
  184. RANLIB=@RANLIB@
  185. INSTALL=@INSTALL@
  186. INSTALL_PROGRAM=@INSTALL_PROGRAM@
  187. INSTALL_DATA=@INSTALL_DATA@
  188. LN_S=@LN_S@
  189. AR=ar
  190. ETAGS=etags
  191. ETAGSFLAGS=
  192. # Flag that tells etags to assume C++.
  193. ETAGSCCFLAG=@ETAGSCCFLAG@
  194. # Full path to perl.
  195. PERLPATH=@PERLPATH@
  196. # Sed command with which to edit sh scripts.
  197. SH_SCRIPT_SED_CMD=@SH_SCRIPT_SED_CMD@
  198. srcdir = @srcdir@
  199. VPATH = @srcdir@
  200.  
  201. PURIFY=purify
  202. PURIFYCCFLAGS=
  203. #PURIFYCCFLAGS=-g++=yes \
  204. #  -collector=`dirname \`$(CCC) -print-libgcc-file-name\``/ld
  205.  
  206. # Passing down MAKEOVERRIDES prevents $(MAKE) from containing a second
  207. # copy of $(MDEFINES) when making individual directories; this could
  208. # cause the argument list to become too long on some systems.
  209. MDEFINES="MAKEOVERRIDES=$(MAKEOVERRIDES)" \
  210.   "PAGE=$(PAGE)" "BROKEN_SPOOLER_FLAGS=$(BROKEN_SPOOLER_FLAGS)" \
  211.   "DEVICE=$(DEVICE)" "PSPRINT=$(PSPRINT)" "DVIPRINT=$(DVIPRINT)" \
  212.   "prefix=$(prefix)" "exec_prefix=$(exec_prefix)" "bindir=$(bindir)" \
  213.   "g=$(g)" "datadir=$(datadir)" "datasubdir=$(datasubdir)" \
  214.   "fontdir=$(fontdir)" "fontpath=$(fontpath)" \
  215.   "tmacdir=$(tmacdir)" "tmacpath=$(tmacpath)" \
  216.   "indexext=$(indexext)" "indexdir=$(indexdir)" \
  217.   "indexname=$(indexname)" "common_words_file=$(common_words_file)" \
  218.   "manroot=$(manroot)" "man1ext=$(man1ext)" "man1dir=$(man1dir)" \
  219.   "man5ext=$(man5ext)" "man5dir=$(man5dir)" \
  220.   "man7ext=$(man7ext)" "man7dir=$(man7dir)" \
  221.   "tmac_s=$(tmac_s)" "tmac_m=$(tmac_m)" \
  222.   "CCC=$(CCC)" "CC=$(CC)" "CCDEFINES=$(CCDEFINES)" "CDEFINES=$(CDEFINES)" \
  223.   "CCFLAGS=$(CCFLAGS)" "CFLAGS=$(CFLAGS)" \
  224.   "YACC=$(YACC)" "YACCFLAGS=$(YACCFLAGS)" \
  225.   "LIBS=$(LIBS)" "CCLIBS=$(CCLIBS)" "LIBOBJS=$(LIBOBJS)" \
  226.   "RANLIB=$(RANLIB)" "AR=$(AR)" \
  227.   "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" "INSTALL_DATA=$(INSTALL_DATA)" \
  228.   "ETAGS=$(ETAGS)" "ETAGSFLAGS=$(ETAGSFLAGS)" "ETAGSCCFLAG=$(ETAGSCCFLAG)" \
  229.   "PERLPATH=$(PERLPATH)" "SH_SCRIPT_SED_CMD=$(SH_SCRIPT_SED_CMD)" \
  230.   "PURIFY=$(PURIFY)" "PURIFYCCFLAGS=$(PURIFYCCFLAGS)"
  231.  
  232. SHELL=/bin/sh
  233. INCDIRS=include
  234. LIBDIRS=libgroff libdriver libbib
  235. CCPROGDIRS=groff troff tbl pic eqn grops grotty grodvi tfmtodit \
  236.   refer lookbib indxbib lkbib soelim addftinfo
  237. CPROGDIRS=pfbtops psbb
  238. PROGDIRS=$(CCPROGDIRS) $(CPROGDIRS)
  239. DEVDIRS=devps devdvi devascii devlatin1 devX75 devX75-12 devX100 devX100-12
  240. OTHERDIRS=man tmac afmtodit grog nroff mm
  241. ALLDIRS=$(INCDIRS) $(LIBDIRS) $(PROGDIRS) $(DEVDIRS) $(OTHERDIRS)
  242. EXTRADIRS=devps/generate devdvi/generate xditview doc
  243. DISTDIRS=$(ALLDIRS) $(EXTRADIRS)
  244. TARGETS=all install install_bin install_data clean distclean mostlyclean \
  245.   realclean extraclean distfiles TAGS depend uninstall_sub
  246.  
  247. do=all
  248. dodirs=$(ALLDIRS) dot
  249. # Default target for subdir_Makefile
  250. subdir=troff
  251.  
  252.  
  253. $(TARGETS):
  254.     @$(MAKE) $(MDEFINES) do=$@ $(dodirs)
  255.  
  256. dot: FORCE
  257.     @$(MAKE) $(MDEFINES) srcdir=$(srcdir) VPATH=$(srcdir) \
  258.         -f $(srcdir)/Makefile.comm -f $(srcdir)/Makefile.sub $(do)
  259.     
  260. $(LIBDIRS): FORCE
  261.     @if test $(srcdir) = .; \
  262.     then srcdir=.; \
  263.     else srcdir=`cd $(srcdir); pwd`/$@; \
  264.     fi; \
  265.     test -d $@ || mkdir $@; \
  266.     cd $@; \
  267.     $(MAKE) $(MDEFINES) srcdir=$$srcdir VPATH=$$srcdir \
  268.         -f $$srcdir/../Makefile.comm -f $$srcdir/Makefile.sub \
  269.             -f $$srcdir/../Makefile.lib -f $$srcdir/Makefile.dep $(do)
  270.  
  271. $(CPROGDIRS): FORCE
  272.     @if test $(srcdir) = .; \
  273.     then srcdir=.; \
  274.     else srcdir=`cd $(srcdir); pwd`/$@; \
  275.     fi; \
  276.     test -d $@ || mkdir $@; \
  277.     cd $@; \
  278.     $(MAKE) $(MDEFINES) srcdir=$$srcdir VPATH=$$srcdir \
  279.         -f $$srcdir/../Makefile.comm -f $$srcdir/Makefile.sub \
  280.             -f $$srcdir/../Makefile.cpg -f $$srcdir/Makefile.dep $(do)
  281.  
  282. $(CCPROGDIRS): FORCE
  283.     @if test $(srcdir) = .; \
  284.     then srcdir=.; \
  285.     else srcdir=`cd $(srcdir); pwd`/$@; \
  286.     fi; \
  287.     test -d $@ || mkdir $@; \
  288.     cd $@; \
  289.     $(MAKE) $(MDEFINES) srcdir=$$srcdir VPATH=$$srcdir \
  290.         -f $$srcdir/../Makefile.comm -f $$srcdir/Makefile.sub \
  291.             -f $$srcdir/../Makefile.ccpg -f $$srcdir/Makefile.dep $(do)
  292.  
  293. $(DEVDIRS): FORCE
  294.     @if test $(srcdir) = .; \
  295.     then srcdir=.; \
  296.     else srcdir=`cd $(srcdir); pwd`/$@; \
  297.     fi; \
  298.     test -d $@ || mkdir $@; \
  299.     cd $@; \
  300.     $(MAKE) $(MDEFINES) srcdir=$$srcdir VPATH=$$srcdir \
  301.         -f $$srcdir/../Makefile.comm -f $$srcdir/Makefile.sub \
  302.         -f $$srcdir/../Makefile.dev $(do)
  303.  
  304. $(INCDIRS) $(OTHERDIRS): FORCE
  305.     @if test $(srcdir) = .; \
  306.     then srcdir=.; \
  307.     else srcdir=`cd $(srcdir); pwd`/$@; \
  308.     fi; \
  309.     test -d $@ || mkdir $@; \
  310.     cd $@; \
  311.     $(MAKE) $(MDEFINES) srcdir=$$srcdir VPATH=$$srcdir \
  312.         -f $$srcdir/../Makefile.comm -f $$srcdir/Makefile.sub \
  313.             -f $$srcdir/../Makefile.man $(do)
  314.  
  315. version=`cat $(srcdir)/VERSION`
  316.  
  317. .PHONY: dist
  318. dist:
  319.     -rm -fr tmp
  320.     mkdir tmp
  321.     for d in $(DISTDIRS); do \
  322.       mkdir    tmp/$$d; \
  323.     done
  324.     srcdir=`cd $(srcdir); pwd`; \
  325.     cd tmp; \
  326.     $(LN_S) ../Makefile .; \
  327.     $(LN_S) $$srcdir/* . 2>/dev/null || true; \
  328.     for d in $(DISTDIRS); do \
  329.       (cd $$d; $(LN_S) $$srcdir/$$d/* . 2>/dev/null || true); \
  330.     done; \
  331.     $(MAKE) srcdir=$$srcdir VPATH=$$srcdir extraclean; \
  332.     for d in $(EXTRADIRS); do \
  333.       (cd $$d; $(MAKE) extraclean); \
  334.     done; \
  335.     rm -f Makefile; \
  336.     $(LN_S) $$srcdir/Makefile.init Makefile
  337.     mv tmp groff-$(version)
  338.     tar cfh - groff-$(version) | gzip -c >groff-$(version).tar.gz
  339.     rm -fr groff-$(version)
  340.  
  341. # $(PROGDIRS): libgroff
  342. # grops grotty grodvi: libdriver
  343. # refer lookbib indxbib lkbib: libbib
  344. # $(LIBDIRS) $(PROGDIRS): include
  345.  
  346. .PHONY: $(ALLDIRS) dot $(TARGETS) FORCE
  347.  
  348. subdir_Makefile: Makefile.cfg
  349.     $(MAKE) do=Makefile $(subdir)
  350.  
  351. Makefile.cfg: Makefile
  352.     >Makefile.cfg
  353.     for var in $(MDEFINES); do \
  354.       echo "$$var" >>Makefile.cfg; \
  355.     done
  356.  
  357. depend: srcdir_must_be_dot
  358.  
  359. .PHONY: srcdir_must_be_dot
  360. srcdir_must_be_dot:
  361.     @test "X$(srcdir)" = "X." \
  362.       || (echo This target can only be made in the source directory; \
  363.           exit 1)
  364.  
  365. Makefile: Makefile.in
  366.     $(SHELL) config.status
  367.  
  368. .PHONY: uninstall
  369. uninstall: uninstall_sub uninstall_dirs
  370.  
  371. .PHONY: uninstall_dirs
  372. uninstall_dirs:
  373. # Use rmdir here so that the directories are only removed if they're empty
  374.     -rmdir $(man1dir) $(man5dir) $(man7dir) $(manroot) \
  375.       $(tmacdir) $(fontdir) $(bindir) $(datasubdir) $(datadir)
  376.  
  377.  
  378. .PHONY: check
  379. check:
  380.  
  381. FORCE:
  382.  
  383. .NOEXPORT:
  384.