fe3ca0f442c518b266afa9818f0ce2979cbd68f0
[charm.git] / src / scripts / Makefile
1 #############################################################################
2 #
3 # This one Makefile serves all of converse and charm.  It includes
4 # rules for building:
5 #
6 #     * The CONVERSE libraries
7 #     * The CHARM libraries
8 #     * The CHARM++ libraries
9 #     * The CHARM translator
10 #     * The CHARM++ translator
11
12 # This Makefile is common to all machines.  This works because the charmc
13 # is smart enough to "conceal" the differences between machines.  charmc
14 # gets its smarts by reading the conv-mach.csh configuration file.
15 #
16 # If you wish to compile with debugging, optimization, or some other charm
17 # option, you can do so by setting OPTS.  For example, if you need a lot
18 # of debugging information, you could type:
19 #
20 #     make charm OPTS="-g -save -verbose"
21 #
22 ###############################################################################
23
24 SHELL=/bin/sh
25
26 all: charm++ smsg pvm
27
28 charm: converse charmxlat charmlibs libcharm
29
30 charm++: converse charmxlat charmlibs charmxlat++ charmfilter++ charmxi libcharm libck-cplus-y.a libck-defmain-cpp.a
31
32 smsg: converse libsimplemsg.a
33
34 pvm: converse libpvmc.a
35
36 translators: charmxlat charmfilter charmxlat++ charmfilter++ charmxi conv-cpm
37
38 test-all: all
39         (cd ../pgms ; make test-all)
40
41 test-converse: converse
42         (cd ../pgms ; make test-converse)
43
44 test-charm: charm
45         (cd ../pgms ; make test-charm)
46
47 test-charm++: charm++
48         (cd ../pgms ; make test-charm++)
49
50 CHARMC=../bin/charmc $(CHARMOPTS) $(OPTS)
51
52
53 ###############################################################################
54 #
55 # The basics (bin, lib, include, headers, charmc, conv-mach.csh)
56 #
57 ###############################################################################
58
59 ALLHEADERS=acc.h c++interface.h chare.h ckdefs.h common.h communication.h condsend.h const.h cpthreads.h dagger.h dtable.h env_macros.h globals.h mono.h msg_macros.h prio_macros.h qd.h stat.h sys_macros.h table.h tbl.h trans_decls.h trans_defs.h trans_externs.h user_macros.h vid.h wrtone.h converse.h conv-mach.h internal.h quiescence.h simplemsg.h trace.h dag.h generic_redn.h pvmc.h pvm3.h # pglib.h
60
61 ALLINTERFACES=GENERIC-ACC.int GENERIC-HIST.int GENERIC-REDN.int barrier_redn.int cache.int dacc_count.int dacc_hist.int dcountredn.int dmaxredn.int dminredn.int dprodredn.int dsumredn.int facc_count.int facc_hist.int fcountredn.int fmaxredn.int fminredn.int fprodredn.int fsumredn.int iacc_count.int iacc_hist.int icountredn.int imaxredn.int iminredn.int iprodredn.int isumredn.int pg.int
62
63 basics: dirs+sources $(ALLHEADERS) $(ALLINTERFACES) charmc conv-mach.csh
64         rm -rf ../include
65         mkdir ../include
66         cp $(ALLHEADERS) ../include/
67         cp $(ALLINTERFACES) ../include/
68         rm -f ../bin/charmc ; cp charmc ../bin/
69         chmod 755 ../bin/charmc
70         cp conv-mach.csh ../include/
71         touch basics
72
73 dirs+sources:
74         @rm -f .vdir .gdir
75         @(cd .. ; basename `pwd`)                       > .vdir
76         @(cd .. ; basename `pwd` | sed -e 's@-.*@@')    > .gdir
77         @echo
78         @echo 'Gathering source code.'
79         @echo
80         find . -type l -exec rm {} \;
81         rm -rf ../bin ; mkdir ../bin
82         rm -rf ../lib ; mkdir ../lib
83         rm -rf ../src ; mkdir ../src
84         rm -rf ../pgms
85         ../../src/Common/scripts/gatherflat ../../src/Common/scripts .
86         ./gatherflat ../../src/Common/conv-core        .
87         ./gatherflat ../../src/Common/ck-core          .
88         ./gatherflat ../../src/Common/ck-ldb           .
89         ./gatherflat ../../src/Common/ck-perf          .
90         ./gatherflat ../../src/Common/langs/simplemsg  .
91         ./gatherflat ../../src/Common/langs/pvmc       .
92         ./gatherflat ../../src/Common/lib-acc          .
93         ./gatherflat ../../src/Common/lib-misc         .
94         ./gatherflat ../../src/Common/lib-redn         .
95         ./gatherflat ../../src/Common/xlat             .
96         ./gatherflat ../../src/Common/xlat++           .
97         ./gatherflat ../../src/Common/xlat-i           .
98         ./gatherflat ../../src/Common/xlatcpm          .
99         ./gathertree ../../src/QuickThreads QuickThreads
100         ./gatherflat ../../src/Common.`cat .gdir`      .
101         ./gatherflat ../../src/`cat .vdir`             .
102         ./gathertree ../../src/Common/langs   ../src/langs
103         ./gathertree ../../src/Common/xlat    ../src/xlat
104         ./gathertree ../../src/Common/xlat++  ../src/xlat++
105         ./gathertree ../../src/Common/xlat-i  ../src/xlat-i
106         ./gathertree ../../src/Common/xlatcpm ../src/xlatcpm
107         ./gathertree ../../pgms ../pgms
108         ln -s ../../src/Common/scripts/Makefile ../src
109         @echo
110         @echo
111         @rm -f .vdir .gdir
112         touch dirs+sources
113
114
115 ###############################################################################
116 #
117 # Converse Libraries
118 #
119 ###############################################################################
120
121 CVHEADERS=converse.h conv-mach.h conv-mach.csh
122
123 CVLIBS=libconv-core.a libconv-cplus-n.a libconv-cplus-y.a libldb-rand.o libtrace-none.a libtrace-summary.a libtrace-projections.a
124
125 LIBCONV_CORE=threads.o convcore.o conv-conds.o spantree.o queueing.o fifo.o msgmgr.o memory.o cpm.o cpthreads.o futures.o ldbcfns.o
126
127 converse: basics QuickThreads/libqt.a $(CVLIBS) conv-host-if-needed conv-cpm
128
129 conv-host-if-needed:
130         if [ -f conv-host.c ] ; then make conv-host OPTS='$(OPTS)' ; fi
131
132 QuickThreads/libqt.a:
133         csh -fc 'source conv-mach.csh;cd QuickThreads;./configure $$CMK_QT'
134         cd QuickThreads ; make qt
135         cp QuickThreads/libqt.a ../lib
136
137 conv-host: conv-host.c
138         ../bin/charmc -cp ../bin -seq -DNOTIFY -o conv-host-notify conv-host.c
139         ../bin/charmc -cp ../bin -seq -DSILENT -o conv-host-silent conv-host.c
140         cp conv-host-notify conv-host
141         cp conv-host ../bin/conv-host
142
143 libconv-core.a: $(LIBCONV_CORE)
144         $(CHARMC) -cp ../lib/ -o $@ $(LIBCONV_CORE)
145
146 libconv-cplus-y.a: machine.c $(CVHEADERS)       
147         $(CHARMC) -cp ../lib/ -o $@ -DFOR_CPLUS=1 machine.c
148
149 libconv-cplus-n.a: machine.c $(CVHEADERS)
150         $(CHARMC) -cp ../lib/ -o $@ -DFOR_CPLUS=0 machine.c
151
152 cpm.o: cpm.c $(CVHEADERS)
153         $(CHARMC) cpm.c
154
155 fifo.o: fifo.c $(CVHEADERS)
156         $(CHARMC) fifo.c
157
158 threads.o: threads.c $(CVHEADERS)
159         $(CHARMC) -IQuickThreads threads.c
160
161 spantree.o: spantree.c $(CVHEADERS)
162         $(CHARMC) spantree.c
163
164 convcore.o: convcore.c $(CVHEADERS)
165         $(CHARMC) convcore.c
166
167 queueing.o: queueing.c $(CVHEADERS)
168         $(CHARMC) queueing.c
169
170 conv-conds.o: conv-conds.c $(CVHEADERS)
171         $(CHARMC) conv-conds.c
172
173 futures.o: futures.c $(CVHEADERS)
174         $(CHARMC) futures.c
175
176 msgmgr.o: msgmgr.c $(CVHEADERS)
177         $(CHARMC) msgmgr.c
178
179 cpthreads.o: cpthreads.c $(CVHEADERS)
180         $(CHARMC) cpthreads.c
181
182 memory.o: memory.c $(CVHEADERS)
183         $(CHARMC) memory.c
184
185 ldbcfns.o: ldbcfns.c $(CVHEADERS)
186         $(CHARMC) ldbcfns.c
187
188 libldb-rand.o: ldb.rand.c $(CVHEADERS)
189         $(CHARMC) -cp ../lib/ -o $@ ldb.rand.c
190
191
192 ###############################################################################
193 #
194 # Charm Libraries
195 #
196 ###############################################################################
197
198 CKHEADERS=chare.h const.h msg_macros.h prio_macros.h env_macros.h globals.h\
199           sys_macros.h communication.h trace.h $(CVHEADERS)
200
201 CK_LIBS_CORE=libck-core.a
202
203 CK_LIBS_LDB=libldb-acwn.o libldb-mngr.o
204
205 CK_LIBS_CPLUS=libck-cplus-n.a libck-defmain-std.a
206
207 CK_LIBS=$(CK_LIBS_CORE) $(CK_LIBS_LDB) $(CK_LIBS_CPLUS)
208
209 LIBCK_CORE=common.o globals.o init.o register.o boc.o condsend.o qd.o vid.o rdonly.o stat.o wrtone.o acc.o mono.o tbl.o memstuff.o ck.o main.o
210
211 charmlibs: converse $(CK_LIBS)
212
213 libck-core.a: $(LIBCK_CORE)
214         $(CHARMC) -cp ../lib/ -o $@ $(LIBCK_CORE)
215
216 LIBTRACE_NONE=trace-none.o
217 libtrace-none.a: $(LIBTRACE_NONE)
218         $(CHARMC) -cp ../lib/ -o $@ $(LIBTRACE_NONE)
219
220 LIBTRACE_SUMMARY=trace-summary.o traceio.o
221 libtrace-summary.a: $(LIBTRACE_SUMMARY)
222         $(CHARMC) -cp ../lib/ -o $@ $(LIBTRACE_SUMMARY)
223
224 LIBTRACE_PROJ=trace-projections.o traceio.o
225 libtrace-projections.a: $(LIBTRACE_PROJ)
226         $(CHARMC) -cp ../lib/ -o $@ $(LIBTRACE_PROJ)
227
228 libldb-acwn.o: ldb.acwn.p ldb.h $(CKHEADERS)
229         $(CHARMC) -cp ../lib/ -o $@ ldb.acwn.p
230
231 libldb-mngr.o: ldb.mngr.p ldb.h $(CKHEADERS)
232         $(CHARMC) -cp ../lib/ -o $@ ldb.mngr.p
233
234 libck-cplus-n.a: dummy.cplus.c $(CKHEADERS)
235         $(CHARMC) -cp ../lib/ -o $@ dummy.cplus.c
236
237 libck-defmain-std.a: defmain-std.c $(CKHEADERS)
238         $(CHARMC) -cp ../lib/ -o $@ defmain-std.c
239
240 common.o: common.c $(CKHEADERS)
241         $(CHARMC) -o common.o common.c
242
243 globals.o: globals.c $(CKHEADERS)
244         $(CHARMC) -o globals.o globals.c
245
246 register.o: register.c $(CKHEADERS)
247         $(CHARMC) -o register.o register.c
248
249 init.o: init.c $(CKHEADERS)
250         $(CHARMC) -o init.o init.c
251
252 boc.o: boc.c $(CKHEADERS)
253         $(CHARMC) -o boc.o boc.c
254
255 condsend.o: condsend.c condsend.h $(CKHEADERS)
256         $(CHARMC) -o condsend.o condsend.c
257
258 qd.o: qd.c qd.h $(CKHEADERS)
259         $(CHARMC) -o qd.o qd.c
260
261 vid.o: vid.c vid.h $(CKHEADERS)
262         $(CHARMC) -o vid.o vid.c
263
264 stat.o: stat.c stat.h $(CKHEADERS)
265         $(CHARMC) -o stat.o stat.c
266
267 rdonly.o: rdonly.c $(CKHEADERS)
268         $(CHARMC) -o rdonly.o rdonly.c
269
270 acc.o: acc.c acc.h $(CKHEADERS)
271         $(CHARMC) -o acc.o acc.c
272
273 mono.o: mono.c mono.h $(CKHEADERS)
274         $(CHARMC) -o mono.o mono.c
275
276 tbl.o: tbl.c tbl.h $(CKHEADERS)
277         $(CHARMC) -o tbl.o tbl.c
278
279 wrtone.o: wrtone.c wrtone.h $(CKHEADERS)
280         $(CHARMC) -o wrtone.o wrtone.c
281
282 memstuff.o: memstuff.c $(CKHEADERS)
283         $(CHARMC) -o memstuff.o memstuff.c
284
285 main.o: main.c $(CKHEADERS)
286         $(CHARMC) -o main.o main.c
287
288 ck.o: ck.c $(CKHEADERS)
289         $(CHARMC) -o ck.o ck.c
290
291 traceio.o : traceio.c trace.h $(CKHEADERS)
292         $(CHARMC) -o traceio.o traceio.c
293
294 trace-none.o : trace-none.c trace.h $(CKHEADERS)
295         $(CHARMC) -o trace-none.o trace-none.c
296
297 trace-summary.o : trace-summary.c trace.h $(CKHEADERS)
298         $(CHARMC) -o trace-summary.o trace-summary.c
299
300 trace-record.o : trace-record.c trace.h $(CKHEADERS)
301         $(CHARMC) -o trace-record.o trace-record.c
302
303 trace-replay.o : trace-replay.c trace.h $(CKHEADERS)
304         $(CHARMC) -o trace-replay.o trace-replay.c
305
306 trace-projections.o : trace-projections.c trace.h $(CKHEADERS)
307         $(CHARMC) -o trace-projections.o trace-projections.c
308
309 ###############################################################################
310 #
311 # C++ code for the charm++ runtime library.
312 #
313 ###############################################################################
314
315 ckfutures.o: ckfutures.C ckfutures.ci c++interface.h $(CKHEADERS)
316         $(CHARMC) ckfutures.ci
317         $(CHARMC) -c ckfutures.C
318
319 cplus.o: cplus.C c++interface.h $(CKHEADERS)
320         $(CHARMC) -o cplus.o cplus.C
321
322 libck-cplus-y.a: cplus.o ckfutures.o 
323         $(CHARMC) -cp ../lib/ -o $@ cplus.C ckfutures.o
324
325 libck-defmain-cpp.a: defmain-cpp.C $(CKHEADERS)
326         $(CHARMC) -cp ../lib/ -o $@ defmain-cpp.C
327
328 ###############################################################################
329 #
330 # libcharm
331 #
332 ###############################################################################
333
334 GENERIC_ACC_H=GENERIC-ACC.int GENERIC-ACC.p $(CKHEADERS)
335 GENERIC_HIST_H=GENERIC-HIST.int GENERIC-HIST.p $(CKHEADERS)
336 GENERIC_REDN_H=GENERIC-REDN.int GENERIC-REDN.p $(CKHEADERS)
337
338 LIBCHARM=cache.o dag.o barrier_redn.o pglib.o \
339          iacc_count.o facc_count.o dacc_count.o \
340          iacc_hist.o facc_hist.o dacc_hist.o \
341          iminredn.o imaxredn.o isumredn.o iprodredn.o icountredn.o \
342          fminredn.o fmaxredn.o fsumredn.o fprodredn.o \
343          dminredn.o dmaxredn.o dsumredn.o dprodredn.o
344
345
346 libcharm: charmxlat libcharm.a
347
348 libcharm.a: $(LIBCHARM)
349         $(CHARMC) -cp ../lib/ -o $@ $(LIBCHARM)
350
351 pglib.o: pglib.p pglib.h pg.int $(CKHEADERS)
352         $(CHARMC) pglib.p
353
354 cache.o: cache.p cache.int $(CKHEADERS)
355         $(CHARMC) cache.p
356
357 dag.o: dag.c dag.h $(CKHEADERS)
358         $(CHARMC) dag.c
359
360 barrier_redn.o: barrier_redn.p barrier_redn.int $(CKHEADERS)
361         $(CHARMC) barrier_redn.p
362
363 iacc_count.o: iacc_count.int $(GENERIC_ACC_H)
364         $(CHARMC) -o iacc_count.o GENERIC-ACC.p -DHEAD='"iacc_count.int"'
365
366 facc_count.o: facc_count.int $(GENERIC_ACC_H)
367         $(CHARMC) -o facc_count.o GENERIC-ACC.p -DHEAD='"facc_count.int"'
368
369 dacc_count.o: dacc_count.int $(GENERIC_ACC_H)
370         $(CHARMC) -o dacc_count.o GENERIC-ACC.p -DHEAD='"dacc_count.int"'
371
372 iacc_hist.o: iacc_hist.int $(GENERIC_HIST_H)
373         $(CHARMC) -o iacc_hist.o GENERIC-HIST.p -DHEAD='"iacc_hist.int"'
374
375 facc_hist.o: facc_hist.int $(GENERIC_HIST_H)
376         $(CHARMC) -o facc_hist.o GENERIC-HIST.p -DHEAD='"facc_hist.int"'
377
378 dacc_hist.o: dacc_hist.int $(GENERIC_HIST_H)
379         $(CHARMC) -o dacc_hist.o GENERIC-HIST.p -DHEAD='"dacc_hist.int"'
380
381 imaxredn.o: imaxredn.int $(GENERIC_REDN_H)
382         $(CHARMC) -o imaxredn.o GENERIC-REDN.p -DHEAD='"imaxredn.int"'
383
384 iminredn.o: iminredn.int $(GENERIC_REDN_H)
385         $(CHARMC) -o iminredn.o GENERIC-REDN.p -DHEAD='"iminredn.int"'
386
387 isumredn.o: isumredn.int $(GENERIC_REDN_H)
388         $(CHARMC) -o isumredn.o GENERIC-REDN.p -DHEAD='"isumredn.int"'
389
390 iprodredn.o: iprodredn.int $(GENERIC_REDN_H)
391         $(CHARMC) -o iprodredn.o GENERIC-REDN.p -DHEAD='"iprodredn.int"'
392
393 icountredn.o: icountredn.int $(GENERIC_REDN_H)
394         $(CHARMC) -o icountredn.o GENERIC-REDN.p -DHEAD='"icountredn.int"'
395
396 fmaxredn.o: fmaxredn.int $(GENERIC_REDN_H)
397         $(CHARMC) -o fmaxredn.o GENERIC-REDN.p -DHEAD='"fmaxredn.int"'
398
399 fminredn.o: fminredn.int $(GENERIC_REDN_H)
400         $(CHARMC) -o fminredn.o GENERIC-REDN.p -DHEAD='"fminredn.int"'
401
402 fsumredn.o: fsumredn.int $(GENERIC_REDN_H)
403         $(CHARMC) -o fsumredn.o GENERIC-REDN.p -DHEAD='"fsumredn.int"'
404
405 fprodredn.o: fprodredn.int $(GENERIC_REDN_H)
406         $(CHARMC) -o fprodredn.o GENERIC-REDN.p -DHEAD='"fprodredn.int"'
407
408 fcountredn.o: fcountredn.int $(GENERIC_REDN_H)
409         $(CHARMC) -o fcountredn.o GENERIC-REDN.p -DHEAD='"fcountredn.int"'
410
411 dmaxredn.o: dmaxredn.int $(GENERIC_REDN_H)
412         $(CHARMC) -o dmaxredn.o GENERIC-REDN.p -DHEAD='"dmaxredn.int"'
413
414 dminredn.o: dminredn.int $(GENERIC_REDN_H)
415         $(CHARMC) -o dminredn.o GENERIC-REDN.p -DHEAD='"dminredn.int"'
416
417 dsumredn.o: dsumredn.int $(GENERIC_REDN_H)
418         $(CHARMC) -o dsumredn.o GENERIC-REDN.p -DHEAD='"dsumredn.int"'
419
420 dprodredn.o: dprodredn.int $(GENERIC_REDN_H)
421         $(CHARMC) -o dprodredn.o GENERIC-REDN.p -DHEAD='"dprodredn.int"'
422
423 dcountredn.o: dcountredn.int $(GENERIC_REDN_H)
424         $(CHARMC) -o dcountredn.o GENERIC-REDN.p -DHEAD='"dcountredn.int"'
425
426 ###############################################################################
427 #
428 #
429 ###############################################################################
430
431 CHARMXLAT=xl-main.o xl-yacc.tab.o xl-sym.o xl-str.o xl-lex.o xl-lexsp.o xl-rdtok.o xl-parse.o xl-outh.o xl-srch.o xl-dag.o
432
433 charmxlat charmfilter: $(CHARMXLAT) xl-sfspec.o
434         $(CHARMC) -seq -o charmxlat   -cp ../bin/ $(CHARMXLAT)
435         $(CHARMC) -seq -o charmfilter -cp ../bin/ xl-sfspec.o
436
437 xl-main.o: xl-main.c
438         $(CHARMC) -seq xl-main.c
439
440 xl-sym.o: xl-sym.c xl-sym.h
441         $(CHARMC) -seq xl-sym.c
442
443 xl-str.o: xl-str.c
444         $(CHARMC) -seq xl-str.c
445
446 xl-lex.o: xl-lex.c xl-lex.h xl-sym.h
447         $(CHARMC) -seq xl-lex.c
448
449 xl-rdtok.o: xl-rdtok.c xl-lex.h xl-sym.h
450         $(CHARMC) -seq xl-rdtok.c
451
452 xl-parse.o: xl-parse.c xl-lex.h xl-sym.h
453         $(CHARMC) -seq xl-parse.c
454
455 xl-outh.o: xl-outh.c xl-lex.h xl-sym.h
456         $(CHARMC) -seq xl-outh.c
457
458 xl-srch.o: xl-srch.c xl-lex.h xl-sym.h
459         $(CHARMC) -seq xl-srch.c
460
461 xl-dag.o: xl-dag.c
462         $(CHARMC) -seq xl-dag.c
463
464 xl-yacc.tab.o: xl-yacc.tab.c xl-lex.h xl-sym.h
465         $(CHARMC) -seq xl-yacc.tab.c
466
467 xl-lexsp.o: xl-lexsp.c  
468         $(CHARMC) -seq xl-lexsp.c
469
470 xl-sfspec.o: xl-sfspec.c
471         $(CHARMC) -seq xl-sfspec.c
472
473 ###############################################################################
474 #
475 # charmxlat++ and charmfilter++
476 #
477 ###############################################################################
478
479 XPHEADERS=xp-extn.h xp-t.tab.c
480
481 CHARMXLATXX=xp-process.o xp-table.o xp-t.tab.o xp-lexer.o
482
483 charmxlat++: $(CHARMXLATXX) xp-sfilter.o
484         $(CHARMC) -seq -o charmxlat++   -cp ../bin/ $(CHARMXLATXX)
485         $(CHARMC) -seq -o charmfilter++ -cp ../bin/ xp-sfilter.o
486
487 xp-process.o: xp-process.c $(XPHEADERS)
488         $(CHARMC) -seq xp-process.c
489
490 xp-table.o: xp-table.c $(XPHEADERS)
491         $(CHARMC) -seq xp-table.c
492
493 xp-t.tab.o: xp-t.tab.c $(XPHEADERS)
494         $(CHARMC) -seq -DYYDEBUG xp-t.tab.c
495
496 xp-lexer.o: xp-lexer.c $(XPHEADERS)
497         $(CHARMC) -seq xp-lexer.c
498
499 xp-sfilter.o: xp-sfilter.c $(XPHEADERS)
500         $(CHARMC) -seq xp-sfilter.c
501
502 ###############################################################################
503 #
504 # The CPM scanner
505 #
506 ###############################################################################
507
508 conv-cpm: conv-cpm.o
509         $(CHARMC) -seq -o conv-cpm -cp ../bin/ conv-cpm.o
510
511 conv-cpm.o: conv-cpm.c
512         $(CHARMC) -seq conv-cpm.c
513
514 ###############################################################################
515 #
516 # The interface translator
517 #
518 ###############################################################################
519
520 XIHEADERS=xi-symbol.h xi-parse.tab.C
521 CHARMXI=xi-main.o xi-symbol.o xi-generate.o xi-parse.tab.o xi-scan.o
522
523 charmxi: $(CHARMXI)
524         $(CHARMC) -seq -language c++ -cp ../bin/ -o charmxi $(CHARMXI)
525
526 xi-main.o: xi-main.C $(XIHEADERS)
527         $(CHARMC) -seq xi-main.C
528
529 xi-symbol.o: xi-symbol.C $(XIHEADERS)
530         $(CHARMC) -seq xi-symbol.C
531
532 xi-generate.o: xi-generate.C $(XIHEADERS)
533         $(CHARMC) -seq xi-generate.C
534
535 xi-parse.tab.o: xi-parse.tab.C $(XIHEADERS)
536         $(CHARMC) -seq xi-parse.tab.C
537
538 xi-scan.o: xi-scan.C $(XIHEADERS)
539         $(CHARMC) -seq xi-scan.C
540
541 ###############################################################################
542 #
543 # Simple Messaging
544 #
545 ###############################################################################
546
547 libsimplemsg.a: converse simplemsg.c simplemsg.h
548         $(CHARMC) -cp ../lib/ -o $@ simplemsg.c
549
550 ###############################################################################
551 #
552 # PVM
553 #
554 ###############################################################################
555
556 PVMC=pvmc_buf.o pvmc_comm.o pvmc_conv.o pvmc_main.o pvmc_pack.o pvmc_groups.o
557
558 libpvmc.a: converse $(PVMC)
559         $(CHARMC) -cp ../lib -o libpvmc.a $(PVMC)
560
561 pvmc_buf.o: pvmc_buf.c pvmc.h pvm3.h
562         $(CHARMC) -o $@ pvmc_buf.c
563
564 pvmc_conv.o: pvmc_conv.c pvmc.h pvm3.h
565         $(CHARMC) -o $@ pvmc_conv.c
566
567 pvmc_pack.o: pvmc_pack.c pvmc.h pvm3.h
568         $(CHARMC) -o $@ pvmc_pack.c
569
570 pvmc_comm.o: pvmc_comm.c pvmc.h pvm3.h
571         $(CHARMC) -o $@ pvmc_comm.c
572
573 pvmc_groups.o: pvmc_groups.c pvmc.h pvm3.h
574         $(CHARMC) -o $@ pvmc_groups.c
575
576 pvmc_main.o: pvmc_main.c pvmc.h pvm3.h
577         $(CHARMC) -o $@ pvmc_main.c
578
579
580 ###############################################################################
581 #
582 # Make clean
583 #
584 ###############################################################################
585
586 clean:
587         rm -f charmreplay charmxlat charmfilter charmxlat++ charmfilter++
588         rm -f conv-host conv-host-notify conv-host-silent charmxi conv-cpm
589         rm -f TAGS basics cmk_extras core
590         rm -f core *.a
591         rm -f core *.o
592         rm -f core #*#
593         rm -f core *~
594
595 veryclean:
596         rm -rf ../bin
597         rm -rf ../lib
598         rm -rf ../src
599         rm -rf ../pgms
600         rm -rf ../include
601         mv Makefile .Makefile
602         rm -rf [a-z]* [A-Z]*
603         mv .Makefile Makefile
604         rm -rf .[a-z]* .[A-Z]*