CFLAGS=-O3

.PHONY: all run_serial run_omp run_mpi clean realclean

all: jacobi1d.x jacobi1d_omp.x jacobi1d_mpi.x

jacobi1d.x: jacobi1d.c
	gcc -DUSE_CLOCK $(CFLAGS) jacobi1d.c timing.c -o jacobi1d.x

jacobi1d_omp.x: jacobi1d_omp.c
	gcc -fopenmp $(CFLAGS) jacobi1d_omp.c -o jacobi1d_omp.x

jacobi1d_mpi.x: jacobi1d_mpi.c
	mpicc $(CFLAGS) jacobi1d_mpi.c -o jacobi1d_mpi.x

run_serial: jacobi1d.x
	qsub run_serial.qsub

run_omp: jacobi1d_omp.x
	qsub run_omp.qsub

run_mpi: jacobi1d_mpi.x
	qsub -pe orte 2 run_mpi.qsub

clean:	
	rm -f *.x *.o *.qsub.* *~

realclean: clean
	rm -f *.out
