1# 2# Copyright (C) 2012, Northwestern University and Argonne National Laboratory 3# See COPYRIGHT notice in top-level directory. 4# 5# $Id: Makefile.in 2698 2016-12-11 20:02:52Z wkliao $ 6# 7# @configure_input@ 8 9srcdir = @srcdir@ 10VPATH = @srcdir@ 11 12include ../../macros.make 13 14# note the order of -L list matters 15INCLUDES = -I../../src/lib -I../../src/libf 16ifeq (@SIZEOF_MPI_AINT_IS_4@, yes) 17FPPFLAGS += $(FC_DEFINE)SIZEOF_MPI_AINT_IS_4 18endif 19FLDFLAGS := -L../../src/lib $(FLDFLAGS) $(LDFLAGS) 20LIBS := -lpnetcdf $(LIBS) 21 22F77_SRCS = nonblocking_write.f \ 23 column_wise.f \ 24 block_cyclic.f \ 25 flexible_api.f \ 26 get_info.f \ 27 hints.f \ 28 put_vara.f \ 29 put_varn_real.f \ 30 put_varn_int.f \ 31 transpose.f \ 32 i_varn_real.f \ 33 bput_varn_int8.f \ 34 fill_mode.f 35 36F77F_SRCS = vard_int.F 37 38PROGS = $(F77_SRCS:.f=) $(F77F_SRCS:.F=) 39OBJS = $(F77_SRCS:.f=.o) $(F77F_SRCS:.F=.o) 40 41UTIL_SRCS = utils.F90 42UTIL_OBJS = $(UTIL_SRCS:.F90=.o) 43 44GARBAGE = $(PROGS) *.nc 45 46PACKING_LIST = $(F77_SRCS) $(F77F_SRCS) $(UTIL_SRCS) depend Makefile.in 47 48all: $(PROGS) 49 50install: 51 52uninstall: 53 54nonblocking_write: nonblocking_write.o $(UTIL_OBJS) $(LIBRARY) 55 $(LINK.F90) $< $(UTIL_OBJS) $(FLDFLAGS) $(LIBS) 56 57get_info: get_info.o $(UTIL_OBJS) $(LIBRARY) 58 $(LINK.F90) $< $(UTIL_OBJS) $(FLDFLAGS) $(LIBS) 59 60column_wise: column_wise.o $(UTIL_OBJS) $(LIBRARY) 61 $(LINK.F90) $< $(UTIL_OBJS) $(FLDFLAGS) $(LIBS) 62 63block_cyclic: block_cyclic.o $(UTIL_OBJS) $(LIBRARY) 64 $(LINK.F90) $< $(UTIL_OBJS) $(FLDFLAGS) $(LIBS) 65 66put_vara: put_vara.o $(UTIL_OBJS) $(LIBRARY) 67 $(LINK.F90) $< $(UTIL_OBJS) $(FLDFLAGS) $(LIBS) 68 69hints: hints.o $(UTIL_OBJS) $(LIBRARY) 70 $(LINK.F90) $< $(UTIL_OBJS) $(FLDFLAGS) $(LIBS) 71 72flexible_api: flexible_api.o $(UTIL_OBJS) $(LIBRARY) 73 $(LINK.F90) $< $(UTIL_OBJS) $(FLDFLAGS) $(LIBS) 74 75put_varn_int: put_varn_int.o $(UTIL_OBJS) $(LIBRARY) 76 $(LINK.F90) $< $(UTIL_OBJS) $(FLDFLAGS) $(LIBS) 77 78put_varn_real: put_varn_real.o $(UTIL_OBJS) $(LIBRARY) 79 $(LINK.F90) $< $(UTIL_OBJS) $(FLDFLAGS) $(LIBS) 80 81transpose: transpose.o $(UTIL_OBJS) $(LIBRARY) 82 $(LINK.F90) $< $(UTIL_OBJS) $(FLDFLAGS) $(LIBS) 83 84vard_int: vard_int.o $(UTIL_OBJS) $(LIBRARY) 85 $(LINK.F90) $< $(UTIL_OBJS) $(FLDFLAGS) $(LIBS) 86 87i_varn_real: i_varn_real.o $(UTIL_OBJS) $(LIBRARY) 88 $(LINK.F90) $< $(UTIL_OBJS) $(FLDFLAGS) $(LIBS) 89 90bput_varn_int8: bput_varn_int8.o $(UTIL_OBJS) $(LIBRARY) 91 $(LINK.F90) $< $(UTIL_OBJS) $(FLDFLAGS) $(LIBS) 92 93fill_mode: fill_mode.o $(UTIL_OBJS) $(LIBRARY) 94 $(LINK.F90) $< $(UTIL_OBJS) $(FLDFLAGS) $(LIBS) 95 96TEST_MPIRUN_4 = $(subst NP,4,$(TEST_MPIRUN)) 97TEST_MPIRUN_8 = $(subst NP,8,$(TEST_MPIRUN)) 98TEST_MPIRUN_3 = $(subst NP,3,$(TEST_MPIRUN)) 99 100ptest4: $(PROGS) 101 @for i in $(PROGS); do { \ 102 $(TEST_MPIRUN_4) ./$$i -q $(TEST_OUTDIR)/testfile.nc ; \ 103 if [ $$? = 0 ] ; then \ 104 echo "PASS: F77 parallel run on 4 processes --------------- $$i"; \ 105 else \ 106 echo "FAILED: F77 parallel run on 4 processes ------------- $$i"; \ 107 exit 1; \ 108 fi ; } ; done 109 110ptest8: $(PROGS) 111 @for i in $(PROGS); do { \ 112 $(TEST_MPIRUN_8) ./$$i -q $(TEST_OUTDIR)/testfile.nc ; \ 113 if [ $$? = 0 ] ; then \ 114 echo "PASS: F77 parallel run on 8 processes --------------- $$i"; \ 115 else \ 116 echo "FAILED: F77 parallel run on 8 processes ------------- $$i"; \ 117 exit 1; \ 118 fi ; } ; done 119 120ptest3: $(PROGS) 121 @for i in $(PROGS); do { \ 122 $(TEST_MPIRUN_3) ./$$i -q $(TEST_OUTDIR)/testfile.nc ; \ 123 if [ $$? = 0 ] ; then \ 124 echo "PASS: F77 parallel run on 3 processes --------------- $$i"; \ 125 else \ 126 echo "FAILED: F77 parallel run on 3 processes ------------- $$i"; \ 127 exit 1; \ 128 fi ; } ; done 129 130ptest: ptest4 131ptests: ptest3 ptest4 ptest8 132ptest2 ptest6 ptest10: 133 134include $(srcdir)/depend 135include $(srcdir)/../../rules.make 136 137$(LIBRARY): ; 138 139