SHELL=/bin/sh
MPICC=mpicc
BSPCC=bspcc
BSP=
MPI=
CFLAGS=-O3 
ASVERSION=03v2
MPILINK=mpicc -O3 
#Former for small n, latter for 1024 or more check also sendlatency 30,200
MPILINK = mpicc -O3
SLOTS=64
SLOTSIZE=16
SLOTS=64
SLOTSIZE=16
BSPLINK  =bspcc  -flibrary-level 2   -fcombine-puts  -bspnoslots ${SLOTS} \
                -bspslotsize  ${SLOTSIZE} -bsproundtrip 180 -bspsendlatency 25
BSPLINK = bspcc -flibrary-level 2  -fcombine-puts-buffer 2000 -bspnoslots ${SLOTS} \
           -bspslotsize ${SLOTSIZE}  -bsproundtrip 180 -bspsendlatency 25
#1/25 Low L, 4/25,4/32 smoother g  4/40 highL but low g.
BSPLINK  =bspcc -flibrary-level 2 -bspnoslots ${SLOTS} \
           -bspslotsize  ${SLOTSIZE} -bsproundtrip 180 -bspsendlatency 25
all	:	allmpi
all2	:	mpi2
allbsp	: bspi bsp
allmpi	: mpii mpi
bspi	:
	cp ai.bsp ai.h
mpii	:
	cp ai.mpi ai.h
allmpi	: ${MPI}
bsp:	${BSP}aimisc.b ${BSP}assess.b  assess.h 
	${BSPLINK} ${BSP}aimisc.b ${BSP}assess.b  -o bspas
	strip bspas
	ccp bspas run
mpi:	${MPI}aimisc.o ${MPI}aimpi.o ${MPI}assess.o  assess.h  
	${MPILINK}  ${MPI}aimisc.o ${MPI}aimpi.o ${MPI}assess.o  -o mpias
	strip mpias
	ccp mpias run
mpi2:	allas.o allas.h
	${MPILINK} allas.o -o allas
	strip allas
	ccp allas run
#
%.b:	%.c
	${BSPCC} ${CFLAGS} -c $< -o $@
%.o:	%.c
	${MPICC} ${CFLAGS} -c $< -o $@
#
clean:
	rm -f *.o *.b mpias bspas core *~
tar:
	tar cvf as${ASVERSION}.tar ai.bsp ai.h aimisc.c aimisc.h\
		ai.mpi aimpi.c aimpi.h assess.c assess.h assess.sam \
		assess.txt cluster.how Contents copy Makefile \
		Makefile.old README allas.h allas.c
mytar:
	tar cvf asmy${ASVERSION}.tar ai.bsp ai.h aimisc.c aimisc.h\
		ai.mpi aimpi.c aimpi.h assess.c assess.h assess.sam \
		assess.txt cluster.how Contents copy Makefile \
		Makefile.old params.txt README allas.h allas.c
