CC = /proj/tpfimos/larour/Libraries/linux/mpich2-1.0.2p1/bin/mpicc
F77 = /proj/tpfimos/larour/Libraries/linux/mpich2-1.0.2p1/bin/mpif77
INCLUDE_DIR = 
# because := is not universally avalible, we have to play games to use the
# user-specificed LDFLAGS and OUR_LIBS env. variables (if set)
OUR_LIBS =   -lpthread  -lrt   -lpthread  -lrt  ${LDFLAGS} ${LIBS}
USER_CFLAGS =  -I/proj/tpfimos/larour/Libraries/linux/mpich2-1.0.2p1/src/binding/f77 -I/proj/tpfimos/larour/Libraries/linux/mpich2-1.0.2p1/src/binding/f77 -I/proj/tpfimos/larour/Libraries/linux/mpich2-1.0.2p1/src/mpid/ch3/include -I/proj/tpfimos/larour/Libraries/linux/mpich2-1.0.2p1/src/mpid/ch3/include -I/proj/tpfimos/larour/Libraries/linux/mpich2-1.0.2p1/src/mpid/common/datatype -I/proj/tpfimos/larour/Libraries/linux/mpich2-1.0.2p1/src/mpid/common/datatype -I/proj/tpfimos/larour/Libraries/linux/mpich2-1.0.2p1/src/mpid/ch3/channels/sock/include -I/proj/tpfimos/larour/Libraries/linux/mpich2-1.0.2p1/src/mpid/ch3/channels/sock/include -I/proj/tpfimos/larour/Libraries/linux/mpich2-1.0.2p1/src/mpid/common/sock -I/proj/tpfimos/larour/Libraries/linux/mpich2-1.0.2p1/src/mpid/common/sock -I/proj/tpfimos/larour/Libraries/linux/mpich2-1.0.2p1/src/mpid/common/sock/poll -I/proj/tpfimos/larour/Libraries/linux/mpich2-1.0.2p1/src/mpid/common/sock/poll  $(INCLUDE_DIR)
USER_FFLAGS =  -I/proj/tpfimos/larour/Libraries/linux/mpich2-1.0.2p1/src/binding/f77 -I/proj/tpfimos/larour/Libraries/linux/mpich2-1.0.2p1/src/binding/f77 -I/proj/tpfimos/larour/Libraries/linux/mpich2-1.0.2p1/src/mpid/ch3/include -I/proj/tpfimos/larour/Libraries/linux/mpich2-1.0.2p1/src/mpid/ch3/include -I/proj/tpfimos/larour/Libraries/linux/mpich2-1.0.2p1/src/mpid/common/datatype -I/proj/tpfimos/larour/Libraries/linux/mpich2-1.0.2p1/src/mpid/common/datatype -I/proj/tpfimos/larour/Libraries/linux/mpich2-1.0.2p1/src/mpid/ch3/channels/sock/include -I/proj/tpfimos/larour/Libraries/linux/mpich2-1.0.2p1/src/mpid/ch3/channels/sock/include -I/proj/tpfimos/larour/Libraries/linux/mpich2-1.0.2p1/src/mpid/common/sock -I/proj/tpfimos/larour/Libraries/linux/mpich2-1.0.2p1/src/mpid/common/sock -I/proj/tpfimos/larour/Libraries/linux/mpich2-1.0.2p1/src/mpid/common/sock/poll -I/proj/tpfimos/larour/Libraries/linux/mpich2-1.0.2p1/src/mpid/common/sock/poll  $(INCLUDE_DIR)
CTESTS = simple perf async coll_test coll_perf misc file_info excl large_array \
     atomicity noncontig i_noncontig noncontig_coll split_coll shared_fp \
     large_file psimple error status noncontig_coll2
FTESTS = fcoll_test fperf fmisc pfcoll_test 
srcdir=/proj/tpfimos/larour/Libraries/linux/mpich2-1.0.2p1/src/mpi/romio/test

VPATH = .:${srcdir}


all: c-test fperf fcoll_test fmisc pfcoll_test

c-test: $(CTESTS)

default: all

.c.o:
	$(CC) $(USER_CFLAGS) -c $<

.f.o:
	$(F77) $(USER_FFLAGS) -c $<

.o:
	$(CC) $(USER_CFLAGS) -o  $@ $< $(OUR_LIBS)

clean: 
	rm -f .P* PI* *.o 
	rm -f $(CTESTS) $(FTESTS)
	@-rm -f work.pc work.pcl

simple: simple.o
psimple: psimple.o
perf: perf.o
excl: excl.o
status: status.o
async: async.o
atomicity: atomicity.o
coll_test: coll_test.o
coll_perf: coll_perf.o
misc: misc.o
noncontig: noncontig.o
i_noncontig: i_noncontig.o
noncontig_coll: noncontig_coll.o
noncontig_coll2: noncontig_coll2.o
file_info: file_info.o
error: error.o
shared_fp: shared_fp.o
split_coll: split_coll.o
#fperf: fperf.o
#fcoll_test: fcoll_test.o
#pfcoll_test: pfcoll_test.o
#fmisc: fmisc.o
large_file: large_file.o
large_array: large_array.o

#
# The Fortran tests must be built with the Fortran linker
fperf: fperf.o
	$(F77) $(USER_FFLAGS) -o  fperf fperf.o $(OUR_LIBS)

fcoll_test: fcoll_test.o
	$(F77) $(USER_FFLAGS) -o  fcoll_test fcoll_test.o $(OUR_LIBS)

fmisc: fmisc.o
	$(F77) $(USER_FFLAGS) -o  fmisc fmisc.o $(OUR_LIBS)

pfcoll_test: pfcoll_test.o	
	$(F77) $(USER_FFLAGS) -o  pfcoll_test pfcoll_test.o $(OUR_LIBS)

#testing: 
#	-./runtests $(TESTARGS)

cleanall:
	-@rm -f .P* PI* misc.c large_file.c fcoll_test.f fmisc.f fperf.f \mpif.h simple async coll_test coll_perf misc perf fcoll_test fperf fmisc file_info excl large_array large_file noncontig i_noncontig noncontig_coll atomicity *.out runtests pfcoll_test.f pfcoll_test noncontig_coll2
