# $Id: makefile,v 1.45 2001/08/22 18:00:07 balay Exp $ 
#
CFLAGS		 = 
FFLAGS		 = 
CPPFLAGS         =
FPPFLAGS         =
MANSEC           = GSolver
LOCDIR		 = src/gsolver/examples/tutorials/
EXAMPLESC	 = poisson.c poisson2.c control.c stokes.c
EXAMPLESF	 =

poisson: poisson.o chkopts 
	-${CLINKER} -o $@ $@.o ${PETSC_GSOLVER_LIB}
	${RM} -f $@.o $@.lo

poisson2: poisson2.o chkopts 
	-${CLINKER} -o $@ $@.o ${PETSC_GSOLVER_LIB}
	${RM} -f $@.o $@.lo

heat: heat.o chkopts 
	-${CLINKER} -o $@ $@.o ${PETSC_GSOLVER_LIB}
	${RM} -f $@.o $@.lo

control: control.o chkopts 
	-${CLINKER} -o $@ $@.o ${TAO_LIB} ${PETSC_GSOLVER_LIB}
	${RM} -f $@.o $@.lo

stokes: stokes.o chkopts 
	-${CLINKER} -o $@ $@.o ${PETSC_GSOLVER_LIB}
	${RM} -f $@.o $@.lo

navierstokes: navierstokes.o chkopts 
	-${CLINKER} -o $@ $@.o ${PETSC_GSOLVER_LIB}
	${RM} -f $@.o $@.lo

unsteadynavierstokes: unsteadynavierstokes.o chkopts 
	-${CLINKER} -o $@ $@.o ${PETSC_GSOLVER_LIB}
	${RM} -f $@.o $@.lo

#-------------------------------------------------------------------------------------------
#   This section is used for testing examples and can be ignored 
#-------------------------------------------------------------------------------------------
run_stokes_1:
	-@${MPIRUN} -np 1 stokes -num_systems 1 -refine_step 1 -use_laplacian -pc_type jacobi -bc_exact -bc_pressure_exact \
          > stokes_1.tmp 2>&1; \
	  if (${DIFF} output/stokes_1.out stokes_1.tmp) then true; \
	  else echo "Possible problem with stokes_1, diffs above"; fi; \
	  ${RM} -f stokes_1.tmp

run_stokes_2:
	-@${MPIRUN} -np 1 stokes -num_systems 1 -refine_step 1 -use_laplacian -pc_type jacobi -bc_exact -bc_pressure_exact -bc_reduce \
          > stokes_2.tmp 2>&1; \
	  if (${DIFF} output/stokes_2.out stokes_2.tmp) then true; \
	  else echo "Possible problem with stokes_2, diffs above"; fi; \
	  ${RM} -f stokes_2.tmp

TESTEXAMPLES_MATT_SPECIAL = stokes.PETSc run_stokes_1 run_stokes_2 stokes.rm

include ${PETSC_DIR}/bmake/common/base
include ${PETSC_DIR}/bmake/common/test