home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / coders / indent / makefile.in < prev    next >
Makefile  |  1999-05-29  |  5KB  |  189 lines

  1. # Makefile template for GNU indent
  2. # Copyright (C) 1992, Free Software Foundation, Inc.
  3. #
  4. # This file is part of GNU indent.
  5. #
  6. # GNU indent 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, or (at your option)
  9. # any later version.
  10. # GNU indent 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 GNU indent; see the file COPYING.  If not, write to
  16. # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  17.  
  18. #### Start of system configuration section. ####
  19.  
  20. srcdir = @srcdir@
  21. VPATH = @srcdir@
  22.  
  23. CC = @CC@
  24.  
  25. INSTALL = @INSTALL@
  26. INSTALL_PROGRAM = @INSTALL_PROGRAM@
  27. INSTALL_DATA = @INSTALL_DATA@
  28.  
  29. AWK = awk
  30. MAKEINFO = makeinfo
  31.  
  32. # Used only for making distributions.  If you don't have GNU tar,
  33. # you must change the make command below in the `tarfile:' section.
  34. TAR = tar
  35.  
  36. DVITOGHOSTSCRIPT = dvi2ps indent.dvi > indent.ps
  37. CTAGS = etags
  38.  
  39. CFLAGS = -g
  40. LDFLAGS = -g
  41.  
  42. # C compiler -D options.
  43. DEFS = @DEFS@
  44.  
  45. # Where to install indent and its documentation.
  46. prefix = /usr/local
  47. exec_prefix = ${prefix}
  48. bindir = $(exec_prefix)/bin
  49. infodir = ${prefix}/info
  50.  
  51. #### End of system configuration section. ####
  52.  
  53. SHELL =   /bin/sh
  54. SRC =      indent.c io.c lexi.c parse.c pr_comment.c args.c globs.c \
  55.       backup.c memcpy.c
  56. OBJ =      indent.o io.o lexi.o parse.o pr_comment.o args.o globs.o \
  57.       backup.o @LIBOBJS@
  58. HEADERS = indent.h sys.h version.h backup.h
  59. MAN =      indent.texinfo texinfo.tex
  60. NOTES =   ChangeLog OChangeLog Projects
  61.  
  62. CONFIG = configure.in configure CONF-README
  63.  
  64. MANJUNK = indent.dvi indent.cp indent.cps indent.aux indent.dlog \
  65. indent.fn indent.fns indent.ky indent.kys indent.log indent.pg   \
  66. indent.pgs indent.toc indent.tp indent.tps indent.vr indent.vrs indent.ps 
  67.  
  68. # What to put in a distribution
  69. TARFILES = ${SRC} Makefile makefile.in ${MAN} indent.info ${HEADERS} \
  70. ${NOTES} indent.gperf ${CONFIG} indent.1
  71. RELEASEFILES = RELEASE-NOTES README comments.texinfo
  72.  
  73.  
  74. # Make the program and documentation
  75. #
  76. all: indent indent.info
  77.  
  78. indent: ${OBJ}
  79.     ${CC} -o indent ${LDFLAGS} ${OBJ}
  80.  
  81. .c.o:
  82.     ${CC} -c ${CFLAGS} ${CPPFLAGS} ${DEFS} $<
  83.  
  84.  
  85. backup.o: backup.c backup.h sys.h makefile
  86. globs.o: globs.c sys.h makefile
  87.  
  88. indent.o: indent.c indent.h sys.h makefile
  89. args.o: args.c version.h indent.h sys.h makefile
  90. io.o: io.c indent.h sys.h makefile
  91. lexi.o: lexi.c indent.h sys.h makefile
  92. parse.o: parse.c indent.h sys.h makefile
  93. pr_comment.o: pr_comment.c indent.h sys.h makefile
  94. memcpy.o: memcpy.c indent.h sys.h makefile
  95.  
  96.  
  97. # Build tag tables
  98. tags: ${SRC}
  99.     ${CTAGS} -t ${SRC} ${HEADERS}
  100. TAGS: tags
  101.  
  102.  
  103.  
  104. # Documents
  105. #
  106. indent.ps: indent.dvi
  107.     ${DVITOGHOSTSCRIPT}
  108.  
  109. indent.dvi: indent.toc
  110.     tex ${srcdir}/indent.texinfo
  111.  
  112. indent.toc: ${MAN}
  113.     tex ${srcdir}/indent.texinfo
  114.  
  115. indent.info: ${MAN}
  116.     ${MAKEINFO} ${srcdir}/indent.texinfo
  117.  
  118.  
  119.  
  120. # Installation of indent
  121. #
  122. install: all
  123.     ${INSTALL_PROGRAM} indent ${bindir}/indent
  124.     ${INSTALL_DATA} ${srcdir}/indent.info ${infodir}/indent.info
  125.  
  126.  
  127. # Cleaning up
  128. #
  129.  
  130. # Delete all files generated by building indent or making the manual
  131. clean: mostlyclean
  132.     rm -f ${MANJUNK}
  133.  
  134. # Delete all files created by configuring or building indent
  135. distclean: clean
  136.     rm -f makefile indent-*.tar*
  137.     rm -rf indent-*
  138.  
  139. # Clean up the .o files, leaving the man stuff
  140. mostlyclean:
  141.     rm -f ${OBJ} indent
  142.  
  143. # Clean up tar files, indent-generated backup files, and indent
  144. # subdirectories
  145. realclean: distclean
  146.     rm -f indent.info TAGS core
  147.  
  148.  
  149.  
  150. # Create a distribution file
  151. #
  152. DISTDIR = indent-${VERSION}
  153. TARFILE = indent-${VERSION}.tar
  154. DISTFILE = ${TARFILE}.Z
  155. AWKVERSION = ${AWK} '/define VERSION_STRING/ {printf "%s", \
  156.                      substr($$NF, 1, length($$NF) - 1)}' version.h
  157.  
  158.  
  159. dist: ${TARFILES}
  160.     @export VERSION ; VERSION=`${AWKVERSION}` ; \
  161.     ${MAKE} tarfile
  162. #    @unset VERSION
  163.  
  164. tar: dist
  165.  
  166. # NOTE: GNU tar has a compress option, -z, used below.  If you
  167. # do not have GNU tar, replace the tar line below with the following
  168. # two lines:
  169. #    tar -c -h -f ${TARFILE} ${DISTDIR}
  170. #    compress ${TARFILE}
  171. tarfile:
  172.     @test -f README-${VERSION} || (echo Missing file README-${VERSION}; exit 1)
  173.     @test -f RELEASE-NOTES-${VERSION} || (echo Missing file RELEASE-NOTES-${VERSION}; exit 1)
  174.     @echo Making compressed tar file, indent ${VERSION}
  175.     @echo
  176.     @rm -f README
  177.     @ln -s README-${VERSION} README
  178.     @rm -f RELEASE-NOTES
  179.     @ln -s RELEASE-NOTES-${VERSION} RELEASE-NOTES
  180.     @rm -rf ${DISTDIR}
  181.     @rm -f ${DISTFILE}
  182.     @mkdir ${DISTDIR}
  183.     @cd ${DISTDIR} ; for i in ${TARFILES} ${RELEASEFILES} ; do ln -s ../$$i . ; done
  184.     @${TAR} -c -v -h -z -f ${DISTFILE} ${DISTDIR}
  185.     @rm -rf ${DISTDIR}
  186.  
  187.