all: formula/formula.o formula/formulaAndTest.o formula/formulaBoxTest.o formula/formulaFalseTest.o formula/formulaIdentifTest.o formula/formulaStamp.o formula/formulaTable.o formula/formulaTest.o formula/formulaTrueTest.o formula/formulaXorTest.o formula/sequentTest.o main/formulaCalc.o main/main.o main/utilities.o map/assignment.o map/assignmentTest.o map/IDmap.o map/mapTest.o parser/parser.o parser/parserTable.o parser/parserTest.o parser/stack.o parser/stackTest.o test/fullTest.o test/test.o
	g++ -Wall -g -o provador formula/formula.o formula/formulaAndTest.o formula/formulaBoxTest.o formula/formulaFalseTest.o formula/formulaIdentifTest.o formula/formulaStamp.o formula/formulaTable.o formula/formulaTest.o formula/formulaTrueTest.o formula/formulaXorTest.o formula/sequentTest.o main/formulaCalc.o main/main.o main/utilities.o map/assignment.o map/assignmentTest.o map/IDmap.o map/mapTest.o parser/parser.o parser/parserTable.o parser/parserTest.o parser/stack.o parser/stackTest.o test/fullTest.o test/test.o -Lformula/formula -Lformula/formulaAndTest -Lformula/formulaBoxTest -Lformula/formulaFalseTest -Lformula/formulaIdentifTest -Lformula/formulaStamp -Lformula/formulaTable -Lformula/formulaTest -Lformula/formulaTrueTest -Lformula/formulaXorTest -Lformula/sequentTest -Lmain/formulaCalc -Lmain/main -Lmain/utilities -Lmap/assignment -Lmap/assignmentTest -Lmap/IDmap -Lmap/mapTest -Lparser/parser -Lparser/parserTable -Lparser/parserTest -Lparser/stack -Lparser/stackTest -Ltest/fullTest -Ltest/test

formula/formula.o: formula/formula.cpp main/utilities.h formula/formula.h
	g++ -Wall -c -g -o formula/formula.o formula/formula.cpp

formula/formulaAndTest.o: formula/formulaAndTest.cpp main/utilities.h map/assignment.h formula/formula.h formula/formulaTest.h
	g++ -Wall -c -g -o formula/formulaAndTest.o formula/formulaAndTest.cpp

formula/formulaBoxTest.o: formula/formulaBoxTest.cpp main/utilities.h formula/formula.h formula/formulaTest.h
	g++ -Wall -c -g -o formula/formulaBoxTest.o formula/formulaBoxTest.cpp

formula/formulaFalseTest.o: formula/formulaFalseTest.cpp main/utilities.h formula/formula.h formula/formulaTest.h
	g++ -Wall -c -g -o formula/formulaFalseTest.o formula/formulaFalseTest.cpp

formula/formulaIdentifTest.o: formula/formulaIdentifTest.cpp main/utilities.h formula/formula.h formula/formulaTest.h
	g++ -Wall -c -g -o formula/formulaIdentifTest.o formula/formulaIdentifTest.cpp

formula/formulaStamp.o: formula/formulaIdentifTest.cpp main/utilities.h formula/formulaStamp.h formula/formulaTable.h
	g++ -Wall -c -g -o formula/formulaStamp.o formula/formulaStamp.cpp

formula/formulaTable.o: formula/formulaIdentifTest.cpp main/utilities.h formula/formulaStamp.h formula/formulaTable.h
	g++ -Wall -c -g -o formula/formulaTable.o formula/formulaTable.cpp

formula/formulaTest.o: formula/formulaTest.cpp main/utilities.h formula/formula.h formula/formulaTest.h
	g++ -Wall -c -g -o formula/formulaTest.o formula/formulaTest.cpp

formula/formulaTrueTest.o: formula/formulaTrueTest.cpp main/utilities.h formula/formula.h formula/formulaTest.h
	g++ -Wall -c -g -o formula/formulaTrueTest.o formula/formulaTrueTest.cpp

formula/formulaXorTest.o: formula/formulaXorTest.cpp main/utilities.h formula/formula.h formula/formulaTest.h
	g++ -Wall -c -g -o formula/formulaXorTest.o formula/formulaXorTest.cpp

formula/sequentTest.o: formula/sequentTest.cpp main/utilities.h map/assignment.h formula/formula.h formula/formulaTest.h
	g++ -Wall -c -g -o formula/sequentTest.o formula/sequentTest.cpp

main/formulaCalc.o: main/formulaCalc.cpp main/utilities.h parser/parser.h formula/formula.h formula/formulaStamp.h map/IDmap.h map/assignment.h main/formulaCalc.h
	g++ -Wall -c -g -o main/formulaCalc.o main/formulaCalc.cpp

main/main.o: main/main.cpp main/utilities.h test/fullTest.h main/main.h main/formulaCalc.h
	g++ -Wall -c -g -o main/main.o main/main.cpp

main/utilities.o: main/utilities.cpp main/utilities.h
	g++ -Wall -c -g -o main/utilities.o main/utilities.cpp

map/assignment.o: map/assignment.cpp main/utilities.h map/assignment.h
	g++ -Wall -c -g -o map/assignment.o map/assignment.cpp

map/assignmentTest.o: map/assignmentTest.cpp main/utilities.h map/assignment.h map/assignmentTest.h
	g++ -Wall -c -g -o map/assignmentTest.o map/assignmentTest.cpp

map/IDmap.o: map/IDmap.cpp main/utilities.h map/IDmap.h
	g++ -Wall -c -g -o map/IDmap.o map/IDmap.cpp

map/mapTest.o: map/mapTest.cpp main/utilities.h map/IDmap.h map/mapTest.h
	g++ -Wall -c -g -o map/mapTest.o map/mapTest.cpp

parser/parser.o: parser/parser.cpp main/utilities.h parser/parser.h parser/stack.h formula/formulaStamp.h
	g++ -Wall -c -g -o parser/parser.o parser/parser.cpp

parser/parserTable.o: parser/parserTable.cpp main/utilities.h parser/parser.h
	g++ -Wall -c -g -o parser/parserTable.o parser/parserTable.cpp

parser/parserTest.o: parser/parserTest.cpp main/utilities.h formula/formula.h parser/parser.h parser/parserTest.h
	g++ -Wall -c -g -o parser/parserTest.o parser/parserTest.cpp

parser/stack.o: parser/stack.cpp formula/formula.h main/utilities.h parser/stack.h
	g++ -Wall -c -g -o parser/stack.o parser/stack.cpp

parser/stackTest.o: parser/stackTest.cpp main/utilities.h formula/formula.h parser/stack.h parser/stackTest.h
	g++ -Wall -c -g -o parser/stackTest.o parser/stackTest.cpp

test/fullTest.o: test/fullTest.cpp main/utilities.h test/fullTest.h
	g++ -Wall -c -g -o test/fullTest.o test/fullTest.cpp

test/test.o: test/test.cpp main/utilities.h test/test.h
	g++ -Wall -c -g -o test/test.o test/test.cpp

rebuild:
	touch *.h *.cpp
	make all

clean:
	rm provador formula/*.o main/*.o map/*.o parser/*.o test/*.o 
