home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / gawk-2.15.6-src.tgz / tar.out / fsf / gawk / Makefile.in < prev    next >
Makefile  |  1996-09-28  |  7KB  |  246 lines

  1. # Makefile for GNU Awk.
  2. #
  3. # Copyright (C) 1986, 1988-1995 the Free Software Foundation, Inc.
  4. # This file is part of GAWK, the GNU implementation of the
  5. # AWK Progamming Language.
  6. # GAWK is free software; you can redistribute it and/or modify
  7. # it under the terms of the GNU General Public License as published by
  8. # the Free Software Foundation; either version 2 of the License, or
  9. # (at your option) any later version.
  10. # GAWK is distributed in the hope that it will be useful,
  11. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13. # GNU General Public License for more details.
  14. # You should have received a copy of the GNU General Public License
  15. # along with GAWK; see the file COPYING.  If not, write to
  16. # the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  17.  
  18. # User tunable macros -- CHANGE THESE IN Makefile.in RATHER THAN IN 
  19. # Makefile, OR configure WILL OVERWRITE YOUR CHANGES
  20.  
  21. #### Start of system configuration section. ####
  22.  
  23. VPATH = @srcdir@
  24. srcdir = @srcdir@
  25.  
  26. # Common prefix for machine-independent installed files.
  27. prefix = /ade
  28. # Common prefix for machine-dependent installed files.
  29. exec_prefix = $(prefix)
  30.  
  31. # Directory to install executables in.
  32. bindir = $(exec_prefix)/bin
  33. # Directory to install libraries in.
  34. libdir = $(exec_prefix)/lib
  35. # Directory to install the Info files in.
  36. infodir = $(prefix)/info
  37. # Directory to install the man page in.
  38. mandir = $(prefix)/man/man$(manext)
  39. # Number to put on the man page filename.
  40. manext = 1
  41.  
  42. # Program to install executables.
  43. INSTALL_PROGRAM = @INSTALL_PROGRAM@
  44. # Program to install data like man pages.
  45. INSTALL_DATA = @INSTALL_DATA@
  46. # Generic install program.
  47. INSTALL = @INSTALL@
  48.  
  49. CC = @CC@
  50. DEFS = @DEFS@
  51. CFLAGS = @CFLAGS@
  52.  
  53. LDFLAGS = @LDFLAGS@
  54. LIBS = @LIBS@
  55.  
  56. YACC = @YACC@
  57.  
  58. #### End of system configuration section. ####
  59.  
  60. # "-I." is needed to find config.h in the build directory.
  61. .c.o:
  62.     $(CC) -c -I. -I$(srcdir) $(DEFS) $(CFLAGS) $<
  63.  
  64. # object files
  65. AWKOBJS = main.o eval.o builtin.o msg.o iop.o io.o field.o array.o \
  66.     node.o version.o missing.o re.o getopt.o getopt1.o
  67.  
  68. ALLOBJS = $(AWKOBJS) awktab.o
  69.  
  70. # GNUOBJS
  71. #    GNU stuff that gawk uses as library routines.
  72. GNUOBJS= regex.o dfa.o $(ALLOCA)
  73.  
  74. # source and documentation files
  75. SRC =    main.c eval.c builtin.c msg.c version.c \
  76.     iop.c io.c field.c array.c node.c missing.c re.c getopt.c getopt1.c
  77.  
  78. ALLSRC= $(SRC) awktab.c
  79.  
  80. AWKSRC= awk.h awk.y $(ALLSRC) patchlevel.h protos.h config.in getopt.h
  81.  
  82. GNUSRC = alloca.c alloca.s dfa.c dfa.h regex.c regex.h
  83.  
  84. COPIES = missing/system.c missing/tzset.c \
  85.     missing/memcmp.c missing/memcpy.c missing/memset.c \
  86.     missing/random.c missing/strncasecmp.c missing/strchr.c \
  87.     missing/strerror.c missing/strtod.c \
  88.     missing/strftime.c missing/strftime.3 
  89.  
  90. SUPPORT = support/texindex.c support/texinfo.tex
  91.  
  92. DOCS= gawk.1 gawk.texi
  93.  
  94. TEXFILES= gawk.aux gawk.cp gawk.cps gawk.fn gawk.fns gawk.ky gawk.kys \
  95.        gawk.pg gawk.pgs gawk.toc gawk.tp gawk.tps gawk.vr gawk.vrs
  96.  
  97. MISC =    NEWS COPYING FUTURES Makefile.* PROBLEMS README* PORTS POSIX \
  98.     mungeconf configure ACKNOWLEDGMENT LIMITATIONS INSTALL
  99.  
  100. OTHERS= pc/* atari/* vms/*
  101.  
  102. ALLDOC= gawk.dvi $(TEXFILES) gawk.info*
  103.  
  104. # Release of gawk.  There can be no leading or trailing white space here!
  105. REL=2.15
  106.  
  107. all:    gawk
  108.  
  109. # rules to build gawk
  110. gawk:    $(ALLOBJS) $(GNUOBJS) $(REOBJS)
  111.     $(CC) -o gawk $(LDFLAGS) $(ALLOBJS) $(GNUOBJS) $(REOBJS) -lm $(LIBS)
  112.  
  113. $(AWKOBJS) regex.o dfa.o:    awk.h dfa.h regex.h
  114.  
  115. getopt.o:    getopt.h
  116.  
  117. getopt1.o:    getopt.h
  118.  
  119. main.o:    patchlevel.h
  120.  
  121. awktab.c:    awk.y
  122.     @echo "expect 40 shift/reduce conflicts"
  123.     $(YACC) -v $(srcdir)/awk.y
  124.     @sed '/extern char.*malloc/d' <y.tab.c >awktab.c
  125.     @rm y.tab.c
  126.  
  127. awktab.o:    awk.h
  128.  
  129. # On AmigaOS, there is no "native awk", so install gawk as both
  130. # /bin/gawk and /bin/awk.
  131.  
  132. install:    gawk gawk.info
  133.     $(INSTALL_PROGRAM) gawk $(bindir)/awk
  134.     $(INSTALL_PROGRAM) gawk $(bindir)/gawk
  135.     $(INSTALL_DATA) $(srcdir)/gawk.1 $(mandir)/gawk.$(manext)
  136.     cd $(srcdir); for f in gawk.info*; \
  137.     do $(INSTALL_DATA) $$f $(infodir)/$$f; done
  138.  
  139. uninstall:
  140.     rm -f $(bindir)/gawk $(mandir)/gawk.$(manext) $(infodir)/gawk.info*
  141.  
  142. # ALLOCA: uncomment this if your system (notably System V boxen)
  143. # does not have alloca in /lib/libc.a or /lib/libPW.a
  144. #
  145. # If your machine is not supported by the assembly version of alloca.s,
  146. # use the C version which follows instead.  It uses the default rules to
  147. # make alloca.o.
  148. #
  149. # One of these rules should have already been selected by running configure.
  150.  
  151.  
  152. # auxiliary rules for release maintenance
  153. lint:    $(ALLSRC)
  154.     lint -hcbax $(FLAGS) $(ALLSRC)
  155.  
  156. xref:
  157.     cxref -c $(FLAGS) $(ALLSRC) | grep -v '    /' >xref
  158.  
  159. clean:
  160.     rm -rf gawk *.o core
  161.     cd test && make clean
  162.  
  163. distclean:    clean
  164.     rm -f Makefile *.orig *.rej */*.orig */*.rej awk.output gmon.out \
  165.         make.out y.output config.h
  166.  
  167. mostlyclean:    clean
  168.  
  169. realclean:    distclean
  170.     rm -f awktab.c $(ALLDOC)
  171.  
  172. cleaner:    clean
  173.     rm -f gawk awktab.c Makefile config.h
  174.  
  175. clobber:    clean
  176.     rm -f $(ALLDOC) gawk.log config.h
  177.  
  178. gawk.dvi:    gawk.texi
  179.     cp $(srcdir)/support/texinfo.tex .
  180.     tex $(srcdir)/gawk.texi; texindex gawk.??
  181.     tex $(srcdir)/gawk.texi; texindex gawk.??
  182.     tex $(srcdir)/gawk.texi
  183.     rm -f texinfo.tex
  184.  
  185. gawk.info:    gawk.texi
  186.     makeinfo -I$(srcdir) $(srcdir)/gawk.texi -o gawk.info
  187.  
  188. dist:    $(AWKSRC) $(GNUSRC) $(DOCS) $(MISC) $(COPIES) $(SUPPORT) distclean
  189.     -rm -rf gawk-$(REL)*
  190.     dir=gawk-$(REL).`gawk '{print $$3}' patchlevel.h` && \
  191.     mkdir $$dir && \
  192.     cp -p $(AWKSRC) $(GNUSRC) $(DOCS) $(MISC) $$dir && \
  193.     mkdir $$dir/missing && cp -p $(COPIES) $$dir/missing && \
  194.     mkdir $$dir/atari && cp -p  atari/* $$dir/atari && \
  195.     mkdir $$dir/pc && cp -p pc/* $$dir/pc && \
  196.     mkdir $$dir/vms && cp -p vms/* $$dir/vms && \
  197.     mkdir $$dir/config && cp -p config/* $$dir/config && \
  198.     mkdir $$dir/support && cp -p support/* $$dir/support && \
  199.     cp -pr test $$dir && \
  200.     chmod -R a+r $$dir && \
  201.     chmod -R a-w $$dir && \
  202.     find $$dir -type d -exec chmod 755 {} ';' && \
  203.     find $$dir -print | doschk && \
  204.     tar -cf - $$dir | gzip > $$dir.tar.gz && \
  205.     rm -fr $$dir
  206.  
  207. gawk-doc-$(REL).tar.gz:    gawk.info gawk.dvi gawk.1
  208.     -rm -rf gawk-doc-$(REL) gawk-doc-$(REL).tar.gz
  209.     -mkdir gawk-doc-$(REL)
  210.     cp -p $(ALLDOC) gawk-doc-$(REL)
  211.     groff -Tascii -man gawk.1 > gawk-doc-$(REL)/gawk.1.pr
  212.     tar -cf - gawk-doc-$(REL) | gzip > gawk-doc-$(REL).tar.gz
  213.  
  214. gawk-ps-$(REL).tar.gz:    gawk.dvi gawk.1
  215.     -rm -rf gawk-ps-$(REL) gawk-ps-$(REL).tar.gz
  216.     -mkdir gawk-ps-$(REL)
  217.     dvips -o gawk-ps-$(REL)/gawk.postscript gawk.dvi
  218.     groff -man gawk.1 > gawk-ps-$(REL)/gawk.1.ps
  219.     tar -cf - gawk-ps-$(REL) | gzip > gawk-ps-$(REL).tar.gz
  220.  
  221. release:    dist gawk-doc-$(REL).tar.gz gawk-ps-$(REL).tar.gz
  222.  
  223. test:    gawk
  224.     cd test; make -k
  225.  
  226. check:    test
  227.  
  228. Makefile:    config.status $(srcdir)/Makefile.in
  229.         $(SHELL) config.status
  230.  
  231. config.h:    stamp-config ;
  232.  
  233. stamp-config:    config.status $(srcdir)/config.h.in
  234.         $(SHELL) config.status
  235.         touch stamp-config
  236.  
  237. configure:    configure.in
  238.         autoconf $(ACFLAGS)
  239.  
  240. config.h.in:    configure.in
  241.         autoheader $(ACFLAGS)
  242.