#
# Utah Makefile for netsolve
#
COMPONENT = MEC_PETSC
TYPE = iterative

info ::
	@echo "make tester, libfiles, clean_examples"

NETSOLVE_LIB_FILES_for_MEC_PETSC = mec_driver.o mec_solve.o
NETSOLVE_TESTERS_for_MEC_PETSC = solve
NETSOLVE_TESTER_FILES_for_MEC_PETSC = test_solve.o read_mec_crs.o

include ../../../../../conf/Makefile.inc
include ../../Makefile.env
include $(NETSOLVE_SPARSE_DIR)/Makefile.has
include $(NETSOLVE_SPARSE_DIR)/Makefile.inc
include Makefile.lib
include $(NETSOLVE_SPARSE_DIR)/Makefile.rules
include $(NETSOLVE_SPARSE_DIR)/Makefile.librule

include ${PARPRE_DIR}/bmake/parpre_base
CFLAGS = $(GLOBAL_CFLAGS) -I$(PARPRE_INCLUDE_DIR) \
    $(PETSC_INCLUDES) $(CPPFLAGS)

include $(NETSOLVE_PETSC_DIR)/Makefile.lib
include $(NETSOLVE_AUX_DIR)/Makefile.lib

include $(NETSOLVE_TEST_DIR)/Makefile.test
include $(NETSOLVE_TEST_DIR)/Makefile.lib
solve : libfiles $(NETSOLVE_TESTER_FILES_for_MEC_PETSC) \
	    $(NETSOLVE_LIB_for_MEC_PETSC) \
	    $(PARPRE_LIB_DEPEND) $(PETSC_LIB_DEPEND) \
	    $(NETSOLVE_LIB_for_AUX)
	rm -f $@
	$(PURIFY) \
	$(LINKER) $(LDFLAGS) $(C_OPT_FLAGS) $(C_NOOPT_FLAGS) -o $@ \
	    $(NETSOLVE_TESTER_FILES_for_MEC_PETSC) \
	    $(NETSOLVE_LIB_for_MEC_PETSC) $(NETSOLVE_LIB_for_PETSC) \
	    $(NETSOLVE_LIB_for_AUX) $(NETSOLVE_LIB_for_TESTER) \
	    $(PARPRE_LIB_LINK) $(MPI_LIB_LINK) \
	    $(LAPACK_LIB_LINK) $(BLAS_LIB_LINK) \
	    $(MORE_LIBS)
	chmod 755 $@

# dependencies on include files
test_solve.o : setup.c ../test/declarations.c ../test/unset.c

clean ::
	@/bin/rm -f solve
include ../Makefile.clean
