COMPILER = mpicc
CFLAGS = -Wall
EXES = getMatrix mkIdentityMatrix mkRandomMatrix mpimm abbreviated-mpimm mpi_memerror
CFILES = I R IR RI

all:   ${EXES} 


getMatrix:   getMatrix.c matrix.o
	gcc ${CFLAGS} getMatrix.c matrix.o -o getMatrix

mkIdentityMatrix:    mkIdentityMatrix.c  matrix.o
	gcc ${CFLAGS} mkIdentityMatrix.c matrix.o -o mkIdentityMatrix

mkRandomMatrix:    mkRandomMatrix.c  matrix.o
	gcc ${CFLAGS} mkRandomMatrix.c matrix.o -o mkRandomMatrix

matrix.o: matrix.c
	${COMPILER} ${CFLAGS} -c matrix.c

mm.o: mm.c
	${COMPILER} ${CFLAGS} -c mm.c

bourbaki: ${EXES}
	cp -f ${EXES} /projects/bourbaki${HOME}

mpimm: mpimm.c matrix.o mm.o
	${COMPILER} ${CFLAGS} mpimm.c matrix.o mm.o -o mpimm

abbreviated-mpimm: abbreviated-mpimm.c matrix.o mm.o
	${COMPILER} ${CFLAGS} abbreviated-mpimm.c matrix.o mm.o -o abbreviated-mpimm

mpi_memerror: mpi_memerror.c
	$(COMPILER) -g -Wall mpi_memerror.c -o mpi_memerror

clean:
	rm -f  *~ *.o ${EXES} ${CFILES}