PROG = parser CC = gcc LEX = flex YACC = yacc CFLAGS = -Wall $(PROG): y.tab.o lex.yy.o $(CC) $(CFLAGS) -o $@ $^ y.tab.o: y.tab.c y.tab.h $(CC) $(CFLAGS) -c -o $@ $< y.tab.c y.tab.h : primer.y $(YACC) -d $< lex.yy.o: lex.yy.c y.tab.h $(CC) $(CFLAGS) -c -o $@ $< lex.yy.c: primer.l $(LEX) $< .PHONY: clean clean: -rm -f *~ lex.yy.c y.tab.c y.tab.h *.o $(PROG)