CIVL=civl
VERIFY=$(CIVL) verify
CLOC=cloc --csv --quiet

all: mat-pie3 mat-pie100 mat-pie3A 

broken: mat-infnorm mat-vect

mat-infnorm: mpi-omp-mat-infnorm-blkstp.c
	@lessecho NAME: mpi-omp-mat-infnorm-blkstp.c
	@lessecho CITE: \\cite{HeGaPa2012}
	@lessecho TYPE: \$\\text{MO}\$
	@lessecho SCALE: \\texttt\{NP=2,NT=4,MATRIX=8x8\}
	@$(CLOC) mpi-omp-mat-infnorm-blkstp.c
	$(VERIFY) -input_NPROCS=2 -inputTHREAD_MAX=4 -ompLoopDecomp=ALL mpi-omp-mat-infnorm-blkstp.c

mat-vect: mpi-omp-mat-vect-mult-blkstp.c
	@lessecho NAME: mpi-omp-mat-vect-mult-blkstp.c
	@lessecho CITE: \\cite{HeGaPa2012}
	@lessecho TYPE: \$\\text{MO}\$
	@lessecho SCALE: \\texttt\{NP=2,NT=4,MATRIX=8x8\}
	@$(CLOC) mpi-omp-mat-vect-mult-blkstp.c
	$(VERIFY) -input_NPROCS=2 -inputTHREAD_MAX=4 -ompLoopDecomp=ALL mpi-omp-mat-vect-mult-blkstp.c

# abbreviating name on this one because it won't fit in table
mat-pie3A: mpi-omp-pie-calculation.c
	@lessecho NAME: pie-calculation.c
	@lessecho CITE: \\cite{HeGaPa2012}
	@lessecho TYPE: $$\\text{MO}^a$$
	@lessecho SCALE: \\texttt\{NP=2,NT=3,INTERVALS=6\}
	@$(CLOC) mpi-omp-pie-calculation.c
	$(VERIFY) -DMATH_ELABORATE_ASSUMPTIONS -input_NPROCS=2 -inputTHREAD_MAX=3 -ompLoopDecomp=ALL -ompNoSimplify mpi-omp-pie-calculation.c

# abbreviating name on this one because it won't fit in table
mat-pie3: mpi-omp-pie-calculation.c
	@lessecho NAME: pie-calculation.c
	@lessecho CITE: \\cite{HeGaPa2012}
	@lessecho TYPE: \$\\text{MO}\$
	@lessecho SCALE: \\texttt\{NP=2,NT=3,INTERVALS=6\}
	@$(CLOC) mpi-omp-pie-calculation.c
	$(VERIFY) -DMATH_ELABORATE_ASSUMPTIONS -input_NPROCS=2 -inputTHREAD_MAX=3 -ompLoopDecomp=ALL mpi-omp-pie-calculation.c

# Problem with $input and OMP2CIVL translator, so made a copy to change interval count
mat-pie100: mpi-omp-pie-calculation100.c
	@lessecho NAME: pie-calculation.c
	@lessecho CITE: \\cite{HeGaPa2012}
	@lessecho TYPE: \$\\text{MO}\$
	@lessecho SCALE: \\texttt\{NP=2,NT=10,INTERVALS=100\}
	@$(CLOC) mpi-omp-pie-calculation100.c
	$(VERIFY) -DMATH_ELABORATE_ASSUMPTIONS -input_NPROCS=2 -inputTHREAD_MAX=10 -ompLoopDecomp=ALL mpi-omp-pie-calculation100.c
