SHELL=/bin/sh
MPICC=mpicc
BSPCC=bspcc
PUBCC=pubcc
BSP=
MPI=
PUB=
CFLAGS=-O3
RDXVERSION=v11
MPILINK=mpicc -O3
PUBLINK=pubcc -O3
SLOTS=4
SLOTSIZE=40
#NONSMP 2:4/64,4:4/32,8:4/40,16:4/40 and 180/90 HP; 16: 10k/32 optimize]
#   SMP 2,4,8,16:4/64 and 180/90
BSPLINK=bspcc -flibrary-level 2  -bspnoslots ${SLOTS}\
	-bspslotsize ${SLOTSIZE}  -bsproundtrip 180  -bspsendlatency 90
all	:	allmpi
all2	:	mpi2
allmpi	:mpii	mpi
allbsp	:bspi	bsp
allpub	:pubi	pub
mpii	:	
	cp ai.mpi ai.h
bspi	:
	cp ai.bsp ai.h
pubi	:
	cp ai.pub ai.h
#
bsp	:	${BSP}aimisc.b ${BSP}rdxaux.b rdx4a.b\
	 ${BSP}rdx4.b ${BSP}rdxmain.b
	${BSPLINK} ${BSP}aimisc.b ${BSP}rdx4.b  rdx4a.b\
		 ${BSP}rdxaux.b ${BSP}rdxmain.b -o brdx
	strip brdx   
	ccp brdx run
pub	:	${PUB}aimisc.u ${PUB}rdxaux.u\
	 ${PUB}rdx4.u  ${PUB}rdxmain.u rdx4a.u
	${PUBLINK} ${PUB}aimisc.u ${PUB}rdx4.u  rdx4a.u\
		 ${PUB}rdxaux.u ${PUB}rdxmain.u -o prdx
	strip prdx   
	ccp prdx run 
mpi	:	${MPI}aimisc.o ${MPI}rdx4.o ${MPI}rdx4a.o rdx4mp.o rdx4amp.o rdx4p.o rdx4pmp.o\
		${MPI}rdxaux.o ${MPI}rdxmain.o aimpi.o
	${MPILINK} ${MPI}aimisc.o ${MPI}rdx4.o ${MPI}rdx4a.o rdx4mp.o rdx4amp.o  rdx4p.o rdx4pmp.o\
		${MPI}rdxaux.o ${MPI}rdxmain.o  aimpi.o -o mrdx
	strip mrdx
	ccp mrdx run
#
%.b:	%.c
	${BSPCC} ${CFLAGS} -c $< -o $@
%.o:	%.c
	${MPICC} ${CFLAGS} -c $< -o $@
%.u:	%.c
	${PUBCC} ${CFLAGS} -c $< -o $@
#
clean:
	rm -f *.o *.b  *.u  prdx brdx mrdx core *~ 
tar:
	tar cvf rdx03${RDXVERSION}.tar 509rdx.rdm ai.bsp ai.h aimisc.c aimisc.h\
		ai.mpi aimpi.c aimpi.h ai.pub allrdx.c allrdx.h \
		Makefile rdx4.c rdx4mp.c rdx4a.c rdx4amp.c rdx4p.c rdx4pmp.c rdxai.h\
		rdxaux.c rdxmain.c rdxsrt.res  rdxsrt.cmp rdxsrt2.res 508/ \
		rdx4ampN.c rdx4ampO.c

