# Generated automatically from Makefile.in by configure.
ALL: default
##### User configurable options #####

MPIR_HOME    = 
CC           = ../../../../bin/ampiCC
CLINKER      = ../../../../bin/ampiCC
CCC          = 
CCLINKER     = $(CCC)
F77          = :
FLINKER      = :
OPTFLAGS     = 
MPIFDEP      = 
MAKE         = make
### End User configurable options ###

SHELL = /bin/sh
prefix     = 
top_srcdir = ..
srcdir     = ../coll
VPATH=.:$(srcdir)

PROFLIB =
CFLAGS  =  -DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STRING_H=1 -DUSE_STDARG=1 -DHAVE_LONG_DOUBLE=1 -DHAVE_LONG_LONG_INT=1 -DHAVE_PROTOTYPES=1 -DHAVE_SIGNAL_H=1 -DHAVE_SIGACTION=1 -DHAVE_SLEEP=1 -DHAVE_SYSCONF=1 $(OPTFLAGS)
CCFLAGS = $(CFLAGS)
FFLAGS = $(OPTFLAGS) 
# Use LIBS to add any special libraries for C programs
LIBS =  
# Use FLIBS to add any special libraries for Fortran programs
FLIBS =  
EXECS = coll1 coll2 coll3 coll4 coll5 coll6 coll7 coll8 coll9 \
	coll10 coll11 coll12 coll13 bcastbug bcastbug2 grouptest redtst \
	barrier bcast allred allred2 \
	scatterv allredf redscat alltoallv assocf \
	allredmany longuser scattern bcastvec scantst bcastlog

default: $(EXECS)

#
# Note that runtests builds the executables as required
testing: 
	-./runtests $(TESTARGS)

linktest: default clean

all: testing

fortran_tests: allredf assocf bcastlog

coll1: coll1.o test.o
	$(CLINKER) $(OPTFLAGS) -o coll1 coll1.o test.o $(LIBS)
coll2: coll2.o test.o
	$(CLINKER) $(OPTFLAGS) -o coll2 coll2.o test.o $(LIBS)
coll3: coll3.o test.o
	$(CLINKER) $(OPTFLAGS) -o coll3 coll3.o test.o $(LIBS)
coll4: coll4.o test.o
	$(CLINKER) $(OPTFLAGS) -o coll4 coll4.o test.o $(LIBS)
coll5: coll5.o test.o
	$(CLINKER) $(OPTFLAGS) -o coll5 coll5.o test.o $(LIBS)
coll6: coll6.o test.o
	$(CLINKER) $(OPTFLAGS) -o coll6 coll6.o test.o $(LIBS)
coll7: coll7.o test.o
	$(CLINKER) $(OPTFLAGS) -o coll7 coll7.o test.o $(LIBS)
coll8: coll8.o test.o
	$(CLINKER) $(OPTFLAGS) -o coll8 coll8.o test.o $(LIBS)
coll9: coll9.o test.o 
	$(CLINKER) $(OPTFLAGS) -o coll9 coll9.o test.o $(LIBS)
coll10: coll10.o test.o 
	$(CLINKER) $(OPTFLAGS) -o coll10 coll10.o test.o $(LIBS)
coll11: coll11.o test.o 
	$(CLINKER) $(OPTFLAGS) -o coll11 coll11.o test.o $(LIBS)
coll12: coll12.o test.o
	$(CLINKER) $(OPTFLAGS) -o coll12 coll12.o test.o $(LIBS)
coll13: coll13.o 
	$(CLINKER) $(OPTFLAGS) -o coll13 coll13.o $(LIBS)
allredmany: allredmany.o 
	$(CLINKER) $(OPTFLAGS) -o allredmany allredmany.o $(LIBS)
bcastbug2: bcastbug2.o test.o 
	$(CLINKER) $(OPTFLAGS) -o bcastbug2 bcastbug2.o test.o $(LIBS)
bcastbug: bcastbug.o test.o
	$(CLINKER) $(OPTFLAGS) -o bcastbug bcastbug.o test.o $(LIBS)
bcastvec: bcastvec.o test.o 
	$(CLINKER) $(OPTFLAGS) -o bcastvec bcastvec.o test.o $(LIBS)
bcastlog: $(MPIFDEP) bcastlog.o
	$(FLINKER) $(OPTFLAGS) -o ./bcastlog bcastlog.o $(FLIBS)
grouptest: grouptest.o test.o
	$(CLINKER) $(OPTFLAGS) -o grouptest grouptest.o test.o $(LIBS)
redtst: redtst.o test.o
	$(CLINKER) $(OPTFLAGS) -o redtst redtst.o test.o $(LIBS)
barrier: barrier.o test.o
	$(CLINKER) $(OPTFLAGS) -o barrier barrier.o test.o $(LIBS)
bcast: bcast.o test.o
	$(CLINKER) $(OPTFLAGS) -o bcast bcast.o test.o $(LIBS)
allred: allred.o ../pt2pt/gcomm.o
	$(CLINKER) $(OPTFLAGS) -o allred allred.o ../pt2pt/gcomm.o $(LIBS) -lm
scatterv: scatterv.o
	$(CLINKER) $(OPTFLAGS) -o scatterv scatterv.o $(LIBS) -lm
scattern: scattern.o
	$(CLINKER) $(OPTFLAGS) -o scattern scattern.o $(LIBS) -lm
redscat: redscat.o
	$(CLINKER) $(OPTFLAGS) -o redscat redscat.o $(LIBS) -lm
alltoallv: alltoallv.o
	$(CLINKER) $(OPTFLAGS) -o alltoallv alltoallv.o $(LIBS) -lm
scantst: scantst.o test.o
	$(CLINKER) $(OPTFLAGS) -o scantst scantst.o test.o $(LIBS)

allredf: $(MPIFDEP) allredf.o
	$(FLINKER) $(OPTFLAGS) -o allredf allredf.o $(FLIBS)

assocf: $(MPIFDEP) assocf.o 
	$(FLINKER) $(OPTFLAGS) -o assocf assocf.o $(FLIBS)

allgatherf: $(MPIFDEP) allgatherf.o
	$(FLINKER) $(OPTFLAGS) -o allgatherf allgatherf.o $(FLIBS)

longuser: longuser.o
	$(CLINKER) $(OPTFLAGS) -o longuser longuser.o $(LIBS)

../pt2pt/gcomm.o:
	(cd ../pt2pt ; $(MAKE) gcomm.o )
../pt2pt/dtypes.o:
	(cd ../pt2pt ; $(MAKE) dtypes.o )

#mpif.h: $(MPIR_HOME)/include/mpif.h
#	if test \! -f mpif.h ; then \
#	    rm -f mpif.h ; \
#	    ln -s $(MPIR_HOME)/include/mpif.h . ; \
#	fi
clean:
	@-rm -f *.o *~ PI* $(EXECS) core *.out coll.diff *.trace mpif.h 
	@-rm -f work.pc work.pcl ${srcdir}/*.o *.stdo

.c.o:
	$(CC) $(CFLAGS) -c $<
.c:
	$(CC) $(CFLAGS) -o $* $< $(LIBS)
.f.o:
	$(F77) $(FFLAGS) -c $<
