SHELL=/bin/sh
CFLAGS	= -I. -O3 
MPICC=mpicc
BSPCC=bspcc
MPIFLAGS = -O3
#BSPFLAGS = -O3  -flibrary-level 2   -fcombine-puts  -bspnoslots 1 -bspslotsize  40 -bsproundtrip 200 -bspsendlatency 30 
#BSPFLAGS = -O3 -flibrary-level 2  -bspnoslots 4  -bspslotsize  40 -bsproundtrip 200 -bspsendlatency 30 
#Former for small n, latter for 1024 or more
BSPFLAGS = -O3 -flibrary-level 2  -bspnoslots 4  -bspslotsize  40 -bsproundtrip 200 -bspsendlatency 30 
BSPMUL=bspmul
MPIMUL=mpimul
allbsp	:	${BSPMUL}
allmpi	:	${MPIMUL}
bspmul	:	bspmain.o bspmul.o bspgmul.o 
	${BSPCC} ${BSPFLAGS} bspmain.o bspgmul.o bspmul.o -o bspmult
	strip bspmult
	ccp bspmult run
mpimul	:	mpimain.o mpimul.o mpigmul.o 
	${MPICC} ${MPIFLAGS} mpimain.o mpigmul.o mpimul.o -o mpimult
	strip mpimult
	ccp mpimult run
bspmain.o:	mulmain.c
	${BSPCC} ${CFLAGS} -c mulmain.c -o bspmain.o
mpimain.o:	mulmain.c
	${BSPCC} ${CFLAGS} -c mulmain.c -o mpimain.o
bspmul.o:	matmul.c
	${BSPCC} ${CFLAGS} -c matmul.c -o bspmul.o
mpimul.o:	matmul.c
	${BSPCC} ${CFLAGS} -c matmul.c -o mpimul.o
bspgmul.o:	gmatmul.c
	${BSPCC} ${CFLAGS} -c gmatmul.c -o bspgmul.o
mpigmul.o:	gmatmul.c
	${BSPCC} ${CFLAGS} -c gmatmul.c -o mpigmul.o
clean:
	rm -f *.o mpimult bspmult
tar:
	tar cvf mmnew02.tar ai.h aimpi.h copy gmatmul.c Makefile \
		matmul.c  matmul.h  matmul.rdm matmul.exp mulmain.c
