home *** CD-ROM | disk | FTP | other *** search
/ The Education Master 1994 (4th Edition) / EDUCATIONS_MASTER_4TH_EDITION.bin / files / progmisc / qparser2 / cskels / makefile.mak < prev    next >
Encoding:
Makefile  |  1993-11-07  |  2.2 KB  |  83 lines

  1. #  makefile.mak -- Turbo C++ Makefile for c skeletons
  2.  
  3. #  NOTE: change CDIR depending on where you have installed Turbo C++
  4. CDIR=C:\TC
  5.  
  6. #  ALSO NOTE: change QP depending on where you have installed Qparser
  7. #  In particular, certain files and includes are expected to reside
  8. #    in directory $(QP)/LIB, and be available when this is run.
  9. QP=D:\QPARSER
  10.  
  11. #   You can select any grammar file by changing 'calc' below to something
  12. #     else, or setting the 'make' command option -DGRM=<file>.
  13. GRM=calcc
  14.  
  15. #  Compiler model
  16. MODEL=l
  17.  
  18. # tlink libraries, set up for LARGE model
  19. LIBS=$(QP)\lib\qp $(CDIR)\lib\emu $(CDIR)\lib\math$(MODEL) \
  20.    $(CDIR)\lib\c$(MODEL)
  21.  
  22. # Compiler options -- the following provides for:
  23. #   1. -O- suppresses optimizations for rapid prototyping
  24. #   2. Qparser debugging (/DDEBUG)
  25. #   3. Qparser QTREES building (/DQTREES)
  26. #   4. -v enables symbolic debugging tables
  27. DEBUG=1
  28. QTREES=0
  29.  
  30. QOPTS=-DDEBUG=$(DEBUG) -DQTREES=$(QTREES)
  31. COPTS=$(QOPTS) -DTCC -m$(MODEL) -O- -v -I$(QP)\lib -I$(CDIR)\include -L$(CDIR)\lib
  32.  
  33. # ------------------
  34. # The Make rules
  35.  
  36. anyfile: main.exe
  37.  
  38. # Generate table file from grammar and optimize the table
  39. $(GRM).tbl: $(GRM).grm
  40.   $(QP)\lr1 $(GRM) $(GRM).rpt
  41.   $(QP)\opt $(GRM)
  42.  
  43. # Generate source files from skeletons
  44. decl.h: $(GRM).tbl skeldecl.h
  45.   $(QP)\lr1p -mC $(GRM) skeldecl.h  decl.h
  46.  
  47. table.c: $(GRM).tbl skeltab.c
  48.   $(QP)\lr1p -mC $(GRM) skeltab.c  table.c
  49.  
  50. eval.c: $(GRM).tbl skeleval.c
  51.   $(QP)\lr1p -mC $(GRM) skeleval.c  eval.c
  52.  
  53. lex.c: $(GRM).tbl skellex.c
  54.   $(QP)\lr1p -mC $(GRM) skellex.c  lex.c
  55.  
  56. # Compile all files
  57. table.obj: decl.h table.c
  58.   $(CDIR)\bin\tcc -c $(COPTS) table.c
  59.  
  60. debug.obj: decl.h  debug.c
  61.   $(CDIR)\bin\tcc -c $(COPTS) debug.c
  62.  
  63. eval.obj: decl.h  eval.c
  64.   $(CDIR)\bin\tcc -c $(COPTS) eval.c
  65.  
  66. lex.obj: decl.h  lex.c
  67.   $(CDIR)\bin\tcc -c $(COPTS) lex.c
  68.  
  69. main.obj: decl.h  main.c
  70.   $(CDIR)\bin\tcc -c $(COPTS) main.c
  71.  
  72. syms.obj: decl.h  syms.c
  73.   $(CDIR)\bin\tcc -c $(COPTS) syms.c
  74.  
  75. pars.obj: decl.h pars.c
  76.   $(CDIR)\bin\tcc -c $(COPTS) pars.c
  77.  
  78. main.exe: main.obj lex.obj table.obj syms.obj \
  79.     eval.obj debug.obj pars.obj
  80.   $(CDIR)\bin\tlink -v $(CDIR)\lib\C0$(MODEL) main lex table syms eval debug pars \
  81.     ,main,,$(LIBS)
  82.  
  83.