SHELL=/bin/sh
MPICC=mpicc
BSPCC=bspcc
CFLAGS=-O3
SLOTS=40
BSP=
MPI=
#
#BSPLINK =bspcc -O3  -flibrary-level 2   -fcombine-puts  \
-bspnoslots ${SLOTS} -bspslotsize  40 -bsproundtrip 200 -bspsendlatency 30
#Former for small n, latter for 1024 or more check also sendlatency 30,200
BSPLINK = bspcc -O3 -flibrary-level 2  -bspnoslots 4  \
-bspslotsize  ${SLOTS} -bsproundtrip 180 -bspsendlatency 25
MPILINK = mpicc -O3
BSPLINK = bspcc -flibrary-level 2   -fcombine-puts  -bspnoslots 1 -bspslotsize  40 -bsproundtrip 200 -bspsendlatency 30 
#
all	:	allbsp
allmpi	:	mpibrd mpippf
allbsp	:	bspbrd bspppf
#
bspbrd	:	${BSP}aimisc.b ${BSP}brdaia.b ${BSP}brdmain.b
	${BSPLINK} ${BSP}aimisc.b ${BSP}brdaia.b ${BSP}brdmain.b -o bbrd
	strip bbrd   # provided it makes sense
	ccp bbrd run # brodacast bbrd ; if you don't have a ccp; comment it
bspppf	:	${BSP}aimisc.b ${BSP}ppfaia.b ${BSP}ppfmain.b
	${BSPLINK}  ${BSP}aimisc.b ${BSP}ppfaia.b ${BSP}ppfmain.b\
		 -o bppf
	strip bppf
	ccp bppf run
mpibrd	:	${MPI}aimisc.o ${MPI}brdaia.o ${MPI}brdmain.o aimpi.o
	${MPILINK} ${MPI}aimisc.o ${MPI}brdaia.o \
		${MPI}brdmain.o  aimpi.o -o mbrd
	strip mbrd
	ccp mbrd run
mpippf	:	${MPI}aimisc.o ${MPI}ppfaia.o ${MPI}ppfmain.o aimpi.o
	${MPILINK} ${MPI}aimisc.o ${MPI}ppfaia.o ${MPI}ppfmain.o aimpi.o\
		-o mppf
	strip mppf
	ccp mppf run
#
%.b:	%.c
	${BSPCC} ${CFLAGS} -c $< -o $@
%.o:	%.c
	${MPICC} ${CFLAGS} -c $< -o $@
#
clean:
	rm -f *.o *.b  bbrd mbrd bppf mppf core *~ brd ppf *.m
tar:
	tar cvf bp03v1.tar ai.h aimisc.c aimisc.h\
		aimpi.c aimpi.h ppfai.h brdai.h \
		brdaia.c  brdaib.c brdmain.c brd.txt brdppf.txt \
		Makefile note.txt ppfaia.c  ppfmain.c ppf.txt \
		readme.txt
