# C++ Unit Testing Framework.
#------------------------------------------

OBJEXT = o
CC = g++

OBJECTS = 	Testable.$(OBJEXT) \
			TestCollection.$(OBJEXT) \
			TestMain.$(OBJEXT) \
			Calculator.$(OBJEXT) \
		  	CalculatorTest.$(OBJEXT)

CFLAGS = -c -Wall -pedantic

#------------------------------------------

.cpp.$(OBJEXT) :
	$(CC) $(CFLAGS) $<

#------------------------------------------

INC_TESTABLE_H = Testable.h
INC_TESTCOLLECTION_H = TestCollection.h
INC_CALCULATOR_H = Calculator.h

#------------------------------------------

test : $(OBJECTS)
	$(CC) -o test.exe $(OBJECTS)

Testable.$(OBJEXT) : Testable.cpp $(INC_TESTABLE_H) $(INC_TESTCOLLECTION_H)

TestCollection.$(OBJEXT) : TestCollection.cpp $(INC_TESTABLE_H) $(INC_TESTCOLLECTION_H)

TestMain.$(OBJEXT) : TestMain.cpp $(INC_TESTABLE_H) $(INC_TESTCOLLECTION_H)

CalculatorTest.$(OBJEXT) : CalculatorTest.cpp $(INC_TESTABLE_H)

Calculator.$(OBJEXT) : Calculator.cpp $(INC_CALCULATOR_H)

#------------------------------------------

clean :
	rm test.exe $(OBJECTS)



