home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / sendmail / ease-3.5 / src / Makefile < prev    next >
Encoding:
Makefile  |  1991-10-15  |  4.5 KB  |  185 lines

  1. # Makefile for Ease Translator (et).
  2. #
  3. #    $Header: /tmp_mnt/home/kreskin/u0/barnett/Src/Ease/ease/src/RCS/Makefile,v 3.3 1991/09/09 16:33:23 barnett Exp $
  4. #
  5. #    $Log: Makefile,v $
  6. # Revision 3.3  1991/09/09  16:33:23  barnett
  7. # Minor bug fix release
  8. #
  9. # Revision 3.2  1991/05/16  10:45:25  barnett
  10. # Better support for System V machines
  11. # Support for machines with read only text segments
  12. #
  13. # Revision 3.1  1991/02/25  22:09:52  barnett
  14. # Fixed some portability problems
  15. #
  16. # Revision 2.1  1990/01/30  13:54:13  jeff
  17. # Updated for release 2.1 Aplha.
  18. #
  19. # Revision 2.0  88/06/15  14:47:35  root
  20. # Baseline release for net posting. ADR.
  21. #
  22. #    James S. Schoner, Purdue University Computing Center,
  23. #              West Lafayette, Indiana  47907
  24. #
  25. #    Copyright (c) 1985 by Purdue Research Foundation
  26. #
  27. #    All rights reserved.
  28. #
  29.  
  30. INCLUDE =
  31.  
  32. # where to install the binaries
  33. BINDIR          =    ../bin
  34.  
  35. OWNER = root
  36. GROUP = staff
  37. MODE = 755
  38. # Important Compile flags are defined here
  39. # DATA_RW - this is defined if your system allows string constants to 
  40. #           be modifiable. If you have one of the following systems, I am told
  41. #        you should NOT define it: (Thanks to rainer@flyer.uni-duisburg.de)
  42. #             - A sun 3/60 using gcc
  43. #         - A esix SysV PC  with gcc
  44. #                - A HP9000/845 with cc
  45. #         - Apollo/Domain with BSD4.3 environment
  46. #           The default is to define it, because this is what earlier versions 
  47. #           of Ease did.
  48. #
  49. # SYSV
  50. #         If you have a system V machine, and have <string.h>
  51. #        instead of <strings.h>, then define this
  52. #
  53. #OFLAGS=-DSYSV 
  54. OFLAGS=-DDATA_RW
  55.  
  56. DEFS = ${OFLAGS}
  57. LIBS = -ll
  58. # some people must remove the -O
  59. CFLAGS = -O ${DEFS} ${INCLUDE}
  60. CC = cc
  61. #CC = gcc
  62. YACC = yacc 
  63. #YACC = bison -y
  64.  
  65. LP = lpr
  66. LPFLAGS = -J"Ease Source"
  67.  
  68.  
  69. # System V install different from BSD install sigh...
  70. #INSTALL = install -c -m ${MODE} -o ${OWNER} -g ${GROUP}
  71. INSTALL=cp
  72.  
  73. # Special Debug flags
  74. # select this one to debug the grammar
  75. #DEFS =-DYYDEBUG
  76. # The following two lines are used with the SunOS malloc() debug package.
  77. #DEFS = -DMALLOC_DEBUG    #  Part of the SunOS malloc package
  78. #LIBS = /usr/lib/debug/malloc.o -ll
  79. CFLAGS = -g  ${DEFS} ${INCLUDE}
  80.  
  81.  
  82. HDR = symtab.h
  83. SRC = main.c emitcf.c errors.c idman.c strops.c symtab.c fixstrings.c
  84. LST = Makefile lexan.l parser.y ${HDR} ${SRC}
  85. DEP = parser.c lexan.c ${SRC}
  86. OBJ = parser.o lexan.o main.o emitcf.o errors.o idman.o strops.o symtab.o \
  87.     fixstrings.o
  88. CFILES= $(SRC) $(DEP)
  89.  
  90. all: et
  91.  
  92. et: ${OBJ}
  93.     ${CC} ${CFLAGS} -o et ${OBJ} ${LIBS}
  94.  
  95. clean: FRC
  96.     rm -f et *.o lexan.c parser.c y.output yacc.acts yacc.tmp \
  97.           lexdefs.h y.tab.h errs Makefile.bak y.output y.tab.c y.tok.h
  98.  
  99. depend:
  100.     ${CC} -M ${CFLAGS} ${CFILES} | \
  101.     sed -e ':loop' \
  102.         -e 's/\.\.\/[^ /]*\/\.\./../' \
  103.         -e 't loop' | \
  104.     awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \
  105.         else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \
  106.                else rec = rec " " $$2 } } ; \
  107.           END { print rec } ' > makedep
  108.     echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep
  109.     echo '$$r makedep' >>eddep
  110.     echo 'w' >>eddep
  111.     cp Makefile Makefile.bak
  112.     ex - Makefile < eddep
  113.     rm eddep makedep
  114.  
  115. install: et FRC
  116.     ${INSTALL} et ${BINDIR}
  117.     ${INSTALL} ease.sh ${BINDIR}/ease
  118.  
  119.  
  120. lint:   ${DEP} symtab.h FRC
  121.     lint -hxn ${DEP}
  122.  
  123. print:  ${LST} FRC
  124.     @pr -f ${LST} | ${LP} ${LPFLAGS}
  125.  
  126. spotless: clean FRC
  127.     rcsclean ${LST}
  128.  
  129. y.tab.h parser.c: parser.y
  130.     @rm -f parser.c
  131.     ${YACC} -v -d parser.y
  132.     sed 's/=yylex/=yyyylex/' < y.tab.c >parser.c
  133.  
  134. # the following dummy rule is because of the results of 'make depend'
  135. # However, under SunOS Make - it complains. You may have to comment it out
  136. ./lexdefs.h:    lexdefs.h
  137.  
  138. lexdefs.h:    y.tab.h
  139.     -(cmp -s y.tab.h lexdefs.h || cp y.tab.h lexdefs.h)
  140.  
  141. lexan.c: lexan.l
  142.  
  143. parser.o: y.tok.h
  144. y.tok.h:    y.tab.h
  145.     grep '^#.*define' y.tab.h |\
  146.     sed 's/^# define \([^ ]*\) [^ ]*$$/    "\1",/' >y.tok.h
  147.  
  148. ${HDR} ${SRC} lexan.l parser.y:
  149.     co $@
  150.  
  151. FRC:
  152.  
  153.  
  154. # DO NOT DELETE THIS LINE -- make depend uses it
  155.  
  156. main.o: main.c fixstrings.h 
  157. emitcf.o: emitcf.c  symtab.h fixstrings.h
  158. errors.o: errors.c fixstrings.h
  159. idman.o: idman.c  symtab.h fixstrings.h
  160. strops.o: strops.c fixstrings.h 
  161. strops.o: symtab.h
  162. symtab.o: symtab.c fixstrings.h 
  163. symtab.o: symtab.h
  164. fixstrings.o: fixstrings.c 
  165. parser.o: parser.c fixstrings.h  symtab.h
  166. lexan.o: lexan.c  fixstrings.h symtab.h lexdefs.h
  167. main.o: main.c fixstrings.h 
  168. emitcf.o: emitcf.c  symtab.h fixstrings.h
  169. errors.o: errors.c fixstrings.h
  170. idman.o: idman.c  symtab.h fixstrings.h
  171. strops.o: strops.c fixstrings.h 
  172. strops.o: symtab.h
  173. symtab.o: symtab.c fixstrings.h 
  174. symtab.o: symtab.h
  175. fixstrings.o: fixstrings.c 
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.