include ${PETSC_DIR}/conf/base

MY_CC=gcc
MY_LINKER=/usr/local/pilot/install/petsc-3.0.0-p7/linux-gnu-c-debug/bin/mpicc
MY_ARCHIVER=ar
MY_TARGET_DIR=../Debug
MY_TARGET=petsc_math
MY_PARFLAGS=-DF3F_PARALLEL 

MY_CFLAGS=-c -p -std=c99 -pedantic -Wall $(PARFLAGS) -O3 
MY_LDFLAGS=-pg -Wall $(PARFLAGS) -O3
MY_ARFLAGS=-r 
MY_INCLUDE_FLAGS=-I${PETSC_DIR}/include -I${PETSC_DIR}/${PETSC_ARCH}/include

all: petsc_math

petsc_math: main.o petsc_math.o math_calculate.o math_solve.o
	${MY_CC} ${MY_CFLAGS} ${MY_INCLUDE_FLAGS} -o ${MY_TARGET_DIR}/main.o main.c
	${MY_CC} ${MY_CFLAGS} ${MY_INCLUDE_FLAGS} -o ${MY_TARGET_DIR}/petsc_math.o petsc_math.c
	${MY_CC} ${MY_CFLAGS} ${MY_INCLUDE_FLAGS} -o ${MY_TARGET_DIR}/math_calculate.o math_calculate.c
	${MY_CC} ${MY_CFLAGS} ${MY_INCLUDE_FLAGS} -o ${MY_TARGET_DIR}/math_solve.o math_solve.c
	${MY_CC} ${MY_CFLAGS} ${MY_INCLUDE_FLAGS} -o ${MY_TARGET_DIR}/math_get_matrix_determinant.o math_get_matrix_determinant.c
	${MY_CC} ${MY_CFLAGS} ${MY_INCLUDE_FLAGS} -o ${MY_TARGET_DIR}/math_get_inverse_matrix.o math_get_inverse_matrix.c
	$(MY_LINKER) $(MY_LDFLAGS) ${MY_TARGET_DIR}/main.o ${MY_TARGET_DIR}/petsc_math.o ${MY_TARGET_DIR}/math_calculate.o ${MY_TARGET_DIR}/math_solve.o ${MY_TARGET_DIR}/math_get_matrix_determinant.o ${MY_TARGET_DIR}/math_get_inverse_matrix.o -o ${MY_TARGET_DIR}/$(MY_TARGET) ${PETSC_KSP_LIB}
	${MY_ARCHIVER} ${MY_ARFLAGS} ${MY_TARGET_DIR}/libpetsc_math.a ${MY_TARGET_DIR}/petsc_math.o ${MY_TARGET_DIR}/math_calculate.o ${MY_TARGET_DIR}/math_solve.o ${MY_TARGET_DIR}/math_get_matrix_determinant.o ${MY_TARGET_DIR}/math_get_inverse_matrix.o
	${RM} ${MY_TARGET_DIR}/*.o







