proto.make 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. # $Id$
  2. #PARAMS do not remove this line!
  3. SRC_DIR = $(SRC_HOME)/util/topgen
  4. INCLUDES = -I$(SRC_DIR) -I.
  5. CFLAGS = $(COPTIONS) $(INCLUDES)
  6. LDFLAGS = $(LDOPTIONS)
  7. LINTFLAGS = $(LINTOPTIONS) $(INCLUDES)
  8. SOURCE = $(SRC_DIR)/token.h $(SRC_DIR)/symtab.h $(SRC_DIR)/misc.h \
  9. $(SRC_DIR)/tunable.h $(SRC_DIR)/main.c $(SRC_DIR)/topgen.g \
  10. $(SRC_DIR)/LLlex.c $(SRC_DIR)/symtab.c $(SRC_DIR)/pattern.c \
  11. $(SRC_DIR)/hash.c
  12. CFILES = $(SRC_DIR)/main.c topgen.c Lpars.c $(SRC_DIR)/LLlex.c \
  13. $(SRC_DIR)/symtab.c $(SRC_DIR)/pattern.c $(SRC_DIR)/hash.c
  14. OFILES = main.$(SUF) topgen.$(SUF) Lpars.$(SUF) LLlex.$(SUF) \
  15. symtab.$(SUF) pattern.$(SUF) hash.$(SUF)
  16. all: parser
  17. @make topgen
  18. cmp: all
  19. cmp topgen $(TARGET_HOME)/lib.bin/topgen
  20. install: all
  21. cp topgen $(TARGET_HOME)/lib.bin/topgen
  22. clean:
  23. rm -f topgen *.$(SUF) Lpars.c Lpars.h topgen.c parser
  24. parser: $(SRC_DIR)/topgen.g
  25. $(UTIL_HOME)/bin/LLgen $(SRC_DIR)/topgen.g
  26. touch parser
  27. topgen.$(SUF): $(SRC_DIR)/token.h Lpars.h $(SRC_DIR)/symtab.h $(SRC_DIR)/misc.h topgen.c
  28. $(CC) -c $(CFLAGS) topgen.c
  29. Lpars.$(SUF): Lpars.h Lpars.c
  30. $(CC) -c $(CFLAGS) Lpars.c
  31. LLlex.$(SUF): $(SRC_DIR)/token.h Lpars.h $(SRC_DIR)/tunable.h $(SRC_DIR)/LLlex.c
  32. $(CC) -c $(CFLAGS) $(SRC_DIR)/LLlex.c
  33. symtab.$(SUF): $(SRC_DIR)/symtab.h $(SRC_DIR)/symtab.c
  34. $(CC) -c $(CFLAGS) $(SRC_DIR)/symtab.c
  35. hash.$(SUF): $(SRC_DIR)/misc.h $(SRC_DIR)/hash.c
  36. $(CC) -c $(CFLAGS) $(SRC_DIR)/hash.c
  37. pattern.$(SUF): $(SRC_DIR)/misc.h $(SRC_DIR)/symtab.h $(SRC_DIR)/pattern.c
  38. $(CC) -c $(CFLAGS) $(SRC_DIR)/pattern.c
  39. main.$(SUF): $(SRC_DIR)/main.c
  40. $(CC) -c $(CFLAGS) $(SRC_DIR)/main.c
  41. topgen: $(OFILES)
  42. $(CC) $(LDFLAGS) $(OFILES) -o topgen
  43. lint: parser
  44. $(LINT) $(LINTFLAGS) $(CFILES)
  45. pr:
  46. @pr $(SOURCE) $(SRC_DIR)/proto.make
  47. opr:
  48. make pr ^ opr