VERIFY=civl verify -enablePrintf=false -collectHeaps=false

all:  diff1d diff2d diff2d_small wave1d gauss matmat pi prime

#### $(patsubst  %.c, C_%, $(wildcard *.c)) $(patsubst  %.cvl, CVL_%, $(wildcard *.cvl))

C_%: %.c
	$(VERIFY) $<

CVL_%: %.cvl
	$(VERIFY) $<

diff1d:
	@lessecho "NAME: diffusion1d.c"
	@lessecho "CITE: \\cite{Dummy}"	
	@lessecho "SCALE: {\\texttt{NP$\in$[1,3], NSTEPS, NX$\in$[1,5]}}"
	$(VERIFY) diffusion1d.c

diff2d:
	@lessecho "NAME: diffusion2d.c"
	@lessecho "CITE: \\cite{Dummy}"	
	@lessecho "SCALE: {\\texttt{NPX=NPY=2, NSTEPS, NX, NY$\in$[1,5]}}"
	$(VERIFY) diffusion2d.c

diff2d_small:
	@lessecho "NAME: diffusion2d.c"
	@lessecho "CITE: \\cite{Dummy}"	
	@lessecho "SCALE: {\\texttt{NPX=NX=3,NPY=NY=1,NSTEPS=2}}"
	$(VERIFY) -inputny=1 -inputnsteps=2 -inputnx=3  -inputNPROCSX=3 -inputNPROCSY=1 diffusion2d.c

gauss:
	@lessecho "NAME: gaussJordan_elimination.c"
	@lessecho "CITE: \\cite{Dummy}"	
	@lessecho "SCALE: {\\texttt{NP$\in$[1,3], ROW$\in$[1,COL], COL$\in$[1,3]}}"
	$(VERIFY) gaussJordan_elimination.c

gauss_small:
	@lessecho "NAME: gaussJordan_elimination.c"
	@lessecho "CITE: \\cite{Dummy}"	
	@lessecho "SCALE: {\\texttt{NP=ROW=COL=3}}"
	$(VERIFY) -input_mpi_nprocs=3 -inputnumRow=3 -inputnumCol=3 gaussJordan_elimination.c

wave1d:
	@lessecho "NAME: wave1d.c"
	@lessecho "CITE: \\cite{Dummy}"	
	@lessecho "SCALE: {\\texttt{NP$\in$[1,4], NSTEPS,NX$\in$[1,5]}}"
	$(VERIFY) wave1d.c

wave1dBad:
	@lessecho "NAME: wave1dBad.c"
	@lessecho "CITE: \\cite{Dummy}"	
	@lessecho "SCALE: {\\texttt{NP$\in$[1,4], NSTEPS,NX$\in$[1,5]}}"
	$(VERIFY) wave1dBad.c

matmat: matmat_mw/Makefile
	@lessecho "NAME: matmat_mw.c"
	@lessecho "CITE: \\cite{Dummy}"	
	@lessecho "SCALE: {\\texttt{NP$\in$[2,4], N,L,M$\in$[1,3]}}"
	cd matmat_mw/ && make

pi:
	@lessecho "NAME: mpi_pi_send.c"
	@lessecho "CITE: \\cite{Dummy}"	
	@lessecho "SCALE: {\\texttt{ROUNDS, DARTS, NP$\in$[1,2]}}"
	$(VERIFY) mpi_pi_send.c

prime:
	@lessecho "NAME: mpi_prime.c"
	@lessecho "CITE: \\cite{Dummy}"	
	@lessecho "SCALE: {\\texttt{NP$\in$[1,4], PRIMES$\in$[10,15]}}"
	$(VERIFY) mpi_prime.c

mpithread:  mpithreads_both.c
	@lessecho "NAME: mpithread_both.c"
	@lessecho "CITE: \\cite{Dummy}"	
	@lessecho "SCALE: {\\text{NP=2, THREADS$\in$[1,2], VECLEN=5}}"
	${VERIFY} -inputVECLEN=5 -inputMAXTHRDS=2 -input_mpi_nprocs=2 mpithreads_both.c

compare: compare
	cd compare/ && make

clean:
	rm -f *~
	rm -f -r CIVLREP