proto.make 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. # (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
  2. # See the copyright notice in the ACK home directory, in the file "Copyright".
  3. #
  4. # $Header$
  5. # M A K E F I L E F O R L P A S S 2
  6. #PARAMS do not remove this line!
  7. SRC_DIR = $(SRC_HOME)/lang/cem/lint/lpass2
  8. LPASS1 = $(SRC_HOME)/lang/cem/cemcom
  9. # Libraries and EM interface definitions
  10. SYSLIB = $(TARGET_HOME)/modules/lib/libsystem.$(LIBSUF)
  11. STRLIB = $(TARGET_HOME)/modules/lib/libstring.$(LIBSUF)
  12. PRTLIB = $(TARGET_HOME)/modules/lib/libprint.$(LIBSUF)
  13. INPLIB = $(TARGET_HOME)/modules/lib/libinput.$(LIBSUF)
  14. ALLOCLIB = $(TARGET_HOME)/modules/lib/liballoc.$(LIBSUF)
  15. MALLOC = $(TARGET_HOME)/modules/lib/malloc.$(SUF)
  16. LLIBS = $(INPLIB) $(PRTLIB) $(STRLIB) $(ALLOCLIB) $(MALLOC) $(SYSLIB)
  17. INCLUDES = -I$(TARGET_HOME)/modules/h -I$(TARGET_HOME)/modules/pkg \
  18. -I$(SRC_DIR) -I$(LPASS1) -I.
  19. CFLAGS = $(COPTIONS) $(INCLUDES)
  20. LDFLAGS = $(LDOPTIONS)
  21. LINTFLAGS = $(LINTOPIONS) $(INCLUDES)
  22. SRC = $(SRC_DIR)/lpass2.c $(SRC_DIR)/checkargs.c \
  23. $(SRC_DIR)/read.c $(SRC_DIR)/report.c \
  24. $(SRC_DIR)/class.c $(SRC_DIR)/l_print3ack.c
  25. OBJ = lpass2.$(SUF) checkargs.$(SUF) read.$(SUF) report.$(SUF) class.$(SUF)
  26. all: lpass2 lint.exec
  27. install: all
  28. -mkdir $(TARGET_HOME)/lib.bin/lint
  29. cp lpass2 $(TARGET_HOME)/lib.bin/lint/lpass2
  30. cp lint.exec $(TARGET_HOME)/bin/lint
  31. if [ $(DO_MACHINE_INDEP) = y ] ; \
  32. then mk_manpage $(SRC_DIR)/lint.1 $(TARGET_HOME) ; \
  33. fi
  34. cmp: all
  35. -cmp lpass2 $(TARGET_HOME)/lib.bin/lint/lpass2
  36. -cmp lint.exec $(TARGET_HOME)/bin/lint
  37. pr:
  38. @pr $(SRC_DIR)/proto.make $(SRC_DIR)/inpdef.str $(SRC_DIR)/class.h \
  39. $(SRC) lint
  40. lint.exec: $(SRC_DIR)/lint
  41. sed -e 's|^EMDIR=.*|EMDIR=$(TARGET_HOME)|' -e 's/#.*//' < $(SRC_DIR)/lint > lint.exec
  42. chmod +x lint.exec
  43. lpass2: $(OBJ) next.$(SUF)
  44. $(CC) $(LDFLAGS) $(OBJ) next.$(SUF) $(LLIBS) -o lpass2
  45. next.c: $(LPASS1)/make.next $(SRC_DIR)/inpdef.str
  46. $(LPASS1)/make.next $(SRC_DIR)/inpdef.str > next.c
  47. tags: $(SRC)
  48. ctags $(SRC)
  49. clean:
  50. rm -f a.out core next.c inpdef.h *.$(SUF) lint.exec lpass2
  51. lint: inpdef.h next.c
  52. $(LINT) $(LINTFLAGS) $(SRC) next.c
  53. inpdef.h: $(LPASS1)/make.allocd $(SRC_DIR)/inpdef.str
  54. $(LPASS1)/make.allocd <$(SRC_DIR)/inpdef.str > inpdef.h
  55. next.$(SUF): next.c
  56. $(CC) -c $(CFLAGS) next.c
  57. checkargs.$(SUF): inpdef.h $(SRC_DIR)/private.h $(SRC_DIR)/checkargs.c
  58. $(CC) -c $(CFLAGS) $(SRC_DIR)/checkargs.c
  59. class.$(SUF): $(LPASS1)/l_class.h $(SRC_DIR)/class.h $(SRC_DIR)/class.c
  60. $(CC) -c $(CFLAGS) $(SRC_DIR)/class.c
  61. lpass2.$(SUF): $(LPASS1)/l_class.h $(LPASS1)/l_lint.h $(SRC_DIR)/class.h \
  62. $(SRC_DIR)/private.h inpdef.h $(SRC_DIR)/lpass2.c
  63. $(CC) -c $(CFLAGS) $(SRC_DIR)/lpass2.c
  64. read.$(SUF): $(LPASS1)/l_class.h $(SRC_DIR)/class.h \
  65. $(SRC_DIR)/private.h inpdef.h $(SRC_DIR)/read.c
  66. $(CC) -c $(CFLAGS) $(SRC_DIR)/read.c
  67. report.$(SUF): $(LPASS1)/l_class.h $(SRC_DIR)/class.h \
  68. $(SRC_DIR)/private.h inpdef.h $(SRC_DIR)/report.c
  69. $(CC) -c $(CFLAGS) $(SRC_DIR)/report.c