Makefile 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. # $Id$
  2. PROF=
  3. LLOPT= # -vvv -x
  4. INCLUDES =
  5. DEFINES = -DNDEBUG -DNON_CORRECTING
  6. CFLAGS=-O $(DEFINES) $(INCLUDES) $(PROF)
  7. LDFLAGS=
  8. OBJECTS = main.o gencode.o compute.o LLgen.o tokens.o check.o reach.o global.o name.o sets.o Lpars.o alloc.o machdep.o cclass.o savegram.o
  9. CFILES = main.c gencode.c compute.c LLgen.c tokens.c check.c reach.c global.c name.c sets.c Lpars.c alloc.c machdep.c cclass.c savegram.c
  10. FILES =types.h extern.h io.h sets.h tokens.g LLgen.g main.c name.c compute.c sets.c gencode.c global.c check.c reach.c alloc.c machdep.c Makefile cclass.c savegram.c
  11. GFILES = tokens.g LLgen.g
  12. LINT = lint -b $(DEFINES) -DNORCSID
  13. LIBDIRSTR = \"$(LIBDIR)\"
  14. all: parser
  15. @make LLgen "LDFLAGS=$(LDFLAGS)" "CC=$(CC)" "CFLAGS=$(CFLAGS)" "PROF=$(PROF)" "LIBDIR=$(LIBDIR)"
  16. parser: $(GFILES)
  17. LLgen $(LLOPT) $(GFILES)
  18. @touch parser
  19. first: firstparser
  20. @make LLgen "LDFLAGS=$(LDFLAGS)" "CC=$(CC)" "CFLAGS=$(CFLAGS)" "PROF=$(PROF)" "LIBDIR=$(LIBDIR)"
  21. firstparser:
  22. cp LLgen.c.dist LLgen.c
  23. cp tokens.c.dist tokens.c
  24. cp Lpars.c.dist Lpars.c
  25. cp Lpars.h.dist Lpars.h
  26. @touch parser
  27. LLgen: $(OBJECTS)
  28. $(CC) $(PROF) $(LDFLAGS) $(OBJECTS) -o LLgen
  29. @size LLgen
  30. pr :
  31. @pr $(FILES) ../lib/rec ../lib/incl Makefile
  32. lint:
  33. $(LINT) $(INCLUDES) -DLIBDIR=$(LIBDIRSTR) $(CFILES)
  34. clean:
  35. -rm -f *.o LL.temp LL.xxx LL.output LLgen LLgen.c tokens.c Lpars.[ch] parser
  36. distr:
  37. -rm -f parser
  38. make parser
  39. cp Lpars.c Lpars.c.dist
  40. cp Lpars.h Lpars.h.dist
  41. cp LLgen.c LLgen.c.dist
  42. cp tokens.c tokens.c.dist
  43. machdep.o: machdep.c
  44. $(CC) -c $(CFLAGS) -DLIBDIR=$(LIBDIRSTR) machdep.c
  45. # The next lines are generated automatically
  46. # AUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTOAUTO
  47. LLgen.o: Lpars.h
  48. LLgen.o: cclass.h
  49. LLgen.o: extern.h
  50. LLgen.o: io.h
  51. LLgen.o: types.h
  52. Lpars.o: Lpars.h
  53. alloc.o: extern.h
  54. alloc.o: types.h
  55. cclass.o: cclass.h
  56. check.o: extern.h
  57. check.o: io.h
  58. check.o: sets.h
  59. check.o: types.h
  60. compute.o: extern.h
  61. compute.o: io.h
  62. compute.o: sets.h
  63. compute.o: types.h
  64. gencode.o: cclass.h
  65. gencode.o: extern.h
  66. gencode.o: io.h
  67. gencode.o: sets.h
  68. gencode.o: types.h
  69. global.o: extern.h
  70. global.o: io.h
  71. global.o: types.h
  72. machdep.o: types.h
  73. main.o: extern.h
  74. main.o: io.h
  75. main.o: sets.h
  76. main.o: types.h
  77. name.o: extern.h
  78. name.o: io.h
  79. name.o: types.h
  80. reach.o: extern.h
  81. reach.o: io.h
  82. reach.o: types.h
  83. sets.o: extern.h
  84. sets.o: sets.h
  85. sets.o: types.h
  86. tokens.o: Lpars.h
  87. tokens.o: cclass.h
  88. tokens.o: extern.h
  89. tokens.o: io.h
  90. tokens.o: types.h