CC = gcc program: parser.tab.o lex.yy.o node.o main.o $(CC) ./parser.tab.o ./lex.yy.o ./node.o ./main.o -o program -lfl main.o: main.c $(CC) -c main.c node.o: node.c $(CC) -c ./node.c parser.tab.c parser.tab.h: ./parser.y bison -d parser.y parser.tab.o: ./parser.tab.c $(CC) -c ./parser.tab.c lex.yy.o: lex.yy.c $(CC) -c lex.yy.c lex.yy.c: ./scanner.l flex scanner.l .PHONY: clean test clean: rm parser.tab.c parser.tab.h parser.tab.o lex.yy.o lex.yy.c program main.o node.o test: program @echo Test test1: ./program test1 @read @echo Test test2: ./program test2 @read @echo Test test3: ./program test3 @read @echo Test test4: ./program test4