ITOOLSDIR = ..

ALL: fmain example1 example2 example3 tst2d tst3d tst4d
#
IFILES    = -I$(ITOOLSDIR)
CFLAGS    = $(IFILES) $(COPT) $(OPT) 
FFLAGS    = $(OPT)
FMAIN     = $(LDIR)/fmain$(BLKCMARCH).o
CLEANFILES = example[123].o tst[234]d.o example[123] tst[234]d
LIBS      = $(LIBNAME) $(MPI_LIB) 
SYS_LIB   = -lm

example_progs: example1 example2 example3 tst2d tst3d tst4d
run_examples:
	example1 -np 4 
	example2 -np 4 -mem 4
	example3 -np 4 -mem 4
	tst2d    -np 4 -mem 4
	tst3d    -np 4 -mem 4
	tst4d    -np 4 -mem 4
test_progs:
run_tests:

#	$(CC) -c $(CFLAGS) $(OPTFLAGS) fmain.c;
fmain: fmain.o
	mv fmain.o ../lib/fmain$(BLKCMARCH).o
example1: example1.o 
	$(FLINKER) -o example1.$(BLKCMARCH) $(FFLAGS) $(FMAIN) example1.o \
	              $(LIBS) $(FC_LIB) $(SYS_LIB)
example2: example2.o 
	$(FLINKER) -o example2.$(BLKCMARCH) $(FFLAGS) $(FMAIN) example2.o \
	              $(LIBS) $(FC_LIB) $(SYS_LIB)
example3: example3.o 
	$(FLINKER) -o example3.$(BLKCMARCH) $(FFLAGS) $(FMAIN) example3.o \
	              $(LIBS) $(FC_LIB) $(SYS_LIB)
example4: example4.o
	$(CLINKER) -o example4.$(BLKCMARCH) $(CFLAGS) example4.o \
	              $(LIBS) $(FC_LIB) $(SYS_LIB)
tst2d: tst2d.o 
	$(FLINKER) -o tst2d.$(BLKCMARCH) $(FFLAGS) $(FMAIN) tst2d.o \
	              $(LIBS) $(CLIB) $(SYS_LIB)
tst3d: tst3d.o 
	$(FLINKER) -o tst3d.$(BLKCMARCH) $(FFLAGS) $(FMAIN) tst3d.o \
	              $(LIBS) $(CLIB) $(SYS_LIB)
tst4d: tst4d.o
	$(FLINKER) -o tst4d.$(BLKCMARCH) $(FFLAGS) $(FMAIN) tst4d.o \
	              $(LIBS) $(CLIB) $(SYS_LIB)
# 
# Add -DUSEX to force disp.c to display using parallel graphics; 
# Add -lpetscgrf$(COMM) -lpetscgrf BEFORE the tools libraries.
disp.o: disp.c
	$(CC) -c $(BASEOPT) $(CFLAGS) disp.c

LDIR    = ../lib
LIBNAME = $(LDIR)/libblkcm$(BLKCMARCH).a
SHELL   = /bin/sh

include ../make.${BLKCMARCH}

ccall: ccbuild
	$(RANLIB) $(LIBNAME)
ccbuild:
	if [ "$(SOURCEF)" != "" ] ; then \
	    $(FC) -c $(FFLAGS) $(BASEOPTF) $(SOURCEF) ; \
	fi
ccfort:
	@-if [ -n "$(WOBJS)" ] ; then \
	$(RM) $(WOBJS) ; \
	fi
.c.o: 
	$(CC) -c $(CFLAGS) $(COPTFLAGS) $*.c
.f.o: 
	$(FC) -c $(FFLAGS) $(FOPTFLAGS) $*.f
clean:
	-/bin/rm -f *.o *~ $(CLEANFILES)
