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