#
# makefile for the netsolve sparse methods main library file
#

COMPONENT = main

info::
	@echo "make libfiles, make tester, "
	@echo "  make clean, make deletelibs, make total_clean"
	@echo "Use COPT=g for debug compile, COPT=O is default"
	@echo "add cpp defines by DEFINES=\"...\" "

include ../../../../conf/Makefile.inc
include ../Makefile.env
include Makefile.has
include Makefile.inc
include Makefile.lib

libfiles :
	@echo ; echo Using NETSOLVE_SPARSE_DIR=$(NETSOLVE_SPARSE_DIR) ; echo
	@$(HAVES) for file in $(PACKAGES) ; do \
	  eval HAVE=\\\$$HAVE_`echo $$file` ; \
	  if [ "`eval echo $$HAVE`" = "1" ] ; then \
	     echo ; echo .. installing $$file ; echo ; \
	     cd $$file ; \
	     $(MAKE) $@ ; \
	     cd $(NETSOLVE_SPARSE_DIR) ; \
	  else \
	     echo ; echo .. ignoring $$file ; echo ; \
	  fi ; \
	done;
	for file in aux driver test ; do \
	  cd $$file ; echo ; echo .. installing $$file ; echo ; \
	  $(MAKE) $@ ; cd .. ; done
deletelibs ::
	@for file in aux $(PACKAGES) ; do \
	  cd $$file ; $(MAKE) $@ ; cd .. ; \
	done;
testers :
	@$(HAVES) for file in $(PACKAGES) ; do \
	  eval HAVE=\\\$$HAVE_`echo $$file` ; \
	  if [ "`eval echo $$HAVE`" = "1" ] ; then \
	     echo ; echo .. constructing tester for $$file ; echo ; \
	     cd $$file ; \
	     $(MAKE) tester ; \
	     cd $(NETSOLVE_SPARSE_DIR) ; \
	  else \
	     echo ; echo .. ignoring $$file ; echo ; \
	  fi ; \
	done;
runtesters :
	@$(HAVES) for file in $(PACKAGES) ; do \
	  eval HAVE=\\\$$HAVE_`echo $$file` ; \
	  if [ "`eval echo $$HAVE`" = "1" ] ; then \
	     echo ; echo .. testing $$file ; echo ; \
	     cd $$file ; \
	     $(MAKE) -s runtester ; \
	     cd $(NETSOLVE_SPARSE_DIR) ; \
	  fi ; \
	done;
info ::
	@echo make full_test : clean deletelibs libfiles testers runtesters
full_test : 
	@make clean deletelibs libfiles testers runtesters
deletetesters :
	@for file in aux test $(PACKAGES) ; do \
	  cd $$file ; $(MAKE) $@ ; cd .. ; \
	done;

tester :
	cd test ; $(MAKE) DEBUG_SWITCH=$(DEBUG_SWITCH) tester ; mv testall ..
total_clean :: deletetesters

include Makefile.clean
