Makefile 2.4 KB

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