home *** CD-ROM | disk | FTP | other *** search
/ Amiga Elysian Archive / AmigaElysianArchive.iso / prog / utils / indent13.lha / indent-1.3 / Makefile < prev    next >
Makefile  |  1992-05-06  |  4KB  |  152 lines

  1. # Copyright (c) 1985 Sun Microsystems, Inc.
  2. # Copyright (c) 1980 The Regents of the University of California.
  3. # Copyright (c) 1976 Board of Trustees of the University of Illinois.
  4. # All rights reserved.
  5.  
  6. # Redistribution and use in source and binary forms are permitted
  7. # provided that the above copyright notice and this paragraph are
  8. # duplicated in all such forms and that any documentation,
  9. # advertising materials, and other materials related to such
  10. # distribution and use acknowledge that the software was developed
  11. # by the University of California, Berkeley, the University of Illinois,
  12. # Urbana, and Sun Microsystems, Inc.  The name of either University
  13. # or Sun Microsystems may not be used to endorse or promote products
  14. # derived from this software without specific prior written permission.
  15. # THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
  16. # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  17. # WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  18.  
  19.  
  20.  
  21. # Configurable things
  22. #
  23. AWK = awk
  24. MAKEINFO = makeinfo
  25. # CFLAGS = -O -g -W -DDEBUG
  26. CFLAGS = -O -g
  27. CC = gcc
  28.  
  29. # Used only for making distributions.  If you don't have GNU tar,
  30. # you must change the make command below in the `tarfile:' section.
  31. TAR = tar
  32.  
  33. DVITOGHOSTSCRIPT = dvi2ps indent.dvi > indent.ps
  34. CTAGS = etags
  35. INSTALL = install
  36.  
  37. # Where to install things
  38. prefix = /usr/local
  39. bindir = $(prefix)/bin
  40. infodir = $(prefix)/info
  41.  
  42.  
  43. # Non-configurable -- do not change
  44. #
  45. SHELL =   /bin/sh
  46. SRC =      indent.c io.c lexi.c parse.c pr_comment.c args.c globs.c backup.c
  47. OBJ =      indent.o io.o lexi.o parse.o pr_comment.o args.o globs.o backup.o
  48. HEADERS = indent.h sys.h version.h backup.h
  49. MAN =      indent.texinfo texinfo.tex
  50. NOTES =   ChangeLog OChangeLog Projects RELEASE-NOTES README
  51.  
  52. CONFIG = config.sh
  53. CONFIG_OUTPUT = dirent_def.h
  54.  
  55. MANJUNK = indent.dvi indent.cp indent.cps indent.aux indent.dlog \
  56. indent.fn indent.fns indent.ky indent.kys indent.log indent.pg   \
  57. indent.pgs indent.toc indent.tp indent.tps indent.vr indent.vrs indent.ps 
  58.  
  59. # What to put in a distribution
  60. TARFILES = ${SRC} Makefile ${MAN} indent.info ${HEADERS} ${NOTES} \
  61. indent.gperf ${CONFIG}
  62.  
  63.  
  64. # Make the program and documentation
  65. #
  66. all: indent indent.info
  67.  
  68. indent: ${OBJ}
  69.     ${CC} -o $@ ${CFLAGS} ${OBJ}
  70.  
  71. ${OBJ}: indent.h sys.h Makefile
  72. args.o: version.h Makefile
  73. backup.o: backup.h sys.h ${CONFIG_OUTPUT}
  74.  
  75. ${CONFIG_OUTPUT}: config.sh
  76.     ${SHELL} config.sh
  77.  
  78. tags: ${SRC}
  79.     ${CTAGS} -t ${SRC} ${HEADERS}
  80. TAGS: tags
  81.  
  82.  
  83. # Documents
  84. #
  85. indent.ps: indent.dvi
  86.     ${DVITOGHOSTSCRIPT}
  87.  
  88. indent.dvi: indent.toc
  89.     tex indent.texinfo
  90.  
  91. indent.toc: ${MAN}
  92.     tex indent.texinfo
  93.  
  94. indent.info: ${MAN}
  95.     ${MAKEINFO} indent.texinfo
  96.  
  97.  
  98.  
  99. # Installation of indent
  100. #
  101. install: all
  102.     ${INSTALL} -c indent ${bindir}/indent
  103.     ${INSTALL} -c -m 644 indent.info ${infodir}/indent
  104.  
  105.  
  106. # Cleaning up
  107. #
  108. clean: mostlyclean
  109.     rm -f ${MANJUNK} ${CONFIG_OUTPUT} TAGS .depend
  110.  
  111. # Clean up distribution and old indented files as well
  112. realclean: clean
  113.     rm -f *.BAK
  114.     rm -f indent-[0-9.]*.tar*
  115.     rm -rf indent-[0-9.]*
  116.  
  117. # Clean up the .o files, leaving the man stuff
  118. mostlyclean:
  119.     rm -f ${OBJ} core indent
  120.  
  121.  
  122.  
  123. # Create a distribution file
  124. #
  125. DISTDIR = indent-${VERSION}
  126. TARFILE = indent-${VERSION}.tar
  127. DISTFILE = ${TARFILE}.Z
  128. AWKVERSION = ${AWK} '/define VERSION_STRING/ {printf "%s", \
  129.                      substr($$NF, 1, length($$NF) - 1)}' version.h
  130.  
  131. dist: ${TARFILES}
  132.     @export VERSION ; VERSION=`${AWKVERSION}` ; ${MAKE} tarfile
  133. #    @unset VERSION
  134.  
  135. tar: dist
  136.  
  137. # NOTE: GNU tar has a compress option, -z, used below.  If you
  138. # do not have GNU tar, replace the tar line below with the following
  139. # two lines:
  140. #    tar -c -h -f ${TARFILE} ${DISTDIR}
  141. #    compress ${TARFILE}
  142. tarfile:
  143.     @echo Making compressed tar file, indent ${VERSION}
  144.     @echo
  145.     @rm -rf ${DISTDIR}
  146.     @rm -f ${DISTFILE}
  147.     @mkdir ${DISTDIR}
  148.     @cd ${DISTDIR} ; for i in ${TARFILES} ; do ln -s ../$$i . ; done
  149.     @${TAR} -c -v -h -z -f ${DISTFILE} ${DISTDIR}
  150.     @rm -rf ${DISTDIR}
  151.  
  152.