TARGETS = pc runtime.obj YACC=yacc #YACC=byacc #YACC=bison -y CFLAGS=-g .PHONY : all clean moreclean distclean all: $(TARGETS) y.tab.h: pc.y $(YACC) -d $< mv y.tab.c pc.c pc.c: pc.y $(YACC) -d pc.y mv y.tab.c pc.c lexer.c: lexer.l y.tab.h flex -l $< mv lex.yy.c lexer.c pc.o: pc.c syntax_tree.h debug.h lexer.o: lexer.c syntax_tree.h y.tab.h syntax_tree.o: syntax_tree.c syntax_tree.h y.tab.h bind.o: bind.c syntax_tree.h y.tab.h code.o: code.c CASL.h syntax_tree.h y.tab.h code_exp.o: code_exp.c CASL.h syntax_tree.h y.tab.h CASL.o: CASL.c CASL.h debug.h debug.o: debug.c syntax_tree.h y.tab.h pc: pc.o lexer.o syntax_tree.o bind.o code.o code_exp.o CASL.o debug.o %.obj: %.cas caslasm $< %.lst: %.cas caslasm -l $< clean: $(RM) *.lst core *.stackdump *~ moreclean: clean $(RM) *.o runtime.obj pc pc.exe distclean: clean $(RM) pc.c lexer.c y.tab.h *.o runtime.obj pc pc.exe