all: ../obj/clogdocument.o ../obj/protocolgraph.o ../obj/reporter.o\
	../obj/parser.o ../obj/scanner.o ../obj/exprvm.o\
	../obj/pquery.o ../obj/qparser.o ../obj/readers.o

../obj/clogdocument.o ../obj/protocolgraph.o ../obj/reporter.o:\
	clogdocument.cpp protocolgraph.cpp reporter.cpp clogdocument.h\
	messages.h protocolgraph.h reporter.h
	$(CC) $(CFLAGS) -c -o../obj/clogdocument.o clogdocument.cpp
	$(CC) $(CFLAGS) -c -o../obj/protocolgraph.o protocolgraph.cpp
	$(CC) $(CFLAGS) -c -o../obj/reporter.o reporter.cpp

../obj/parser.o: eparser/parser.cpp eparser/parser.h eparser/l_structs.h
	$(CC) $(CFLAGS) -c -o../obj/parser.o eparser/parser.cpp

../obj/scanner.o: eparser/parser.h eparser/l_structs.h eparser/scanner.cpp
	$(CC) $(CFLAGS) -c -o../obj/scanner.o eparser/scanner.cpp

eparser/parser.cpp eparser/parser.h: eparser/parser.y
	$(YACC) $(YFLAGS) -oeparser/parser eparser/parser.y
	mv eparser/parser eparser/parser.cpp

eparser/scanner.cpp: eparser/scanner.l
	$(LEX) $(LFLAGS) eparser/scanner.l >eparser/scanner.cpp

../obj/exprvm.o: evm/expvm.cpp evm/expvm.h
	$(CC) $(CFLAGS) -c -o../obj/exprvm.o evm/expvm.cpp

../obj/pquery.o ../obj/qparser.o ../obj/readers.o ../obj/qry_out.obj:\
	qparser/pquery.cpp qparser/qparser.cpp qparser/readers.cpp\
	qparser/istruzioni.h qparser/parser.h qparser/query.h qparser/readers.h
	$(CC) $(CFLAGS) -c -o../obj/pquery.o qparser/pquery.cpp
	$(CC) $(CFLAGS) -c -o../obj/qparser.o qparser/qparser.cpp 
	$(CC) $(CFLAGS) -c -o../obj/readers.o qparser/readers.cpp
	$(CC) $(CFLAGS) -c -o../obj/qry_out.o qparser/qry_out.cpp

