#
# Itpack Makefile for netsolve
#
COMPONENT = ITPACK
TYPE = iterative

info ::
	@echo "make clean, tester, libfiles, deletelibs"
	@echo "  for tester: -DJCG etc for specific drivers"

NETSOLVE_TESTER_FILES_for_ITPACK = test_itmeth.o
NETSOLVE_LIB_FILES_for_ITPACK = itpack_itmeth.o itpack_auxs.o
NETSOLVE_TESTERS_for_ITPACK = itmeth

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

CFLAGS = $(GLOBAL_CFLAGS) -I$(ITPACK_INCLUDE_DIR) -I$(NETSOLVE_SPARSE_DIR)/aux
libfiles : libdir
	@$(MAKE) netsolvelib

include $(NETSOLVE_AUX_DIR)/Makefile.lib

include $(NETSOLVE_TEST_DIR)/Makefile.test
include $(NETSOLVE_TEST_DIR)/Makefile.lib
itmeth : $(NETSOLVE_TESTER_FILES_for_ITPACK) \
		$(NETSOLVE_LIB_for_ITPACK) $(ITPACK_LIB_DEPEND) \
		$(NETSOLVE_LIB_for_AUX) $(NETSOLVE_LIB_for_TESTER)
	rm -f $@
	$(PURIFY) \
	$(LINKER) $(LDFLAGS) -o $@ test_$@.o \
	    $(NETSOLVE_LIB_for_ITPACK) \
	    $(NETSOLVE_LIB_for_DRIVER_ITERATIVE_AUXS) \
	    $(NETSOLVE_LIB_for_TESTER) \
	    $(ITPACK_LIB_LINK) \
	    $(NETSOLVE_LIB_for_AUX) \
	    $(MORE_LIBS)
	chmod 755 $@

$(NETSOLVE_LIB_FILES_for_ITPACK) : ../sparse_globals.h
$(NETSOLVE_TESTER_FILES_for_ITPACK) $(NETSOLVE_LIB_FILES_for_ITPACK) : \
		netsolve_itpack.h

clean ::
	@/bin/rm -f itmeth

include ../Makefile.clean
