all: 

BS_DIR = ..
LIBBASE =

#Compiler flags:
#MLOG turns on logging and flop counting
#DEBUG_ALL turns on error code checking and is set in BSdepend.h

CFLAGS   = $(BS_INCLUDE) $(MPI_INCLUDE) 

EXAMPLES_1  = grid0.$(PETSC_ARCH) grid1.$(PETSC_ARCH) grid2.$(PETSC_ARCH) \
            grid3.$(PETSC_ARCH) grid4.$(PETSC_ARCH) grid5.$(PETSC_ARCH) \
			grid6.$(PETSC_ARCH) grid7.$(PETSC_ARCH) grid8.$(PETSC_ARCH)
SOURCEC = 
OBJC = 
EXAMPLESC = 
SYSLIB    = $(BS_LIB) $(LAPACK_LIB) $(BLAS_LIB) \
$(MPI_LIB) $(FC_LIB) $(SYS_LIB) -lm
LINCLUDE  = $(SOURCEH)

bsrunexamples: $(EXAMPLES_1)
	-@echo ">>>>>> Running examples in example directory <<<<<<"
	-$(MPIRUN) -np 4 ./grid0.$(PETSC_ARCH) 2 2 1 10 10 10
	#@$(MPIRUN) -np 4 ./grid1.$(PETSC_ARCH) 2 2 1 10 10 10
	#@$(MPIRUN) -np 4 ./grid2.$(PETSC_ARCH) 2 2 10 10 10
	-$(MPIRUN) -np 4 ./grid3.$(PETSC_ARCH) 10 9
	-$(MPIRUN) -np 4 ./grid4.$(PETSC_ARCH) 2 2 1 10 10 10
	-$(MPIRUN) -np 1 ./grid5.$(PETSC_ARCH) 1 1 1 10 10 10 1 3 1 1 1 1 2
	-$(MPIRUN) -np 1 ./grid5.$(PETSC_ARCH) 1 1 1 10 10 10 0 3 1 0 0 1 2
	-$(MPIRUN) -np 1 ./grid6.$(PETSC_ARCH) 1 1 1 10 10 10 1 1 3
	-$(MPIRUN) -np 1 ./grid6.$(PETSC_ARCH) 1 1 1 10 10 10 0 1 3
	-$(MPIRUN) -np 4 ./grid7.$(PETSC_ARCH) 2 2 1 8 8 8 0 1 3 1 0.01
	-$(MPIRUN) -np 4 ./grid8.$(PETSC_ARCH) 2 2 1 8 8 8 0 1 3 0.01

deletelibs:

ranlib:

grid0.$(PETSC_ARCH): master0.o worker0.o get_mat3d.o write_mat_matlab.o\
					num_grid3d.o free_grid.o chkopts
	-$(CLINKER) -o grid0.$(PETSC_ARCH) master0.o worker0.o get_mat3d.o\
                   num_grid3d.o write_mat_matlab.o free_grid.o $(SYSLIB)
	$(RM) master0.o worker0.o 

grid1.$(PETSC_ARCH): master1.o worker1.o get_mat.o free_grid.o chkopts
	-$(CLINKER) -o grid1.$(PETSC_ARCH) master1.o worker1.o get_mat.o\
                   free_grid.o $(SYSLIB)
	$(RM) master1.o worker1.o

grid2.$(PETSC_ARCH): master2.o worker2.o get_mat.o free_grid.o chkopts
	-$(CLINKER) -o grid2.$(PETSC_ARCH) master2.o worker2.o get_mat.o\
                   free_grid.o $(SYSLIB)
	$(RM) master2.o worker2.o get_mat.o

grid3.$(PETSC_ARCH): master3.o worker3.o get_mat3.o map3.o free_grid.o
	-$(CLINKER) -o grid3.$(PETSC_ARCH) master3.o worker3.o get_mat3.o map3.o \
                   free_grid.o $(SYSLIB)
	$(RM) master3.o worker3.o get_mat3.o map3.o

grid4.$(PETSC_ARCH): master4.o worker4.o get_mat4.o num_grid3d.o free_grid.o
	-$(CLINKER) -o grid4.$(PETSC_ARCH) master4.o worker4.o get_mat4.o\
				   num_grid3d.o free_grid.o $(SYSLIB)
	$(RM) master4.o worker4.o get_mat4.o

grid5.$(PETSC_ARCH): master5.o worker5.o num_grid3d.o get_mat3d.o\
		write_mat_matlab.o free_grid.o
	-$(CLINKER) -o grid5.$(PETSC_ARCH) master5.o worker5.o get_mat3d.o\
                 num_grid3d.o write_mat_matlab.o free_grid.o $(SYSLIB)
	$(RM) master5.o worker5.o

grid6.$(PETSC_ARCH): master6.o worker6.o get_mat3d.o num_grid3d.o\
		write_mat_matlab.o free_grid.o
	-$(CLINKER) -o grid6.$(PETSC_ARCH) master6.o worker6.o get_mat3d.o\
                 num_grid3d.o write_mat_matlab.o free_grid.o $(SYSLIB)
	$(RM) master6.o worker6.o

grid7.$(PETSC_ARCH): master7.o worker7.o get_mat3d.o num_grid3d.o\
                     write_mat_matlab.o free_grid.o
	-$(CLINKER) -o grid7.$(PETSC_ARCH) master7.o worker7.o get_mat3d.o\
                 num_grid3d.o write_mat_matlab.o free_grid.o $(SYSLIB)
	$(RM) master7.o worker7.o

grid8.$(PETSC_ARCH): master8.o worker8.o get_mat3d.o num_grid3d.o\
					 write_mat_matlab.o free_grid.o
	-$(CLINKER) -o grid8.$(PETSC_ARCH) master8.o worker8.o get_mat3d.o\
                 num_grid3d.o write_mat_matlab.o free_grid.o $(SYSLIB)
	$(RM) master8.o worker8.o get_mat3d.o num_grid3d.o write_mat_matlab.o\
		  free_grid.o

include $(BS_DIR)/bmake/$(PETSC_ARCH)/$(PETSC_ARCH)
 
