source: CIVL/examples/mpi/mpiFeature/Makefile@ 7d77e64

main test-branch
Last change on this file since 7d77e64 was ea777aa, checked in by Alex Wilton <awilton@…>, 3 years ago

Moved examples, include, build_default.properties, common.xml, and README out from dev.civl.com into the root of the repo.

git-svn-id: svn://vsl.cis.udel.edu/civl/trunk@5704 fb995dde-84ed-4084-dfe6-e5aef3e2452c

  • Property mode set to 100644
File size: 10.7 KB
Line 
1CC = cc -std=c11
2CIVL=civl verify -input_mpi_nprocs=3
3COMPARE=civl compare -input_mpi_nprocs=3
4DLOPT=-deadlock=potential
5MPICC=mpicc -std=c11
6MPIEXEC=mpiexec
7ISPCC=ispcc -std=c99
8ISPEXEC=isp
9EXECUTABLES=absolute_dl_bad absolute_dl_good type_match_p2p_bad \
10any_src_bad any_src_good assertion_bad assertion_good collective_match_bad collective_match_good \
11comm_dup_bad comm_dup_good dy_buf_bad dy_buf_good input_branch_bad input_branch_good \
12matmat_mw_bad matmat_mw_good mpithreads_bad mpithreads_good\
13not_single_bad potential_dl_bad rbuf_overflow_bad seq1_bad seq2_bad seq3_bad seq4_bad \
14simple_nb_bad tags_bad type_match_p2p_bad \
15not_single_good potential_dl_good rbuf_overflow_good seq1_good seq2_good seq3_good seq4_good \
16simple_nb_good tags_good type_match_p2p_good
17
18all : absolute_dl any_source assertion collective_match comm_dup\
19matmat_mw mpithreads not_single_path potential_dl rbuf_overflow seq1 \
20seq2 seq3 seq4 simple_nb tags type_match
21
22isp_all : isp_absolute_dl isp_any_source isp_assertion isp_collective_match isp_comm_dup\
23 isp_dy_buf isp_input_branch\
24 isp_matmat_mw isp_mpithreads isp_not_single_path isp_potential_dl isp_rbuf_overflow isp_seq1\
25 isp_seq2 isp_seq3 isp_seq4 isp_simple_nb isp_tags isp_type_match
26
27run_isp: isprun.sh
28 ./$<
29
30run_mop: moprun.sh
31 ./$<
32
33civl_all : civl_absolutedl_bad civl_absolutedl_good civl_any_src_bad civl_any_src_good civl_assertion_bad \
34civl_assertion_good \
35civl_collective_match_bad civl_collective_match_good civl_comm_dup_bad civl_comm_dup_good \
36civl_dy_buf_bad civl_dy_buf_good \
37civl_input_branch_bad civl_input_branch_good civl_matmat_bad civl_matmat_good civl_mpithreads_bad\
38civl_mpithreads_good civl_not_single_bad civl_not_single_good civl_potential_bad civl_potential_good\
39civl_rbuf_overflow_bad civl_rbuf_overflow_good civl_seq1_bad civl_seq1_good civl_seq2_bad civl_seq2_good \
40civl_seq3_bad civl_seq3_good civl_seq4_bad civl_seq4_good civl_tags_bad civl_tags_good \
41civl_type_match_bad civl_type_match_good
42
43################ RUN ################
44absolute_dl: absolute_dl_bad.c absolute_dl_good.c
45 $(MPICC) absolute_dl_bad.c -o absolute_dl_bad
46 $(MPICC) absolute_dl_good.c -o absolute_dl_good
47
48run_absolute_dl: absolute_dl
49 $(MPIEXEC) -n 3 ./absolute_dl_bad
50 $(MPIEXEC) -n 3 ./absolute_dl_good
51
52any_source: any_src_bad.c any_src_good.c
53 $(MPICC) -o any_src_bad any_src_bad.c
54 $(MPICC) -o any_src_good any_src_good.c
55
56run_any_source: any_source
57 $(MPIEXEC) -n 2 ./any_src_bad
58 $(MPIEXEC) -n 2 ./any_src_good
59
60assertion: assertion_bad.c assertion_good.c
61 $(MPICC) assertion_bad.c -o assertion_bad
62 $(MPICC) assertion_good.c -o assertion_good
63
64run_assertion: assertion
65 $(MPIEXEC) -n 3 ./assertion_bad
66 $(MPIEXEC) -n 3 ./assertion_good
67
68collective_match: collective_match_bad.c collective_match_good.c
69 $(MPICC) collective_match_bad.c -o collective_match_bad
70 $(MPICC) collective_match_good.c -o collective_match_good
71
72run_collective_match: collective_match
73 $(MPIEXEC) -n 3 ./collective_match_bad
74 $(MPIEXEC) -n 3 ./collective_match_good
75
76comm_dup: comm_dup_bad.c comm_dup_good.c
77 $(MPICC) -o comm_dup_bad comm_dup_bad.c
78 $(MPICC) -o comm_dup_good comm_dup_good.c
79
80run_comm_dup: comm_dup
81 $(MPIEXEC) -n 3 ./comm_dup_bad
82 $(MPIEXEC) -n 3 ./comm_dup_good
83
84dy_buf: dy_buf_bad.c dy_buf_good.c
85 $(MPICC) -o dy_buf_bad dy_buf_bad.c
86 $(MPICC) -o dy_buf_good dy_buf_good.c
87
88run_dy_buf: dy_buf
89 $(MPIEXEC) -n 3 ./dy_buf_bad
90 $(MPIEXEC) -n 3 ./dy_buf_good
91
92input_branch: input_branch_bad.c input_branch_good.c
93 $(MPICC) -o input_branch_bad input_branch_bad.c
94 $(MPICC) -o input_branch_good input_branch_good.c
95
96run_input_branch: input_branch
97 $(MPIEXEC) -n 3 ./input_branch_bad
98 $(MPIEXEC) -n 3 ./input_branch_good
99
100matmat_mw: matmat_mw_bad.c matmat_mw_good.c
101 $(MPICC) -o matmat_mw_bad matmat_mw_bad.c
102 $(MPICC) -o matmat_mw_good matmat_mw_good.c
103
104run_matmat_mw: matmat_mw
105 $(MPIEXEC) -n 3 ./matmat_mw_bad
106 $(MPIEXEC) -n 3 ./matmat_mw_good
107
108mpithreads: mpithreads_bad.c mpithreads_good.c
109 $(MPICC) -o mpithreads_bad mpithreads_bad.c
110 $(MPICC) -o mpithreads_good mpithreads_good.c
111
112run_mpithreads: mpithreads
113 $(MPIEXEC) -n 2 ./mpithreads_bad
114 $(MPIEXEC) -n 2 ./mpithreads_good
115
116not_single_path: not_single_path_bad.c not_single_path_good.c
117 $(MPICC) -o not_single_bad not_single_path_bad.c
118 $(MPICC) -o not_single_good not_single_path_good.c
119
120run_not_single_path: not_single_path
121 $(MPIEXEC) -n 3 ./not_single_bad
122 $(MPIEXEC) -n 3 ./not_single_good
123
124potential_dl: potential_dl_bad.c potential_dl_good.c
125 $(MPICC) -o potential_dl_bad potential_dl_bad.c
126 $(MPICC) -o potential_dl_good potential_dl_good.c
127
128run_potential_dl: potential_dl
129 $(MPIEXEC) -n -3 ./potential_dl_bad
130 $(MPIEXEC) -n -3 ./potential_dl_good
131
132rbuf_overflow: rbuf_overflow_bad.c rbuf_overflow_good.c
133 $(MPICC) -o rbuf_overflow_bad rbuf_overflow_bad.c
134 $(MPICC) -o rbuf_overflow_good rbuf_overflow_good.c
135
136run_rbuf_overflow: rbuf_overflow
137 $(MPIEXEC) -n 3 ./rbuf_overflow_bad
138 $(MPIEXEC) -n 3 ./rbuf_overflow_good
139
140seq1: seq1_bad.c seq1_good.c
141 $(MPICC) -o seq1_bad seq1_bad.c
142 $(MPICC) -o seq1_good seq1_good.c
143
144run_seq1: seq1
145 $(MPIEXEC) -n 1 ./seq1_bad
146 $(MPIEXEC) -n 1 ./seq1_good
147
148seq2: seq2_bad.c seq2_good.c
149 $(MPICC) -o seq2_bad seq2_bad.c
150 $(MPICC) -o seq2_good seq2_good.c
151
152run_seq2: seq2
153 $(MPIEXEC) -n 2 ./seq2_bad
154 $(MPIEXEC) -n 2 ./seq2_good
155
156seq3: seq3_bad.c seq3_good.c
157 $(MPICC) -o seq3_bad seq3_bad.c
158 $(MPICC) -o seq3_good seq3_good.c
159
160run_seq3: seq3
161 $(MPIEXEC) -n 3 ./seq3_bad
162 $(MPIEXEC) -n 3 ./seq3_good
163
164seq4: seq4_bad.c seq4_good.c
165 $(MPICC) -o seq4_bad seq4_bad.c
166 $(MPICC) -o seq4_good seq4_good.c
167
168run_seq4: seq4
169 $(MPIEXEC) -n 4 ./seq4_bad
170 $(MPIEXEC) -n 4 ./seq4_good
171
172simple_nb: simple_nb_bad.c simple_nb_good.c
173 $(MPICC) -o simple_nb_bad simple_nb_bad.c
174 $(MPICC) -o simple_nb_good simple_nb_good.c
175
176run_simple_nb: simple_nb
177 $(MPIEXEC) -n 3 ./simple_nb_bad
178 $(MPIEXEC) -n 3 ./simple_nb_good
179
180tags: tags_bad.c tags_good.c
181 $(MPICC) -o tags_bad tags_bad.c
182 $(MPICC) -o tags_good tags_good.c
183
184run_tags: tags
185 $(MPIEXEC) -n 3 ./tags_bad
186 $(MPIEXEC) -n 3 ./tags_good
187
188type_match: type_match_p2p_bad.c type_match_p2p_good.c
189 $(MPICC) -o type_match_p2p_bad type_match_p2p_bad.c
190 $(MPICC) -o type_match_p2p_good type_match_p2p_good.c
191
192run_type_match: type_match
193 $(MPIEXEC) -n 3 ./type_match_p2p_bad
194 $(MPIEXEC) -n 3 ./type_match_p2p_good
195################### ISP ######################
196isp_absolute_dl: absolute_dl_bad.c absolute_dl_good.c
197 $(ISPCC) absolute_dl_bad.c -o absolute_dl_bad
198 $(ISPCC) absolute_dl_good.c -o absolute_dl_good
199
200isp_any_source: any_src_bad.c any_src_good.c
201 $(ISPCC) -o any_src_bad any_src_bad.c
202 $(ISPCC) -o any_src_good any_src_good.c
203
204
205isp_assertion: assertion_bad.c assertion_good.c
206 $(ISPCC) assertion_bad.c -o assertion_bad
207 $(ISPCC) assertion_good.c -o assertion_good
208
209isp_collective_match: collective_match_bad.c collective_match_good.c
210 $(ISPCC) collective_match_bad.c -o collective_match_bad
211 $(ISPCC) collective_match_good.c -o collective_match_good
212
213isp_comm_dup: comm_dup_bad.c comm_dup_good.c
214 $(ISPCC) -o comm_dup_bad comm_dup_bad.c
215 $(ISPCC) -o comm_dup_good comm_dup_good.c
216
217isp_dy_buf: dy_buf_bad.c dy_buf_good.c
218 $(ISPCC) -o dy_buf_bad dy_buf_bad.c
219 $(ISPCC) -o dy_buf_good dy_buf_good.c
220
221isp_input_branch: input_branch_bad.c input_branch_good.c
222 $(ISPCC) -o input_branch_bad input_branch_bad.c
223 $(ISPCC) -o input_branch_good input_branch_good.c
224
225isp_matmat_mw: matmat_mw_bad.c matmat_mw_good.c
226 $(ISPCC) -o matmat_mw_bad matmat_mw_bad.c
227 $(ISPCC) -o matmat_mw_good matmat_mw_good.c
228
229isp_mpithreads: mpithreads_bad.c mpithreads_good.c
230 $(ISPCC) -o mpithreads_bad mpithreads_bad.c
231 $(ISPCC) -o mpithreads_good mpithreads_good.c
232
233isp_not_single_path: not_single_path_bad.c not_single_path_good.c
234 $(ISPCC) -o not_single_bad not_single_path_bad.c
235 $(ISPCC) -o not_single_good not_single_path_good.c
236
237isp_potential_dl: potential_dl_bad.c potential_dl_good.c
238 $(ISPCC) -o potential_dl_bad potential_dl_bad.c
239 $(ISPCC) -o potential_dl_good potential_dl_good.c
240
241isp_rbuf_overflow: rbuf_overflow_bad.c rbuf_overflow_good.c
242 $(ISPCC) -o rbuf_overflow_bad rbuf_overflow_bad.c
243 $(ISPCC) -o rbuf_overflow_good rbuf_overflow_good.c
244
245isp_seq1: seq1_bad.c seq1_good.c
246 $(ISPCC) -o seq1_bad seq1_bad.c
247 $(ISPCC) -o seq1_good seq1_good.c
248
249isp_seq2: seq2_bad.c seq2_good.c
250 $(ISPCC) -o seq2_bad seq2_bad.c
251 $(ISPCC) -o seq2_good seq2_good.c
252
253isp_seq3: seq3_bad.c seq3_good.c
254 $(ISPCC) -o seq3_bad seq3_bad.c
255 $(ISPCC) -o seq3_good seq3_good.c
256
257isp_seq4: seq4_bad.c seq4_good.c
258 $(ISPCC) -o seq4_bad seq4_bad.c
259 $(ISPCC) -o seq4_good seq4_good.c
260
261isp_simple_nb: simple_nb_bad.c simple_nb_good.c
262 $(ISPCC) -o simple_nb_bad simple_nb_bad.c
263 $(ISPCC) -o simple_nb_good simple_nb_good.c
264
265isp_tags: tags_bad.c tags_good.c
266 $(ISPCC) -o tags_bad tags_bad.c
267 $(ISPCC) -o tags_good tags_good.c
268
269isp_type_match: type_match_p2p_bad.c type_match_p2p_good.c
270 $(ISPCC) -o type_match_p2p_bad type_match_p2p_bad.c
271 $(ISPCC) -o type_match_p2p_good type_match_p2p_good.c
272
273################### CIVL ###################
274civl_absolutedl_bad: absolute_dl_bad.c
275 $(CIVL) $<
276
277civl_absolutedl_good: absolute_dl_good.c
278 $(CIVL) $<
279
280civl_any_src_bad: any_src_bad.c
281 $(CIVL) $<
282
283civl_any_src_good: any_src_good.c
284 $(CIVL) $<
285
286civl_assertion_bad: assertion_bad.c
287 $(CIVL) $<
288
289civl_assertion_good: assertion_good.c
290 $(CIVL) $<
291
292civl_collective_match_bad: collective_match_bad.c
293 $(CIVL) $<
294
295civl_collective_match_good: collective_match_good.c
296 $(CIVL) $<
297
298civl_comm_dup_bad: comm_dup_bad.c
299 $(CIVL) $<
300
301civl_comm_dup_good: comm_dup_good.c
302 $(CIVL) $<
303
304civl_dy_buf_bad: dy_buf_bad.c
305 $(CIVL) $(DLOPT) $<
306
307civl_dy_buf_good: dy_buf_good.c
308 $(CIVL) $(DLOPT) $<
309
310civl_input_branch_bad: input_branch_bad.c
311 $(CIVL) $<
312
313civl_input_branch_good: input_branch_good.c
314 $(CIVL) $<
315
316civl_matmat_bad: matmat_mw_bad.c
317 $(COMPARE) -impl $< -spec matmat_spec.c
318
319civl_matmat_good: matmat_mw_good.c
320 $(COMPARE) -impl $< -spec matmat_spec.c
321
322civl_mpithreads_bad: mpithreads_bad.c
323 $(CIVL) $<
324
325civl_mpithreads_good: mpithreads_good.c
326 $(CIVL) $<
327
328civl_not_single_bad: not_single_path_bad.c
329 $(CIVL) $<
330
331civl_not_single_good: not_single_path_good.c
332 $(CIVL) $<
333
334civl_potential_bad: potential_dl_bad.c
335 $(CIVL) $(DLOPT) $<
336
337civl_potential_good: potential_dl_good.c
338 $(CIVL) $(DLOPT) $<
339
340civl_rbuf_overflow_bad: rbuf_overflow_bad.c
341 $(CIVL) $<
342
343civl_rbuf_overflow_good: rbuf_overflow_good.c
344 $(CIVL) $<
345
346civl_seq1_bad: seq1_bad.c
347 $(CIVL) $<
348
349civl_seq1_good: seq1_good.c
350 $(CIVL) $<
351
352civl_seq2_bad: seq2_bad.c
353 $(CIVL) $<
354
355civl_seq2_good: seq2_good.c
356 $(CIVL) $<
357
358civl_seq3_bad: seq3_bad.c
359 $(CIVL) $<
360
361civl_seq3_good: seq3_good.c
362 $(CIVL) $<
363
364civl_seq4_bad: seq4_bad.c
365 $(CIVL) $<
366
367civl_seq4_good: seq4_good.c
368 $(CIVL) $<
369
370civl_tags_bad: tags_bad.c
371 $(CIVL) $<
372
373civl_tags_good: tags_good.c
374 $(CIVL) $<
375
376civl_type_match_bad: type_match_p2p_bad.c
377 $(CIVL) $<
378
379civl_type_match_good: type_match_p2p_good.c
380 $(CIVL) $<
381
382
383clean :
384 rm -f $(EXECUTABLES) *~ a.out
385 rm -rf CIVLREP
Note: See TracBrowser for help on using the repository browser.