CFLAGS = -Wall
OBJFILES = easypars.o easyscan.o main.o global.o ast.o interpret.o

easy : $(OBJFILES)
	g++ -o easy $(OBJFILES)
easypars.cpp : easypars.yy global.h
	bison -t -d -o easypars.cpp easypars.yy
easyscan.cpp : easyscan.l
	flex -i easyscan.l
	mv lex.yy.c easyscan.cpp

global.o: global.cpp global.h
	g++ -c $(CFLAGS) -c  global.cpp
main.o: main.cpp global.h
	g++ -c $(CFLAGS) main.cpp
ast.o: ast.cpp ast.h
	g++ -c $(CFLAGS) ast.cpp
easyscan.o : easyscan.cpp global.h easypars.hpp 
	g++ -c $(CFLAGS) easyscan.cpp
easypars.o: easypars.cpp global.h
	g++ -c $(CFLAGS) easypars.cpp
clean:
	rm $(OBJFILES)
	rm easy.exe
	rm easypars.cpp easypars.hpp easyscan.cpp
