cfiles := $(shell echo  matrix_factory*.cc rhs_factory*.cc ) 

#CFLAGS  = `dolfin-config --cflags` -DVERBOSE -O3 -fPIC -I$(PCCR)/include -I$(shell pyinc.py) 
CFLAGS  = `dolfin-config --cflags` -DVERBOSE -fPIC -I$(TRILINOS_DIR)/include -I$(PCCR)/include -I$(shell pyinc.py) -g -DHAVE_CONFIG_H  
LDFLAGS = -fPIC
LIBS    = `dolfin-config --libs` -L$(PCCR)/lib -lFiber -lFunctions -lMatSparse
CXX     = `dolfin-config --compiler`
LDD     = `dolfin-config --linker`
OBJS    = $(cfiles:.cc=.o)  MatrixFactory_highorder.o compute_conductivity.o 

LDD    = `dolfin-config --linker`


default: app 

ElementMatrixCalculator.h: $(cfiles)
	cproto $(cfiles) > ElementMatrixCalculator.h  


.cpp.o: 
	$(CXX)  $(CFLAGS)  -I.  -c $<
	

.cc.o: 
	$(CXX)  $(CFLAGS)  -I.  -c $<
	
lib: libMatrixFactory_highorder.so  

libMatrixFactory_highorder.so: $(OBJS)
	$(LDD) -shared $(LIBS) $(LDFLAGS) $(OBJS) -o libMatrixFactory_highorder.so
	

app: main.cpp $(OBJS)  libMatrixFactory_highorder.so 
	echo $(OBJS)
	$(LDD) $(CFLAGS) -I.  $(OBJS)   -O3 main.cpp -o app  $(LIBS)

install: lib
	cp libMatrixFactory_highorder.so $(PCCR)/lib

clean: 
	rm -f app *.o *.lo  libMatrixFactory_highorder.so *.m *.pyc 

