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

MPIR_HOME   = /usr
CC          = /usr/lib/LINUX/ch_p4/mpicc
CLINKER     = /usr/lib/LINUX/ch_p4/mpicc
CCC         = /usr/lib/LINUX/ch_p4/mpiCC
CCLINKER    = $(CCC)
F77         = /usr/lib/LINUX/ch_p4/mpif77
FLINKER     = /usr/lib/LINUX/ch_p4/mpif77
OPTFLAGS    = -O
MPIFDEP     = 
MAKE        = make --no-print-directory

### End User configurable options ###

SHELL = /bin/sh

PROFLIB =
CFLAGS  =  -DHAVE_PROTOTYPES  -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DUSE_STDARG $(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 scatterv allredf redscat alltoallv assocf \
	allredmany longuser scattern bcastvec

default: $(EXECS)

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

linktest: default clean

all: testing

fortran_tests: allredf assocf

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)
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

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 \
#	    /bin/rm -f mpif.h ; \
#	    ln -s $(MPIR_HOME)/include/mpif.h . ; \
#	fi
clean:
	@-/bin/rm -f *.o *~ PI* $(EXECS) core *.out coll.diff *.trace

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