CC=g++
CFLAGS=-c -g



all: block fe topology test

test: 
	$(CC) -g3 test_source.cpp dataType/Number.cpp dataType/Matrix.cpp mathFunctions/Bernstein.cpp dataStruct/MatrixIndex.cpp  dataType/Integer.cpp domain_and_range/DomainPoint.cpp dataType/IrregularMatrix.cpp dataStruct/HyperIndex.cpp dataStruct/MultiIndex.cpp  domain_and_range/DomainMapping.cpp -o test.x

datatype:
	$(CC) $(CFLAGS) dataType/Matrix.cpp dataType/Number.cpp dataType/IrregularMatrix.cpp dataType/Integer.cpp

mathfunctions:
	$(CC) $(CFLAGS) mathFunctions/Benstein.cpp

datastruct:
	$(CC) $(CFLAGS) dataStruct/BezierSimploid.cpp dataStruct/HyperIndex.cpp dataStruct/MultiIndex.cpp dataStruct/MatrixIndex.cpp

	
domain:
	$(CC) $(CFLAGS) domain_and_range/DomainType.cpp domain_and_range/DomainPoint.cpp domain_and_range/DomainMapping.cpp 
	
	
range:
	$(CC) $(CFLAGS) domain_and_range/RangePoint.cpp
	
block: datatype datastruct domain range
	$(CC) $(CFLAGS) block/BlockType.cpp  block/BezierRestriction.cpp  block/VarRestriction.cpp
	
	
fe: plataform datatype
	$(CC) $(CFLAGS) fe_basis/FE_Vector.cpp fe_basis/FE_Basis.cpp
	
plataform:
	$(CC) $(CFLAGS) plataform/VarFactory.cpp
		
topology: datatype
	$(CC) $(CFLAGS) topology/Graph.cpp

		
clean:
	rm -rf *.o