10 OBJS
=$(SCANNER
).o
$(PARSER
).o symbol_table.o ast.o base.o typecheck_visitor.o simpleprinter_visitor.o graphprinter_visitor.o c_codegen_visitor.o llvm_codegen_visitor.o
14 $(CC
) $(LIBS
) $(OBJS
) -o
$(PROGRAM
)
16 symbol_table.o
: symbol_table.c symbol_table.h
17 $(CC
) $(CFLAGS
) symbol_table.c
-c
20 $(CC
) $(CFLAGS
) base.c
-c
23 $(CC
) $(CFLAGS
) ast.c
-c
25 typecheck_visitor.o
: typecheck_visitor.c typecheck_visitor.h
26 $(CC
) $(CFLAGS
) typecheck_visitor.c
-c
28 graphprinter_visitor.o
: graphprinter_visitor.c graphprinter_visitor.h
29 $(CC
) $(CFLAGS
) graphprinter_visitor.c
-c
31 simpleprinter_visitor.o
: simpleprinter_visitor.c simpleprinter_visitor.h
32 $(CC
) $(CFLAGS
) simpleprinter_visitor.c
-c
34 llvm_codegen_visitor.o
: llvm_codegen_visitor.c llvm_codegen_visitor.h
35 $(CC
) $(CFLAGS
) llvm_codegen_visitor.c
-c
37 c_codegen_visitor.o
: c_codegen_visitor.c c_codegen_visitor.h
38 $(CC
) $(CFLAGS
) c_codegen_visitor.c
-c
40 $(PARSER
).o
: $(PARSER
).c
$(PARSER
).h
41 $(CC
) $(CFLAGS
) $(PARSER
).c
-c
43 $(SCANNER
).o
: $(SCANNER
).c
$(PARSER
).h
44 $(CC
) $(CFLAGS
) $(SCANNER
).c
-c
46 $(SCANNER
).c
: $(SCANNER
).l
47 $(LEX
) $(LEXFLAGS
) -o
$(SCANNER
).c
$(SCANNER
).l
49 $(PARSER
).h
: $(PARSER
).y
50 $(YACC
) $(YACCFLAGS
) $(PARSER
).y
-o
$(PARSER
).c
53 rm -rf
$(SCANNER
).c
$(PARSER
).c
$(PARSER
).h
*.o
$(PROGRAM
)