CIVL = civl
VERIFY = $(CIVL) verify
REPLAY = $(CIVL) replay

all: vectorSum vectorSumBad bcastBad bcastBadOk bcastGood bcastReduce \
bcastReduce2 bcastReduceBad bcastReduce2Bad gatherOrder gatherType gatherRoot scatter scatterOrder scatterType scatterRoot scatterAllGather scatterAllGatherBad \
scatterGatherBad scatterGather bcastEx04 scatterGatherEx05 scatterReduceEx06 alltoallEx07 \
gathervEx08 gathervEx13 alltoallv reduce reduceOp reduceRoot reduceType allreduce allreduceOp \
allreduceType barrierReduce barrierReduceOrder barrierScatter

vectorSum: vectorSum.c
	$(VERIFY) -input_mpi_nprocs=5 vectorSum.c

vectorSumBad: vectorSum_bad.c
	$(VERIFY) -input_mpi_nprocs=5 vectorSum_bad.c

bcastBad: bcast_bad.c
	$(VERIFY) -input_mpi_nprocs=6 bcast_bad.c

bcastBadOk: bcast_bad.c
	$(VERIFY) -input_mpi_nprocs=4 bcast_bad.c

bcastGood: bcast_good.c
	$(VERIFY) -input_mpi_nprocs=3 bcast_good.c

bcastReduce: BcastReduce.c
	$(VERIFY) -input_mpi_nprocs=5 BcastReduce.c

bcastReduce2: BcastReduce2.c
	$(VERIFY) -input_mpi_nprocs=5 BcastReduce2.c

bcastReduceBad: BcastReduce_bad.c
	$(VERIFY) -input_mpi_nprocs=10 BcastReduce_bad.c

bcastReduce2Bad: BcastReduce2.c
	$(VERIFY) -input_mpi_nprocs=10 BcastReduce2.c

gatherOrder: gather.c
	$(VERIFY) -input_mpi_nprocs=6 gather.c

gatherType: gather.c
	$(VERIFY) -DTYPE -input_mpi_nprocs=6 gather.c

gatherRoot: gather.c
	$(VERIFY) -DROOT -input_mpi_nprocs=6 gather.c

scatter: scatter.c
	$(VERIFY) -input_mpi_nprocs=2 scatter.c

scatterOrder: scatter.c
	$(VERIFY) -input_mpi_nprocs=6 scatter.c

scatterType: scatter.c
	$(VERIFY) -DTYPE -input_mpi_nprocs=6 scatter.c

scatterRoot: scatter.c
	$(VERIFY) -DROOT -input_mpi_nprocs=6 scatter.c

scatterAllGatherBad: scatterAllgather_bad.c
	$(VERIFY) -input_mpi_nprocs=6 scatterAllgather_bad.c

scatterAllGather: scatterAllgather.c
	$(VERIFY) -input_mpi_nprocs=6 scatterAllgather.c

scatterGatherBad: scatterGather.c
	$(VERIFY) -DORDER -input_mpi_nprocs=6 scatterGather.c

scatterGather: scatterGather.c
	$(VERIFY) -input_mpi_nprocs=6 scatterGather.c

bcastEx04: c_ex04.c
	$(VERIFY) -input_mpi_nprocs=6 c_ex04.c

scatterGatherEx05: c_ex05.c
	$(VERIFY) -input_mpi_nprocs=6 -inputcount=5 c_ex05.c

scatterReduceEx06: c_ex06.c
	$(VERIFY) -input_mpi_nprocs=6 -inputcount=5 c_ex06.c

alltoallEx07: c_ex07.c
	$(VERIFY) -input_mpi_nprocs=6 c_ex07.c

gathervEx08: c_ex08.c
	$(VERIFY) -input_mpi_nprocs=6 c_ex08.c

gathervEx13: c_ex13.c
	$(VERIFY) -input_mpi_nprocs=6 c_ex13.c

alltoallv: alltoallv.c
	$(VERIFY) -input_mpi_nprocs=6 alltoallv.c

reduce: reduce.c
	$(VERIFY) -input_mpi_nprocs=6 reduce.c

reduceOp: reduce.c
	$(VERIFY) -DOPERATOR -input_mpi_nprocs=6 reduce.c

reduceRoot: reduce.c
	$(VERIFY) -DROOT -input_mpi_nprocs=6 reduce.c

reduceType: reduce.c
	$(VERIFY) -DTYPE -input_mpi_nprocs=6 reduce.c

allreduce: allreduce.c
	$(VERIFY) -input_mpi_nprocs=6 allreduce.c

allreduceOp: allreduce.c
	$(VERIFY) -DOPERATOR -input_mpi_nprocs=6 allreduce.c

allreduceType: allreduce.c
	$(VERIFY) -DTYPE -input_mpi_nprocs=6 allreduce.c

barrierReduce: barrierReduce.c
	$(VERIFY) -input_mpi_nprocs=5 barrierReduce.c

barrierReduceOrder: barrierReduce.c
	$(VERIFY) -DORDER -input_mpi_nprocs=5 barrierReduce.c

barrierScatter: barrierScatter.c
	$(VERIFY) -input_mpi_nprocs=4 barrierScatter.c

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