1 # CDEFINE : Any symbols used for debugging
\r
2 # RULES_DEBUG : if defined prints the rules reduced
\r
3 # RULES_ERROR_DEBUG : if defined prints the error rules reduced
\r
4 # TOKENS_DEBUG : if defined prints the tokens read in the input
\r
12 CXXFLAGS= $(CDEFINE) $(CFLAGS)
\r
14 DIST= syntax.y lex.l \
\r
15 SymTable.cc SymTable.h \
\r
16 Objects.cc Objects.h \
\r
19 tstSymbt.cc tstObj.cc tstExpr.cc\
\r
21 test.log test1.log test2.log test3.log test4.log
\r
23 SYNTAXOBJ=syntax.o lex.o Objects.o Expr.o Instr.o
\r
26 $(LEX) -t $(LFLAGS) $< > $@
\r
33 ./syntax < test.log 2>&1 > result.out
\r
35 syntax: $(SYNTAXOBJ)
\r
36 $(CXX) -o syntax $(CXXFLAGS) $(SYNTAXOBJ) $(LDFLAGS)
\r
38 lex.o: lex.cc syntax.h
\r
40 tstSyntax.o: syntax.cc
\r
41 $(CXX) $(CXXFLAGS) -DSYNTAX_ONLY -DRULES_DEBUG -c syntax.cc -o tstSyntax.o
\r
44 $(CXX) $(CXXFLAGS) -DSYNTAX_ONLY -DTOKENS_DEBUG -c lex.cc -o tstLex.o
\r
46 tstObj: tstObj.o Objects.o
\r
47 $(CXX) -o tstOBJ $(CXXFLAGS) $(LDFLAGS) tstObj.o Objects.o
\r
49 tstSymbt: tstSymbt.o SymTable.o
\r
50 $(CXX) -o tstSymbt tstSymbt.o SymTable.o $(CXXFLAGS) $(LDFLAGS)
\r
52 tstExpr: tstExpr.o Expr.o
\r
53 $(CXX) -o tstExpr tstExpr.o Expr.o $(CXXFLAGS) $(LDFLAGS)
\r
55 tstInstr: tstInstr.o Instr.o Objects.o Expr.o
\r
56 $(CXX) -o tstInstr tstInstr.o Instr.o Expr.o Objects.o $(CXXFLAGS) $(LDFLAGS)
\r
58 tstSyntax: tstSyntax.o tstLex.o
\r
59 $(CXX) -o tstSyntax tstSyntax.o tstLex.o $(CXXFLAGS) $(LDFLAGS)
\r
61 syntax.cc syntax.h: syntax.y
\r
62 $(YACC) $(YFLAGS) syntax.y
\r
63 mv y.tab.c syntax.cc
\r
65 mv y.output syntax.out
\r
68 rm -f syntax.[ch] lex.c *.o syntax.output
\r
69 rm -f result.out tst*.o
\r
75 tar cvf loglan.tar $(DIST)
\r