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
16LDFLAGS  := -L../../src/lib $(LDFLAGS)
17LIBS     := -lpnetcdf $(LIBS)
18
19C_SRCS  = collective_write.c \
20          nonblocking_write.c \
21          nonblocking_write_in_def.c \
22          column_wise.c \
23          block_cyclic.c \
24          flexible_api.c \
25          get_info.c \
26          hints.c \
27          mput.c \
28          put_varn_float.c \
29          put_varn_int.c \
30          create_open.c \
31          global_attributes.c \
32          put_vara.c \
33          get_vara.c \
34          transpose.c \
35          vard_int.c \
36          i_varn_int64.c \
37          bput_varn_uint.c \
38          bput_varn_int64.c \
39          fill_mode.c \
40          ghost_cell.c \
41          req_all.c
42
43# Note: put_vara must be run immediately before get_vara
44
45PROGS     = $(C_SRCS:.c=)
46OBJS      = $(C_SRCS:.c=.o)
47
48GARBAGE      = $(PROGS) *.nc
49
50PACKING_LIST = $(C_SRCS) depend Makefile.in
51
52all: $(PROGS)
53
54install:
55
56uninstall:
57
58collective_write: collective_write.o $(LIBRARY)
59	$(LINK.c) $< $(LDFLAGS) $(LIBS)
60
61nonblocking_write: nonblocking_write.o $(LIBRARY)
62	$(LINK.c) $< $(LDFLAGS) $(LIBS)
63
64nonblocking_write_in_def: nonblocking_write_in_def.o $(LIBRARY)
65	$(LINK.c) $< $(LDFLAGS) $(LIBS)
66
67get_info: get_info.o $(LIBRARY)
68	$(LINK.c) $< $(LDFLAGS) $(LIBS)
69
70column_wise: column_wise.o $(LIBRARY)
71	$(LINK.c) $< $(LDFLAGS) $(LIBS)
72
73block_cyclic: block_cyclic.o $(LIBRARY)
74	$(LINK.c) $< $(LDFLAGS) $(LIBS)
75
76put_vara: put_vara.o $(LIBRARY)
77	$(LINK.c) $< $(LDFLAGS) $(LIBS)
78
79mput: mput.o $(LIBRARY)
80	$(LINK.c) $< $(LDFLAGS) $(LIBS)
81
82hints: hints.o $(LIBRARY)
83	$(LINK.c) $< $(LDFLAGS) $(LIBS)
84
85flexible_api: flexible_api.o $(LIBRARY)
86	$(LINK.c) $< $(LDFLAGS) $(LIBS)
87
88put_varn_int: put_varn_int.o $(LIBRARY)
89	$(LINK.c) $< $(LDFLAGS) $(LIBS)
90
91put_varn_float: put_varn_float.o $(LIBRARY)
92	$(LINK.c) $< $(LDFLAGS) $(LIBS)
93
94create_open: create_open.o $(LIBRARY)
95	$(LINK.c) $< $(LDFLAGS) $(LIBS)
96
97global_attributes: global_attributes.o $(LIBRARY)
98	$(LINK.c) $< $(LDFLAGS) $(LIBS)
99
100get_vara: get_vara.o $(LIBRARY)
101	$(LINK.c) $< $(LDFLAGS) $(LIBS)
102
103transpose: transpose.o $(LIBRARY)
104	$(LINK.c) $< $(LDFLAGS) $(LIBS)
105
106vard_int: vard_int.o $(LIBRARY)
107	$(LINK.c) $< $(LDFLAGS) $(LIBS)
108
109i_varn_int64: i_varn_int64.o $(LIBRARY)
110	$(LINK.c) $< $(LDFLAGS) $(LIBS)
111
112bput_varn_uint: bput_varn_uint.o $(LIBRARY)
113	$(LINK.c) $< $(LDFLAGS) $(LIBS)
114
115bput_varn_int64: bput_varn_int64.o $(LIBRARY)
116	$(LINK.c) $< $(LDFLAGS) $(LIBS)
117
118fill_mode: fill_mode.o $(LIBRARY)
119	$(LINK.c) $< $(LDFLAGS) $(LIBS)
120
121ghost_cell: ghost_cell.o $(LIBRARY)
122	$(LINK.c) $< $(LDFLAGS) $(LIBS)
123
124req_all: req_all.o $(LIBRARY)
125	$(LINK.c) $< $(LDFLAGS) $(LIBS)
126
127TEST_MPIRUN_4  = $(subst NP,4,$(TEST_MPIRUN))
128TEST_MPIRUN_8  = $(subst NP,8,$(TEST_MPIRUN))
129TEST_MPIRUN_3  = $(subst NP,3,$(TEST_MPIRUN))
130
131ptest4: $(PROGS)
132	@for i in $(PROGS); do { \
133        $(TEST_MPIRUN_4) ./$$i -q $(TEST_OUTDIR)/testfile.nc ; \
134        if [ $$? = 0 ] ; then \
135           echo "PASS:  C  parallel run on 4 processes --------------- $$i"; \
136        else \
137           echo "FAILED:  C  parallel run on 4 processes ------------- $$i"; \
138	   exit 1; \
139        fi ; } ; done
140
141ptest8: $(PROGS)
142	@for i in $(PROGS); do { \
143        $(TEST_MPIRUN_8) ./$$i -q $(TEST_OUTDIR)/testfile.nc ; \
144        if [ $$? = 0 ] ; then \
145           echo "PASS:  C  parallel run on 8 processes --------------- $$i"; \
146        else \
147           echo "FAILED:  C  parallel run on 8 processes ------------- $$i"; \
148	   exit 1; \
149        fi ; } ; done
150
151ptest3: $(PROGS)
152	@for i in $(PROGS) ; do { \
153        $(TEST_MPIRUN_3) ./$$i -q $(TEST_OUTDIR)/testfile.nc ; \
154        if [ $$? = 0 ] ; then \
155           echo "PASS:  C  parallel run on 3 processes --------------- $$i"; \
156        else \
157           echo "FAILED:  C  parallel run on 3 processes ------------- $$i"; \
158	   exit 1; \
159        fi ; } ; done
160
161ptest: ptest4
162ptests: ptest3 ptest4 ptest8
163ptest2 ptest6 ptest10:
164
165include $(srcdir)/depend
166include $(srcdir)/../../rules.make
167
168$(LIBRARY): ;
169
170