MAKE=make
PARSE=./parse.pl

all: CAV_CUDA CAV_MPI CAV_OMP CAV_PTHREAD MPI_OMP MPI_PTHREAD parse

CAV_CUDA: cuda/Makefile
	cd cuda && $(MAKE) > OUT_CUDA

CAV_MPI:  mpi/Makefile
	cd mpi && ${MAKE} > OUT_MPI

CAV_OMP: omp/Makefile
	cd omp && ${MAKE} > OUT_OMP

CAV_PTHREAD: pthread/Makefile
	cd pthread && $(MAKE) > OUT_PTHREAD

MPI_OMP:  mpi-omp/Makefile
	cd mpi-omp && ${MAKE} > OUT-MPI-OMP

MPI_PTHREAD: mpi-pthread/Makefile
	cd mpi-pthread && $(MAKE) > OUT-MPI-PTHREAD

parse: 
	$(PARSE) cuda/OUT_CUDA
	$(PARSE) mpi/OUT_MPI
	$(PARSE) omp/OUT_OMP
	$(PARSE) pthread/OUT_PTHREAD
	$(PARSE) mpi-omp/OUT-MPI-OMP
	$(PARSE) mpi-pthread/OUT-MPI-PTHREAD

clean:
	rm -f -r mpi/CIVLREP 
	rm -f -r mpi-omp/CIVLREP
	rm -f *~
