################################################################
#
# Makefile for ParPre demos.
# for ParPre-2.0.24
# Copyright Victor Eijkhout (eijkhout@cs.utk.edu) 1999
#
################################################################

# default production: helpful information
default help info all:
	@echo " "
	@echo "Type: make <method>"
	@echo "where <method> stands for any of:"
	@echo "   none, jacobi, aschwarz, mschwarz, domdec, gbssor, mlevel"
	@echo "at present."
	@echo
	@echo "This gives an executable <method> that you can run under MPI."
	@echo
	@echo "Type: make clean_examples"
	@echo "for discarding all output files an executables."
	@echo

COMMON_FILES = test_main.c mat.c cg.c
none : \
	        $(COMMON_FILES:.c=.o) none.o
	-$(CLINKER)  -o $@ $(COMMON_FILES:.c=.o) $@.o $(PARPRE_LIB)
	chmod 755 $@
jacobi : \
	        $(COMMON_FILES:.c=.o) jacobi.o
	-$(CLINKER)  -o $@ $(COMMON_FILES:.c=.o) $@.o $(PARPRE_LIB)
	chmod 755 $@
bjacobi : \
	        $(COMMON_FILES:.c=.o) bjacobi.o
	-$(CLINKER)  -o $@ $(COMMON_FILES:.c=.o) $@.o $(PARPRE_LIB)
	chmod 755 $@
gbssor : \
	        $(COMMON_FILES:.c=.o) gbssor.o
	-$(CLINKER)  -o $@ $(COMMON_FILES:.c=.o) $@.o $(PARPRE_LIB)
	chmod 755 $@
aschwarz : \
	        $(COMMON_FILES:.c=.o) aschwarz.o
	-$(CLINKER)  -o $@ $(COMMON_FILES:.c=.o) $@.o $(PARPRE_LIB)
	chmod 755 $@
mschwarz : \
	        $(COMMON_FILES:.c=.o) mschwarz.o
	-$(CLINKER)  -o $@ $(COMMON_FILES:.c=.o) $@.o $(PARPRE_LIB)
	chmod 755 $@
domdec : \
	        $(COMMON_FILES:.c=.o) domdec.o
	-$(CLINKER)  -o $@ $(COMMON_FILES:.c=.o) $@.o $(PARPRE_LIB)
	chmod 755 $@
mlevel : \
	        $(COMMON_FILES:.c=.o) mlevel.o
	-$(CLINKER)  -o $@ $(COMMON_FILES:.c=.o) $@.o $(PARPRE_LIB)
	chmod 755 $@
mgrid : \
	        $(COMMON_FILES:.c=.o) mgrid.o
	-$(CLINKER)  -o $@ $(COMMON_FILES:.c=.o) $@.o $(PARPRE_LIB)
	chmod 755 $@

clean clean_examples::
	rm -f *~ *.o prec.* test mf PI* tmp Test.* core \
		$(COMMON_FILES:.c=.o) \
		none jacobi bjacobi \
		gbssor aschwarz mschwarz domdec mlevel mgrid

include $(PARPRE_DIR)/bmake/parpre_base
