1 #############################################################################"
3 # This one Makefile serves all of converse and charm. It includes
6 # * The CONVERSE libraries
11 # This Makefile is common to all machines. This works because the charmc
12 # is smart enough to "conceal" the differences between machines. charmc
13 # gets its smarts by reading the conv-mach.sh configuration file.
15 # If you wish to compile with debugging, optimization, or some other charm
16 # option, you can do so by setting OPTS. For example, if you need a lot
17 # of debugging information, you could type:
19 # make charm++ OPTS="-g -save -verbose"
21 ###############################################################################
28 include conv-mach-opt.mak
35 all: charm
++ bigsim LIBS AMPI f90charm TSM SM PVM everylb
37 all-test
: all-test-tests all-test-examples all-test-benchmarks
39 all-test-tests
: bigsim LIBS
40 $(MAKE
) -C ..
/tests
all
42 all-test-examples
: bigsim LIBS
43 $(MAKE
) -C ..
/examples
all
45 all-test-benchmarks
: bigsim LIBS
46 $(MAKE
) -C ..
/benchmarks
all
49 @echo
"$(OPTS)" > OPTS
54 TSM
: converse
$(L
)/libtsm.a
56 SM
: converse
$(L
)/libsm.a
58 PVM
: converse
$(L
)/libpvmc.a
61 $(MAKE
) -C libs
/ck-libs
/amr
all
66 $(MAKE
) -C libs
/ck-libs
/ ParFUM
68 MBLOCK
: AMPI MBLOCKC MBLOCKF
74 AMPI
: charm
++ $(BIGSIM
)
75 $(MAKE
) -C libs
/ck-libs
/ ampi
82 f90charm
: charm
++ $(L
)/libf90charm.a
85 cd
$(L
) ; $(CHARMC
) -standalone
-whole-archive
-c
++stl
-shared
-o libcharm.so
$(LIBCHARM_LIBS
)
91 LIBCHARM_LIBS
= libck.a libconv-core.a libconv-util.a libmemory-default.a libconv-machine.a \
92 libthreads-default.a libconv-partition.a libtmgr.a libhwloc_embedded.a \
93 libldb-rand.a libconv-ldb.a libmoduleGreedyRefineLB.a
95 DEFAULT_LIBS
= completion NDMeshStreamer dummy pythonCCS io ckloop
97 default_libs
: $(DEFAULT_LIBS
)
99 $(DEFAULT_LIBS
) cache pose fftlib liveViz metis
:
100 $(MAKE
) -C libs
/ck-libs
/$@
103 $(MAKE
) -C libs
/conv-libs
/$@
105 ChaNGa
: charm
++ cache liveViz everylb ckloop
115 NDMeshStreamer
: charm-core completion
117 $(L
)/libmpi-mainmodule.a
: mpi-mainmodule.o
122 $(MAKE
) -C topomanager
-f Makefile_charm
124 $(L
)/libckmain.a
: main.o
127 $(L
)/libckmainf.a
: mainf.o
128 -$(CHARMC
) -o
$@
$^ || touch
$@
130 translators
: charmxi conv-cpm
133 $(MAKE
) -C libs
/ck-libs
/multiphaseSharedArrays
136 # make the lib, include
137 $(MAKE
) -C langs
/jade
140 # This should be done offline, since the user does not need to compile
141 # parser files, etc. All they need is the libjade + include files,
142 # antlr.jar, jade.jar, and a few scripts which the jade target takes
145 # make parser.g -> .java files
146 # $(MAKE) -C langs/jade p
147 # make the jade.jar file
148 # $(MAKE) -C ../java/charm/jade
151 TAU_MAKEFILE
=Make.tau
152 include $(TAU_MAKEFILE
) #stub-makefile
154 #builds TAU's trace library
156 echo
"buliding charm trace library with support for TAU."
157 $(MAKE
) $(L
)/libtrace-Tau.a
$(L
)/libtrace-all.a TAU_TRACE_OBJ
=libtrace-Tau.o
159 LIBS
: CONVLIBS CHARMLIBS everylb
160 $(MAKE
) -C libs otherlibs
161 echo
"Built LIBS Successfully"
164 $(MAKE
) -C ..
/tests bgtest
165 $(MAKE
) -C ..
/examples bgtest
166 $(MAKE
) -C ..
/benchmarks bgtest
168 syncfttest causalfttest mpisyncfttest mlogfttest
: charm
++ LIBS
169 $(MAKE
) -C ..
/tests
$@
172 $(MAKE
) -C ..
/tests
test
173 $(MAKE
) -C ..
/examples
test
174 $(MAKE
) -C ..
/benchmarks
test
176 test-tests
: bigsim LIBS
177 $(MAKE
) -C ..
/tests
test
179 test-examples
: bigsim LIBS
180 $(MAKE
) -C ..
/examples
test
182 test-benchmarks
: bigsim LIBS
183 $(MAKE
) -C ..
/benchmarks
test
185 test-converse
: converse
186 $(MAKE
) -C ..
/tests test-converse
187 $(MAKE
) -C ..
/benchmarks test-converse
190 $(MAKE
) -C ..
/tests test-charm
191 $(MAKE
) -C ..
/benchmarks test-charm
194 $(MAKE
) -C ..
/tests test-AMPI
195 $(MAKE
) -C ..
/benchmarks test-AMPI
197 test-tests-converse
: converse
198 $(MAKE
) -C ..
/tests test-converse
200 test-tests-charm
: charm
++
201 $(MAKE
) -C ..
/tests test-charm
203 test-tests-AMPI
: AMPI
204 $(MAKE
) -C ..
/tests test-AMPI
206 test-benchmarks-converse
: converse
207 $(MAKE
) -C ..
/benchmarks test-converse
209 test-benchmarks-charm
: charm
++
210 $(MAKE
) -C ..
/benchmarks test-charm
212 test-benchmarks-AMPI
: AMPI
213 $(MAKE
) -C ..
/benchmarks test-AMPI
216 CHARMC
=..
/bin
/charmc
$(CHARMOPTS
) $(OPTS
)
218 SEQCHARMC
=..
/bin
/charmc
-seq
$(CHARMOPTS
)
220 NATIVECHARMC
=..
/bin
/charmc
-host
$(CHARMOPTS
)
222 CHARMXI
=..
/bin
/charmc
-intrinsic
$(OPTS
)
224 CIDEPENDFILE
= Make.cidepends
225 DEPENDFILE
= Make.depends
227 include $(CIDEPENDFILE
)
228 include $(DEPENDFILE
)
230 CIFILES
= $(wildcard *.ci
)
232 %.ci.stamp
: %.ci ..
/bin
/charmxi
233 $(CHARMXI
) $< && touch
$@
235 # Automatically generated by script Makefile_lb.sh
238 # Build changes for external libraries
241 # GPU manager support
244 ###############################################################################
246 # The basics (bin, lib, include, headers, charmc, conv-mach.sh)
248 ###############################################################################
250 CVHEADERS
=cpthreads.h converse.h conv-trace.h conv-random.h conv-qd.h \
251 msgq.h queueing.h conv-taskQ.h taskqueue.h conv-cpath.h conv-cpm.h persistent.h\
252 trace.h trace-common.h trace-bluegene.h trace-projections.h \
253 trace-simple.h trace-controlPoints.h charm-api.h \
254 conv-ccs.h ccs-client.C ccs-client.h \
255 ccs-server.h ccs-auth.C ccs-auth.h \
256 memory-isomalloc.h debug-conv.h debug-conv
++.h conv-autoconfig.h \
257 conv-common.h conv-config.sh conv-config.h conv-mach.h conv-mach.sh conv-mach-common.h \
258 blue.h blue-conv.h bgconverse.h cmipool.h mempool.h cmiqueue.h \
259 cmitls.h lrtslock.h conv-rdma.h lrts-common.h conv-header.h
261 # The .c files are there to be #included by clients whole
262 # This is a bit unusual, but makes client linking simpler.
263 UTILHEADERS
=pup.h pupf.h pup_c.h pup_stl.h pup_mpi.h pup_toNetwork.h pup_toNetwork4.h pup_paged.h pup_cmialloc.h\
265 ckimage.h ckdll.h ckhashtable.h ckbitvector.h cklists.h ckliststring.h \
266 cksequence.h ckstatistics.h ckvector3d.h conv-lists.h ckcomplex.h \
267 sockRoutines.h sockRoutines.C cmimemcpy.h simd.h SSE-Double.h SSE-Float.h \
268 crc32.h ckBIconfig.h rand48_replacement.h ckregex.h spanningTree.h cmirdmautils.h
270 CKHEADERS
=ck.h ckstream.h objid.h envelope.h init.h qd.h charm.h charm
++.h \
271 ckfutures.h ckIgetControl.h cktiming.h debug-charm.h\
272 ckcallback.h CkCallback.decl.h ckcallback-ccs.h \
273 cksection.h ckmessage.h cklocrec.h ckmigratable.h \
274 ckarrayindex.h ckarrayoptions.h ckarray.h cklocation.h ckmulticast.h ckreduction.h \
275 ckcheckpoint.h ckmemcheckpoint.h ckevacuation.h ckrdma.h\
276 ckmessagelogging.h ckcausalmlog.h ckobjid.h\
277 ckobjQ.h readonly.h charm
++_type_traits.h \
279 waitqd.h LBDatabase.h MetaBalancer.h RandomForestModel.h lbdb.h lbdb
++.h LBProfit.h
$(LBHEADERS
) \
280 LBDBManager.h LBComm.h LBOM.h LBObj.h LBMachineUtil.h LBAgent.h \
281 RefinerTemp.h Refiner.h RefinerApprox.h RefinerComm.h ckgraphTemp.h ckgraph.h ckheap.h \
282 elements.h CommLBHeap.h topology.h manager.h \
283 BaseLB.h CentralLB.h CentralLBMsg.h \
284 NborBaseLB.h DistBaseLB.h HybridBaseLB.h HybridLBMsg.h \
286 BlueGene.h middle.h middle-conv.h middle-blue.h \
287 CkMarshall.decl.h CkArray.decl.h CkLocation.decl.h CkMulticast.decl.h \
290 CkFutures.decl.h CkCheckpoint.decl.h CkCheckpointStatus.decl.h CkMemCheckpoint.decl.h \
291 LBDatabase.decl.h MetaBalancer.decl.h CentralLB.decl.h NullLB.decl.h \
293 NborBaseLB.decl.h DistBaseLB.decl.h \
294 HybridBaseLB.decl.h EveryLB.decl.h CommonLBs.decl.h \
295 TraceSummary.decl.h TraceAutoPerf.decl.h TraceProjections.decl.h \
296 TraceSimple.decl.h TraceControlPoints.decl.h TraceTau.decl.h \
297 TraceUtilization.decl.h BlueGene.decl.h \
298 ControlPoints.decl.h PathHistory.decl.h \
299 pathHistory.h envelope-path.h \
300 XArraySectionReducer.h \
301 controlPoints.h controlPointsf.h arrayRedistributor.h cp_effects.h register.h stats.h \
302 cksequence_internal.h cksequence_factory.h random_sequence.h strided_sequence.h \
303 mpi-interoperate.h mpi_main.decl.h \
304 trace-perf.h picsdefs.h picsautoperf.h picstreenode.h \
306 picsautoperfAPI.h picsautoperfAPIC.h \
309 BLUE_HEADERS
= blue_types.h bigsim_timing.h blue_defs.h bigsim_logs.h blue.h blue_impl.h bigsim_network.h bigsim_record.h bigsim_ooc.h bigsim_debug.h shared-alloc.h
311 ALLHEADERS
=$(CKHEADERS
) \
312 simplemsg.h sm.h pvmc.h pvm3.h sdag.h vector2d.h \
313 bitvecset.h ckset.h LBSimulation.h \
319 # Headers is used only for the dependencies
320 headers
: dirs
+sources
321 $(MAKE
) -C topomanager
-f Makefile_charm headers
325 configure
: Makefile.am configure.ac
328 conv-autoconfig.h.in
: configure.ac
331 conv-autoconfig.h
: configure conv-autoconfig.h.in config_opts.sh
332 @. .
/config_opts.sh
; echo .
/configure
$(QUIET
) $$CONFIG_OPTS; \
333 .
/configure
$(QUIET
) $$CONFIG_OPTS && touch conv-autoconfig.h
335 .PHONY
: clean veryclean VERSION.new config
338 SRCBASE
=$(SRCBASE
) .
/commitid.sh
341 echo
"extern const char * const CmiCommitID;" > $@
342 echo
"const char * const CmiCommitID = \"`cat VERSION`\";" >> $@
343 commitid.o
: CC
=$(CHARMC
)
345 headerlinks
: dirs
+sources Makefile
$(ALLHEADERS
)
346 @
[ "x$QUIET" = "x--quiet" ] || echo
"Soft-linking headers..."
347 -for hdr in
$(filter-out dirs
+sources Makefile
,$(sort $^
)) ; do
test ! -f
"../include/`basename $$hdr`" && .
/system_ln
"../tmp/$$hdr" ..
/include ; done
352 find .
-type l
-exec
rm {} \
;
356 rm -rf ..
/bin
; mkdir ..
/bin
357 if case
$(CMK_VDIR
) in
*win64
*) true
;; *-win-
*) true
;; *) false
;; esac
; then \
358 cp
-f
$(SRCBASE
)/arch
/win
/unix2nt
* ..
/bin
; \
359 cp
-f
$(SRCBASE
)/arch
/win
/createlink.exe ..
/bin
; \
361 rm -rf ..
/lib
; mkdir ..
/lib
362 ifeq (false
,$(CMK_NO_BUILD_SHARED
))
363 rm -rf ..
/lib_so
; mkdir ..
/lib_so
; touch ..
/lib_so
/.charmso
368 $(SRCBASE
)/scripts
/gatherflat
$(SRCBASE
)/scripts .
369 .
/gatherflat
$(SRCBASE
)/conv-core .
370 .
/gatherflat
$(SRCBASE
)/conv-ldb .
371 .
/gatherflat
$(SRCBASE
)/conv-ccs .
372 .
/gatherflat
$(SRCBASE
)/conv-perf .
373 .
/gatherflat
$(SRCBASE
)/ck-core .
374 .
/gatherflat
$(SRCBASE
)/ck-perf .
375 .
/gatherflat
$(SRCBASE
)/ck-pics .
376 .
/gatherflat
$(SRCBASE
)/ck-ldb .
377 .
/gatherflat
$(SRCBASE
)/ck-cp .
378 .
/gatherflat
$(SRCBASE
)/langs
/simplemsg .
379 .
/gatherflat
$(SRCBASE
)/langs
/pvmc .
380 .
/gatherflat
$(SRCBASE
)/langs
/bluegene .
381 .
/gatherflat
$(SRCBASE
)/langs
/f90charm .
382 .
/gatherflat
$(SRCBASE
)/xlatcpm .
383 .
/gathertree
$(SRCBASE
)/QuickThreads QuickThreads
384 .
/gathertree
$(SRCBASE
)/..
/contrib
/hwloc hwloc
385 .
/gathertree
$(SRCBASE
)/libs libs
386 .
/gathertree
$(SRCBASE
)/arch
/util .
387 .
/gathertree
$(SRCBASE
)/util .
388 .
/gathertree
$(SRCBASE
)/langs langs
389 .
/gathertree
$(SRCBASE
)/langs
/jade langs
/jade
390 .
/gathertree
$(SRCBASE
)/arch
/common .
391 .
/gathertree
$(SRCBASE
)/arch
/$(CMK_GDIR
) .
392 test -f
$(SRCBASE
)/arch
/$(CMK_GDIR
)/gdir_link
&& cat
$(SRCBASE
)/arch
/$(CMK_GDIR
)/gdir_link
> .gdir.new
&& .
/gathertree
$(SRCBASE
)/arch
/`cat .gdir.new` . || true
393 .
/gatherflat
$(SRCBASE
)/arch
/$(CMK_VDIR
) .
394 .
/gathertree
$(SRCBASE
)/..
/benchmarks ..
/benchmarks
395 .
/gathertree
$(SRCBASE
)/..
/examples ..
/examples
396 .
/gathertree
$(SRCBASE
)/..
/tests ..
/tests
397 rm -f ..
/bin
/dep.pl
; cp dep.pl ..
/bin
/
399 -.
/system_ln ..
/tmp
/charmc ..
/bin
/
400 -.
/system_ln
$(SRCBASE
)/scripts
/testrun ..
/bin
/
401 -.
/system_ln ..
/tmp
/tree.txt ..
/bin
/
402 -.
/system_ln ..
/tmp
/fuzzytree.txt ..
/bin
/
403 # -ln -s ../../java/bin charmjavabin
404 # -ln -s ../../java/bin ../bin/charmjavabin
405 # -ln -s charmjavabin/* ../bin/
407 rm -rf ..
/include ; mkdir ..
/include
408 -.
/system_ln ..
/tmp
/conv-
*.
*h ..
/include
409 -.
/system_ln ..
/tmp
/cc-
*.
*h ..
/include
410 -.
/system_ln ..
/tmp
/conv-mach-opt.sh ..
/include
411 -.
/system_ln ..
/tmp
/conv-mach-opt.mak ..
/include
412 if
[ -x .
/special.sh
] ; then SRCBASE
=$(SRCBASE
) .
/special.sh
; fi
413 if
[ ! -f conv-common.h
] ; then
( touch conv-common.h
) ; fi
416 ###############################################################################
420 ###############################################################################
421 CLBLIBS
=$(L
)/libldb-rand.a
$(L
)/libldb-spray.a
$(L
)/libldb-workstealing.a
$(L
)/libldb-neighbor.a
$(L
)/libldb-none.a
$(L
)/libldb-test.a
$(L
)/libldb-bluegene.a
423 TRACELIBS
= $(L
)/libtrace-converse.a
$(L
)/libtracef_f.a
425 BUILD_TRACING
:= $(CMK_TRACE_ENABLED
)
427 ifneq ($(BUILD_TRACING
),0)
430 $(L
)/libtrace-projections.a \
431 $(L
)/libtrace-controlPoints.a \
432 $(L
)/libtrace-summary.a \
433 $(L
)/libtrace-utilization.a \
434 $(L
)/libtrace-simple.a \
435 $(L
)/libtrace-counter.a \
436 $(L
)/libtrace-bluegene.a \
437 $(L
)/libtrace-projector.a \
438 $(L
)/libtrace-all.a \
439 $(L
)/libtrace-memory.a \
440 $(L
)/libtrace-perfReport.a \
445 $(L
)/libmemory-default.a \
446 $(L
)/libmemory-os.a \
447 $(L
)/libmemory-os-verbose.a \
448 $(L
)/libmemory-os-isomalloc.a \
449 $(L
)/libmemory-os-leak.a \
450 $(L
)/libmemory-os-paranoid.a \
451 $(L
)/libmemory-os-lock.a \
452 $(L
)/libmemory-os-wrapper.a \
454 ifneq ($(CMK_HAS_MMAP
),0)
457 $(L
)/libmemory-gnu.a \
458 $(L
)/libmemory-gnu-verbose.a \
459 $(L
)/libmemory-gnu-paranoid.a \
460 $(L
)/libmemory-gnu-leak.a \
461 $(L
)/libmemory-gnu-isomalloc.a \
465 ifneq ($(CMK_CHARMDEBUG
),0)
466 ifneq ($(CMK_HAS_MMAP
),0)
469 $(L
)/libmemory-gnu-charmdebug.a \
470 $(L
)/libmemory-gnu-charmdebug-mmap.a \
471 $(L
)/libmemory-gnu-charmdebug-slot.a \
472 $(L
)/libmemory-gnu-charmdebug-mmap-slot.a \
473 $(L
)/libmemory-os-charmdebug.a \
475 ifneq ($(CMK_HAS_MALLOC_HOOK
),0)
478 $(L
)/libmemory-hooks-charmdebug.a \
485 ifneq ($(findstring -win64
,$(CMK_VDIR
))$(findstring -win-
,$(CMK_VDIR
)),)
492 $(L
)/libthreads-default.a \
493 $(L
)/libthreads-default-tls.a \
494 $(L
)/libthreads-qt.a \
495 $(L
)/libthreads-qt-tls.a \
496 $(L
)/libthreads-uFcontext.a \
497 $(L
)/libthreads-uFcontext-tls.a \
498 $(L
)/libthreads-stackcopy.a \
500 ifneq ($(IS_WINDOWS
),0)
503 $(L
)/libthreads-fibers.a \
508 $(L
)/libthreads-context.a \
509 $(L
)/libthreads-context-tls.a \
510 $(L
)/libthreads-uJcontext.a \
511 $(L
)/libthreads-uJcontext-tls.a \
512 $(L
)/libthreads-pthreads.a \
513 $(L
)/libthreads-memoryalias.a \
514 $(L
)/libthreads-qt-memoryalias.a \
515 $(L
)/libthreads-context-memoryalias.a \
516 $(L
)/libthreads-uJcontext-memoryalias.a \
520 CVLIBS
=$(L
)/libconv-core.a \
522 $(L
)/libconv-machine.a \
523 $(L
)/libconv-util.a
$(L
)/libconv-utilf.a \
524 $(CLBLIBS
) $(TRACELIBS
) $(MEMLIBS
) $(THREADLIBS
) \
525 $(L
)/libccs-client.a
$(L
)/libconv-partition.a
$(L
)/libhwloc_embedded.a \
528 LIBCONV_CORE
=convcore.o hrctimer.o conv-conds.o conv-taskQ.o queueing.o msgmgr.o \
529 cpm.o cpthreads.o futures.o cldb.o random.o \
530 debug-conv.o debug-conv
++.o conv-ccs.o ccs-builtins.o middle-ccs.o \
531 traceCore.o traceCoreCommon.o \
532 converseProjections.o machineProjections.o \
533 quiescence.o isomalloc.o mem-arena.o conv-counter.o memory-darwin-clang.o \
534 global-nop.o cmipool.o cpuaffinity.o cputopology.o \
535 cmitls.o memoryaffinity.o commitid.o conv-interoperate.o conv-rdma.o \
537 LIBCONV_LDB
= topology.o generate.o edgelist.o
539 LIBCONV_UTIL
=pup_util.o pup_toNetwork.o pup_toNetwork4.o \
540 pup_xlater.o pup_c.o pup_paged.o pup_cmialloc.o \
541 ckimage.o ckdll.o ckhashtable.o sockRoutines.o \
542 conv-lists.o persist-comm.o mempool.o \
543 crc32.o lz4.o partitioning_strategies.o hilbert.o \
544 spanningTree.o cmirdmautils.o
546 LIBCONV_UTILF
=pup_f.o
548 include Makefile.machine
550 converse
: charmrun-target swapglobal-target conv-cpm tmgr hwloc-target
552 cpuaffinity.o
$(L
)/libhwloc_embedded.a
$(INC
)/hwloc.h
$(INC
)/hwloc
/autogen
/config.h
$(INC
)/hwloc
/rename.h
$(INC
)/hwloc
/bitmap.h
$(INC
)/hwloc
/helper.h
$(INC
)/hwloc
/inlines.h
$(INC
)/hwloc
/diff.h
$(INC
)/hwloc
/deprecated.h
: hwloc-target
554 hwloc-target
: conv-autoconfig.h
556 ( test -e hwloc
/src
/.libs
/libhwloc_embedded.lib
&& cp
-f hwloc
/src
/.libs
/libhwloc_embedded.lib hwloc
/src
/.libs
/libhwloc_embedded.a
) || true
557 ( cp
-f hwloc
/src
/.libs
/libhwloc_embedded.a
$(L
) )
558 ( cp
-f hwloc
/include/hwloc.h
$(INC
) )
559 ( cp
-LRf hwloc
/include/hwloc
$(INC
) )
560 ifeq (false
,$(CMK_NO_BUILD_SHARED
))
561 ( test -d ..
/lib_so
&& cp
-f hwloc
/src
/.libs
/libhwloc_embedded.
*$(CMK_SHARED_SUF
)* ..
/lib_so
/ ) || true
565 charmrun-target
: hwloc-target charmrun sockRoutines.C sockRoutines.h ccs-server.C ccs-server.h sockRoutines-seq.o
$(L
)/libck.a
$(L
)/libhwloc_embedded.a
$(CVLIBS
) conv-static.o
566 if
[ -f charmrun
] ; then
( cp
-f charmrun ..
/bin
) ; fi
568 QUICK_THREADS
: $(CVHEADERS
)
569 -( $(MAKE
) -C QuickThreads
clean )
570 ( cd QuickThreads
;.
/configure
)
571 ( $(MAKE
) -C QuickThreads qt OPTS
='$(OPTS) -Wno-error' ) ||
( echo
"Did you try to build netlrts-linux on a 64-bit system? Try netlrts-linux-x86_64" && false
)
572 cp
-f QuickThreads
/libckqt.a ..
/lib
/
573 ifeq (false
,$(CMK_NO_BUILD_SHARED
))
574 -( test -d ..
/lib_so
&& cp
-f QuickThreads
/libckqt.
$(CMK_SHARED_SUF
) ..
/lib_so
/ ) || true
579 $(MAKE
) -C libs convlibs
581 $(L
)/libconv-core.a
: $(LIBCONV_CORE
)
582 $(CHARMC
) $(TAU_LIBS
) -o
$@
$(LIBCONV_CORE
)
584 $(L
)/libconv-partition.a
: custom_partitioner.o set_partition_params.o
587 $(L
)/conv-static.o
: conv-static.o
590 $(L
)/libconv-machine.a
: machine.o
593 machine.o
: machine.C
$(CVHEADERS
)
594 $(CHARMC
) -I.
-o
$@
$<
596 $(L
)/libconv-util.a
: $(LIBCONV_UTIL
)
597 $(CHARMC
) -o
$@
$(LIBCONV_UTIL
)
599 $(L
)/libconv-utilf.a
: $(LIBCONV_UTILF
)
600 -$(CHARMC
) -o
$@
$(LIBCONV_UTILF
) || touch
$@
602 $(L
)/libconv-ldb.a
: $(LIBCONV_LDB
)
605 $(L
)/libccs-client.a
: ccs-client.o
606 $(CHARMC
) -o
$@ ccs-client.o
608 ccs-client.o
: ccs-client.C
$(CVHEADERS
)
609 $(CHARMC
) -DCMK_NOT_USE_CONVERSE
=1 ccs-client.C
611 sockRoutines-seq.o
: sockRoutines.C
$(CVHEADERS
) $(UTILHEADERS
)
612 $(SEQCHARMC
) -DCMK_NOT_USE_CONVERSE
=1 -o sockRoutines-seq.o sockRoutines.C
614 pup_f.f90
: pup_f.f90.sh
615 rm -f pup_f.f90
&& .
/pup_f.f90.sh
617 pup_f.o
: pup_f.f90
$(CVHEADERS
)
618 -$(CHARMC
) -c pup_f.f90
&& $(CHARMC
) -cpmod ..
/include pupmod.M || touch pup_f.o
620 ## Converse load balancers (seed balancers, -balance)
621 $(L
)/libldb-none.a
: cldb.none.C
$(CVHEADERS
)
622 $(CHARMC
) -o
$@ cldb.none.C
624 $(L
)/libldb-rand.a
: cldb.rand.C cldb.h
$(CVHEADERS
)
625 $(CHARMC
) -o
$@ cldb.rand.C
627 $(L
)/libldb-neighbor.a
: cldb.neighbor.C cldb.neighbor.h
$(CVHEADERS
)
628 $(CHARMC
) -o
$@ cldb.neighbor.C
630 $(L
)/libldb-workstealing.a
: cldb.workstealing.C cldb.workstealing.h
$(CVHEADERS
)
631 $(CHARMC
) -o
$@ cldb.workstealing.C
633 $(L
)/libldb-spray.a
: cldb.spray.C
$(CVHEADERS
)
634 $(CHARMC
) -o
$@ cldb.spray.C
637 #$(L)/libldb-prioritycentralized.a: cldb.prioritycentralized.C cldb.prioritycentralized.h $(CVHEADERS)
638 # $(CHARMC) -o $@ cldb.prioritycentralized.C
640 #//$(L)/libldb-prioritycentralizedopt.a: cldb.prioritycentralizedopt.c cldb.prioritycentralizedopt.h $(CVHEADERS)
641 #// $(CHARMC) -o $@ cldb.prioritycentralizedopt.c
643 $(L
)/libldb-test.a
: cldb.
test.C
$(CVHEADERS
)
644 $(CHARMC
) -o
$@ cldb.
test.C
646 $(L
)/libldb-bluegene.a
: cldb.bluegene.C
$(CVHEADERS
)
647 $(CHARMC
) -o
$@ cldb.bluegene.C
649 ## Memory allocation libraries (-memory)
650 MEM_DEPS
=memory-gnu.C memory-gnu-internal.C converse.h conv-mach.h
$(CVHEADERS
)
652 # $1 is the name of the module, $2 is any additional dependency beyond memory.C and $(MEM_DEPS), $3 is extra arguments to charmc
654 $(L
)/libmemory-
$1.a
: memory.C
$(MEM_DEPS
) $2
655 $(CHARMC
) -I.
-o libmemory-
$1.o
$3 $$<
656 $(CHARMC
) -I.
-o
$$@
$3 libmemory-
$1.o
659 $(eval
$(call libmem
,default
, ,-DCMK_MEMORY_BUILD_DEFAULT
))
660 $(eval
$(call libmem
,os
, ,-DCMK_MEMORY_BUILD_OS
))
661 $(eval
$(call libmem
,os-verbose
, memory-verbose.C
, -DCMK_MEMORY_BUILD_OS_WRAPPED
-DCMK_MEMORY_BUILD_VERBOSE
-touch-on-failure
))
662 $(eval
$(call libmem
,os-paranoid
, memory-paranoid.C
, -DCMK_MEMORY_BUILD_OS_WRAPPED
-DCMK_MEMORY_BUILD_PARANOID
-touch-on-failure
))
663 $(eval
$(call libmem
,os-leak
, memory-leak.C
, -DCMK_MEMORY_BUILD_OS_WRAPPED
-DCMK_MEMORY_BUILD_LEAK
-touch-on-failure
))
664 $(eval
$(call libmem
,os-isomalloc
, memory-isomalloc.C
, -DCMK_MEMORY_BUILD_OS_WRAPPED
-DCMK_MEMORY_BUILD_ISOMALLOC
-touch-on-failure
))
665 $(eval
$(call libmem
,os-lock
, memory-lock.C
, -DCMK_MEMORY_BUILD_OS_WRAPPED
-DCMK_MEMORY_BUILD_LOCK
-touch-on-failure
))
666 $(eval
$(call libmem
,os-charmdebug
, memory-charmdebug.C
, -DCMK_MEMORY_BUILD_OS_WRAPPED
-DCMK_MEMORY_BUILD_CHARMDEBUG
-touch-on-failure
))
667 $(L
)/libmemory-os-wrapper.a
: memory-os-wrapper.C
$(MEM_DEPS
)
668 -$(CHARMC
) -o
$@ memory-os-wrapper.C || touch
$@
670 $(eval
$(call libmem
,hooks-charmdebug
,,-DCMK_MEMORY_BUILD_GNU_HOOKS
-DCMK_MEMORY_BUILD_CHARMDEBUG
-touch-on-failure
))
672 # If the system doesn't have sbrk, these compilations may fail.
673 # This is OK, but then we can't use "-memory gnu" or friends.
674 $(eval
$(call libmem
,gnu
, ,-DCMK_MEMORY_BUILD_GNU
-touch-on-failure
))
675 $(eval
$(call libmem
,gnu-verbose
, memory-verbose.C
,-DCMK_MEMORY_BUILD_VERBOSE
-touch-on-failure
))
676 $(eval
$(call libmem
,gnu-paranoid
, memory-paranoid.C
,-DCMK_MEMORY_BUILD_PARANOID
-touch-on-failure
))
677 $(eval
$(call libmem
,gnu-leak
, memory-leak.C
,-DCMK_MEMORY_BUILD_LEAK
-touch-on-failure
))
678 $(eval
$(call libmem
,gnu-isomalloc
, memory-isomalloc.C
,-DCMK_MEMORY_BUILD_ISOMALLOC
-touch-on-failure
))
679 $(eval
$(call libmem
,gnu-charmdebug
, memory-charmdebug.C
,-DCMK_MEMORY_BUILD_CHARMDEBUG
-optimize
-touch-on-failure
))
680 $(eval
$(call libmem
,gnu-charmdebug-slot
, memory-charmdebug.C
,-DCMK_MEMORY_BUILD_CHARMDEBUG
-DCMK_SEPARATE_SLOT
-optimize
-touch-on-failure
))
681 $(eval
$(call libmem
,gnu-charmdebug-mmap
, memory-charmdebug.C
,-DCMK_MEMORY_BUILD_CHARMDEBUG
-DCPD_USE_MMAP
-optimize
-touch-on-failure
))
682 $(eval
$(call libmem
,gnu-charmdebug-mmap-slot
,memory-charmdebug.C
,-DCMK_MEMORY_BUILD_CHARMDEBUG
-DCPD_USE_MMAP
-DCMK_SEPARATE_SLOT
-optimize
-touch-on-failure
))
684 ## Thread libraries (-thread)
686 LIBTHREADSDEPS
= $(CVHEADERS
) QUICK_THREADS
688 # $1 is the name of the module, $2 is any additional dependency beyond threads.C and $(LIBTHREADSDEPS), $3 is extra arguments to charmc, $4 is an option to include 'boost-context'
690 $(L
)/libthreads-
$1.a
: threads.C
$(LIBTHREADSDEPS
) $2
691 $(CHARMC
) -IQuickThreads
-I.
-o libthreads-
$1.o
$3 $$<
692 ifeq (1,$$(strip $4))
693 $(CHARMC
) -IQuickThreads
-I.
-o
$$@
$3 $$(wildcard boost-context
/*.o
) libthreads-
$1.o
695 $(CHARMC
) -IQuickThreads
-I.
-o
$$@
$3 libthreads-
$1.o
700 $(MAKE
) -C boost-context
703 $(eval
$(call libthreads
,default
, uFcontext_asm
,-DCMK_THREADS_BUILD_DEFAULT
=1, 1 ))
704 $(eval
$(call libthreads
,default-tls
, uFcontext_asm
,-DCMK_THREADS_BUILD_DEFAULT
-DCMK_THREADS_BUILD_TLS
=1 -touch-on-failure
, 1 ))
705 $(eval
$(call libthreads
,qt
, ,-DCMK_THREADS_BUILD_QT
=1, 0))
706 $(eval
$(call libthreads
,qt-tls
, ,-DCMK_THREADS_BUILD_QT
=1 -DCMK_THREADS_BUILD_TLS
=1 -touch-on-failure
, 0))
707 $(eval
$(call libthreads
,context
, ,-DCMK_THREADS_BUILD_CONTEXT
=1 -touch-on-failure
, 0))
708 $(eval
$(call libthreads
,context-tls
, ,-DCMK_THREADS_BUILD_CONTEXT
=1 -DCMK_THREADS_BUILD_TLS
=1 -touch-on-failure
, 0))
709 $(eval
$(call libthreads
,uJcontext
, uJcontext.C
,-DCMK_THREADS_BUILD_JCONTEXT
=1 -U_FORTIFY_SOURCE
-touch-on-failure
,0))
710 $(eval
$(call libthreads
,uJcontext-tls
, uJcontext.C
,-DCMK_THREADS_BUILD_JCONTEXT
=1 -DCMK_THREADS_BUILD_TLS
=1 -U_FORTIFY_SOURCE
-touch-on-failure
,0))
711 $(eval
$(call libthreads
,uFcontext
, uFcontext_asm
,-DCMK_THREADS_BUILD_FCONTEXT
=1 -U_FORTIFY_SOURCE
-touch-on-failure
, 1))
712 $(eval
$(call libthreads
,uFcontext-tls
, uFcontext_asm
,-DCMK_THREADS_BUILD_FCONTEXT
=1 -DCMK_THREADS_BUILD_TLS
=1 -U_FORTIFY_SOURCE
-touch-on-failure
, 1))
713 $(eval
$(call libthreads
,pthreads
, ,-DCMK_THREADS_BUILD_PTHREADS
=1 -touch-on-failure
,0))
714 $(eval
$(call libthreads
,fibers
, ,-DCMK_THREADS_BUILD_FIBERS
=1 -touch-on-failure
,0))
715 $(eval
$(call libthreads
,stackcopy
, ,-DCMK_THREADS_BUILD_STACKCOPY
=1 -touch-on-failure
,0))
716 $(eval
$(call libthreads
,memoryalias
, ,-DCMK_THREADS_BUILD_DEFAULT
=1 -DCMK_THREADS_ALIAS_STACK
=1 -touch-on-failure
,0))
717 $(eval
$(call libthreads
,qt-memoryalias
, ,-DCMK_THREADS_BUILD_QT
=1 -DCMK_THREADS_ALIAS_STACK
=1 -touch-on-failure
,0))
718 $(eval
$(call libthreads
,context-memoryalias
, ,-DCMK_THREADS_BUILD_CONTEXT
=1 -DCMK_THREADS_ALIAS_STACK
=1 -touch-on-failure
,0))
719 $(eval
$(call libthreads
,uJcontext-memoryalias
,uJcontext.C
,-DCMK_THREADS_BUILD_JCONTEXT
=1 -DCMK_THREADS_ALIAS_STACK
=1 -U_FORTIFY_SOURCE
-touch-on-failure
,0))
721 ## Global swapping (-swapglobal)
722 swapglobal-target
: $(L
)/libglobal-swap.a
724 $(L
)/libglobal-swap.a
: global-elfgot.C
$(CVHEADERS
)
725 -$(CHARMC
) -c global-elfgot.C
-o
$@ || touch
$@
727 ###############################################################################
731 ###############################################################################
733 CK_LIBS_CORE
=$(L
)/libck.a
735 LIBCK_CORE
=trace-common.o tracec.o tracef.o init.o register.o qd.o ck.o \
736 msgalloc.o ckfutures.o ckIgetControl.o debug-message.o debug-charm.o ckcallback.o \
737 cklocation.o ckmulticast.o ckarrayoptions.o ckarray.o ckreduction.o ckrdma.o\
738 waitqd.o LBDatabase.o MetaBalancer.o weakTest.o treeTest.o forestTest.o readmodel.o lbdb.o lbdbf.o ckobjQ.o \
739 LBAgent.o LBProfit.o ckcheckpoint.o ckmemcheckpoint.o ckevacuation.o ckmessagelogging.o ckcausalmlog.o ckobjid.o\
740 LBDBManager.o LBComm.o LBObj.o LBMachineUtil.o CentralPredictor.o \
741 BaseLB.o CentralLB.o HybridBaseLB.o NborBaseLB.o DistBaseLB.o \
742 ckgraphTemp.o ckgraph.o LButil.o RefinerTemp.o Refiner.o RefinerApprox.o \
743 manager.o RefinerComm.o bitvecset.o ckset.o ckheap.o CommLBHeap.o \
744 NullLB.o LBSimulation.o modifyScheduler.o \
745 charmProjections.o cktiming.o ckbitvector.o \
746 pathHistory.o controlPoints.o arrayRedistributor.o cp_effects.o \
747 trace-controlPoints.o mpi-interoperate.o ckregex.o sdag.o \
749 charm-core
: converse
$(L
)/libck.a
$(L
)/libckf.a
$(L
)/libckmain.a
$(L
)/libckmainf.a
750 charm-target
: loadbalancers default_libs
$(L
)/libmpi-mainmodule.a tmgr
752 CHARMLIBS
: charm
++ CONVLIBS
$(BIGSIM
)
753 $(MAKE
) -C libs charmlibs
755 $(L
)/libck.a
: $(LIBCK_CORE
)
756 $(CHARMC
) -o
$@
$(LIBCK_CORE
)
758 ## Charm fortran AMPI
760 CK_FOR_LIBS_CORE
=$(L
)/libckf.a
762 LIBCKF_CORE
=charmf.o charmmod.o
764 $(L
)/libckf.a
: $(LIBCKF_CORE
)
765 -$(CHARMC
) -o
$@
$(LIBCKF_CORE
) || touch
$@
767 charmf.o
: charmf.C
$(CKHEADERS
) charmf.h
768 $(CHARMC
) -c
-I. charmf.C
770 charmmod.o
: charmmod.f90
771 -$(CHARMC
) -c charmmod.f90 || touch
$@
772 -$(CHARMC
) -cpmod ..
/include charm.M
775 -$(CHARMC
) -o
$@
-c
$< || touch
$@
777 ## Tracing libraries (profiling, -tracemode)
778 LIBTRACE_PROJ
=trace-projections.o
779 $(L
)/libtrace-projections.a
: $(LIBTRACE_PROJ
)
780 $(CHARMC
) -o
$@
$(LIBTRACE_PROJ
)
782 LIBTRACE_CP
=trace-controlPoints.o
783 $(L
)/libtrace-controlPoints.a
: $(LIBTRACE_CP
)
784 $(CHARMC
) -o
$@
$(LIBTRACE_CP
)
786 LIBTRACE_AP
=trace-perf.o picsautoperf.o picsautoperfAPI.o picstreenode.o picsdecisiontree.o
787 $(L
)/libtrace-perfReport.a
: $(LIBTRACE_AP
)
788 $(CHARMC
) -o
$@
$(LIBTRACE_AP
)
790 LIBTRACE_SUMM
=trace-summary.o
791 $(L
)/libtrace-summary.a
: $(LIBTRACE_SUMM
)
792 $(CHARMC
) -o
$@
$(LIBTRACE_SUMM
)
794 LIBTRACE_UTIL
=trace-utilization.o
795 $(L
)/libtrace-utilization.a
: $(LIBTRACE_UTIL
)
796 $(CHARMC
) -o
$@
$(LIBTRACE_UTIL
)
798 LIBTRACE_SIMPLE
=trace-simple.o
799 $(L
)/libtrace-simple.a
: $(LIBTRACE_SIMPLE
)
800 $(CHARMC
) -o
$@
$(LIBTRACE_SIMPLE
)
802 libtrace-Tau.o
: trace-Tau.C charm
++.h charm.h converse.h conv-config.h \
803 conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
804 conv-mach-ifort.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h \
806 conv-random.h conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h \
807 middle.h middle-conv.h cklists.h ckbitvector.h ckstream.h init.h \
808 ckhashtable.h debug-charm.h CkMarshall.decl.h cksection.h ckcallback.h \
809 conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
811 ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h cklocrec.h ckmigratable.h \
812 cklocation.h ckmulticast.h LBDatabase.h MetaBalancer.h RandomForestModel.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
813 LBMachineUtil.h lbdb
++.h LBDatabase.decl.h MetaBalancer.decl.h NullLB.decl.h BaseLB.decl.h \
814 CkLocation.decl.h CkMulticast.decl.h CkArray.decl.h objid.h envelope.h envelope-path.h XArraySectionReducer.h CkFutures.decl.h \
815 waitqd.h waitqd.decl.h \
816 sdag.h ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h \
817 trace.h trace-bluegene.h trace-simple.h \
818 register.h trace-common.h trace-simpleBOC.h TraceSimple.decl.h \
819 TraceSimple.def.h ckregex.h
820 $(CHARMC
) -c
-I.
$(TAU_INCLUDE
) $(TAU_DEFS
) trace-Tau.C
-o libtrace-Tau.o
822 tau_selective.o
: $(TAUROOT
)/utils
/tau_selective.
cpp
823 $(CHARMC
) -I
$(TAUROOT
)/utils
-DTAU_DYNINST
$(TAUROOT
)/utils
/tau_selective.
cpp
825 $(L
)/libtrace-Tau.a
: $(TAU_TRACE_OBJ
) tau_selective.o
826 $(CHARMC
) $(TAU_LIBS
) -o
$@
$(TAU_TRACE_OBJ
) tau_selective.o
$(TAU_TRACE_OBJ
)
828 LIBTRACE_COUNT
=trace-counter.o
829 $(L
)/libtrace-counter.a
: $(LIBTRACE_COUNT
)
830 $(CHARMC
) -o
$@
$(LIBTRACE_COUNT
)
832 LIBTRACE_BG
=trace-bluegene.o
833 $(L
)/libtrace-bluegene.a
:$(LIBTRACE_BG
)
834 $(CHARMC
) -o
$@
$(LIBTRACE_BG
)
836 LIBTRACE_MEMORY
=trace-memory.o
837 $(L
)/libtrace-memory.a
: $(LIBTRACE_MEMORY
)
838 $(CHARMC
) -o
$@
$(LIBTRACE_MEMORY
)
840 LIBTRACE_ALL
=trace-all.o trace-projections.o trace-controlPoints.o picstreenode.o picsdecisiontree.o picsautoperfAPI.o picsautoperf.o trace-perf.o trace-summary.o trace-simple.o \
841 $(TAU_TRACE_OBJ
) trace-projector.o traceCore.o traceCoreCommon.o charmProjections.o converseProjections.o machineProjections.o trace-memory.o trace-utilization.o
843 $(L
)/libtrace-all.a
: $(LIBTRACE_ALL
)
844 $(CHARMC
) -o
$@
$(LIBTRACE_ALL
)
846 LIBTRACE_PROJECTOR
=trace-projector.o traceCore.o traceCoreCommon.o charmProjections.o converseProjections.o machineProjections.o
847 $(L
)/libtrace-projector.a
: $(LIBTRACE_PROJECTOR
)
848 $(CHARMC
) -o
$@
$(LIBTRACE_PROJECTOR
)
850 LIBTRACE_CONVERSE
=trace-converse.o
851 $(L
)/libtrace-converse.a
: $(LIBTRACE_CONVERSE
)
852 $(CHARMC
) -o
$@
$(LIBTRACE_CONVERSE
)
854 LIBTRACE_FOR
=tracef_f.o
855 $(L
)/libtracef_f.a
: $(LIBTRACE_FOR
)
856 -$(CHARMC
) -o
$@
$(LIBTRACE_FOR
) || touch
$@
858 tracef_f.o
: tracef_f.f90
859 -$(CHARMC
) -o
$@
-c tracef_f.f90
&& $(CHARMC
) -cpmod ..
/include tracemod.M || touch
$@
861 # used for make depends
862 TRACE_OBJS
= trace-projections.o trace-controlPoints.o picstreenode.o picsdecisiontree.o trace-perf.o picsautoperfAPI.o picsautoperf.o trace-summary.o trace-simple.o \
863 trace-counter.o trace-utilization.o \
864 trace-bluegene.o trace-projector.o trace-converse.o trace-all.o \
867 ###############################################################################
869 # Dynamic Load Balancers
871 ###############################################################################
873 loadbalancers
: $(COMMON_LDBS
) $(L
)/libmoduleCommonLBs.a
875 everylb
: $(ALL_LDBS
) $(L
)/libmoduleEveryLB.a
876 MetisLB.o GridMetisLB.o
: metis
878 %LB
: $(L
)/libmodule
%LB.a
880 $(L
)/libmodule
%LB.a
: %LB.o
882 ( [ -r libmodule
$*LB.dep
] && cp
-f libmodule
$*LB.dep
$(L
)/ ) || true
883 $(L
)/libmoduleCommonLBs.a
:
885 ( [ -r libmoduleCommonLBs.dep
] && cp
-f libmoduleCommonLBs.dep
$(L
)/ ) || true
887 ###############################################################################
891 ###############################################################################
893 bigsim
: bigsim-target
897 bigsim-target
: charm
++ $(L
)/libconv-bigsim.a
$(L
)/libconv-bigsim-logs.a
$(L
)/libconv-bluegene-stub.a
$(L
)/libblue-standalone.a
899 $(L
)/libbluegene.a
: BlueGene.o
902 # (Converse) Blue Gene emulator
903 BLUE_OBJS
= blue.o bigsim_node.o bigsim_proc.o bigsim_init.o bigsim_timing.o bigsim_record.o bigsim_ooc.o shared_alloc.o
904 BIGSIM_IO_OBJS
= bigsim_read.o bigsim_logs.o bigsim_api.o
906 LIBBLUE_OBJS
= $(BLUE_OBJS
) $(BIGSIM_IO_OBJS
) blue_stub.o blue_standalone.o
908 $(L
)/libconv-bigsim.a
: $(BLUE_OBJS
)
911 $(L
)/libconv-bigsim-logs.a
: $(BIGSIM_IO_OBJS
)
914 $(L
)/libconv-bluegene-stub.a
: blue_stub.o
917 $(L
)/libblue-standalone.a
: blue_standalone.o
920 ###############################################################################
924 ###############################################################################
927 $(NATIVECHARMC
) -language c
++ -o conv-cpm
-cp ..
/bin
/ conv-cpm.o
929 conv-cpm.o
: conv-cpm.C
$(CVHEADERS
)
930 $(NATIVECHARMC
) conv-cpm.C
932 ###############################################################################
934 # The interface translator
936 ###############################################################################
938 XIHEADERS
=conv-autoconfig.h xi-AstNode.h xi-Construct.h xi-grammar.tab.h xi-Message.h xi-Parameter.h xi-SdagConstruct.h xi-BlockConstruct.h xi-Template.h xi-util.h xi-Chare.h xi-Entry.h xi-Member.h xi-Module.h xi-SdagCollection.h xi-symbol.h xi-Type.h xi-Value.h xi-main.h
939 CHARMXIOBJ
=xi-main.o xi-grammar.tab.o xi-scan.o xi-Template.o xi-AstNode.o xi-Entry.o xi-Member.o xi-Parameter.o xi-SdagConstruct.o xi-BlockConstruct.o xi-Type.o xi-Chare.o xi-Message.o xi-Construct.o xi-Module.o xi-SdagCollection.o xi-Value.o xi-util.o
940 SDAGOBJ
=sdag-globals.o CSdagConstruct.o CEntry.o CParsedFile.o CStateVar.o Serial.o Case.o CaseList.o Else.o Forall.o For.o If.o IntExpr.o OList.o Overlap.o SdagEntry.o SList.o Template.o When.o While.o
941 SDAGHEADERS
= CToken.h EToken.h CParsedFile.h sdag-globals.h CEntry.h Serial.h Case.h CaseList.h Else.h Forall.h For.h If.h IntExpr.h OList.h Overlap.h SdagEntry.h SList.h Template.h When.h While.h Constructs.h
943 $(CHARMXIOBJ
) $(SDAGOBJ
): $(XIHEADERS
) $(SDAGHEADERS
)
944 $(CHARMXIOBJ
) $(SDAGOBJ
): CXX
=$(NATIVECHARMC
)
945 $(CHARMXIOBJ
) $(SDAGOBJ
): CXXFLAGS
=-I
$(SRCBASE
)/xlat-i
/ -I
$(SRCBASE
)/xlat-i
/sdag
/ -I.
946 xi-scan.o
: CXXFLAGS
+=-DYY_NEVER_INTERACTIVE
947 VPATH
=$(SRCBASE
)/xlat-i
:$(SRCBASE
)/xlat-i
/sdag
:$(SRCBASE
)/xlat-i
/sdag
/constructs
949 charmxi
: ..
/bin
/charmxi
951 ..
/bin
/charmxi
: $(CHARMXIOBJ
) $(SDAGOBJ
)
952 $(NATIVECHARMC
) -language c
++ -cp ..
/bin
/ -o charmxi
$^
955 rm $(CHARMXIOBJ
) $(SDAGOBJ
)
957 ###############################################################################
961 ###############################################################################
963 $(L
)/libtsm.a
: converse simplemsg.C simplemsg.h
964 $(CHARMC
) -o
$@ simplemsg.C
966 $(L
)/libsm.a
: converse sm.C sm.h
969 ###############################################################################
973 ###############################################################################
975 PVMC
=pvmc_buf.o pvmc_comm.o pvmc_conv.o pvmc_main.o pvmc_pack.o pvmc_groups.o
977 $(L
)/libpvmc.a
: $(PVMC
)
978 $(CHARMC
) -o
$@
$(PVMC
)
980 pvmc_buf.o
: pvmc_buf.C pvmc.h pvm3.h converse.h
981 $(CHARMC
) -o
$@ pvmc_buf.C
983 pvmc_conv.o
: pvmc_conv.C pvmc.h pvm3.h converse.h
984 $(CHARMC
) -o
$@ pvmc_conv.C
986 pvmc_pack.o
: pvmc_pack.C pvmc.h pvm3.h converse.h
987 $(CHARMC
) -o
$@ pvmc_pack.C
989 pvmc_comm.o
: pvmc_comm.C pvmc.h pvm3.h converse.h
990 $(CHARMC
) -o
$@ pvmc_comm.C
992 pvmc_groups.o
: pvmc_groups.C pvmc.h pvm3.h converse.h
993 $(CHARMC
) -o
$@ pvmc_groups.C
995 pvmc_main.o
: pvmc_main.C pvmc.h pvm3.h converse.h
996 $(CHARMC
) -o
$@ pvmc_main.C
998 $(L
)/libf90charm.a
: charmxi f90main.ci f90main.h f90main.C
1000 $(CHARMC
) -c
-DAMPI_FORTRAN
=1 f90main.C
1001 -$(CHARMC
) -o
$@ f90main.o
1003 ##############################################################################
1004 # adding this entry for files which do not belong to any of other locations
1006 OTHER_OBJS
= mpi-mainmodule.o main.o custom_partitioner.o BlueGene.o set_partition_params.o
1008 ##############################################################################
1010 ###############################################################################
1014 ###############################################################################
1017 @
test ! -d
$(DESTDIR
)/include && mkdir
-p
$(DESTDIR
)/include || true
1018 @
test ! -d
$(DESTDIR
)/lib
&& mkdir
-p
$(DESTDIR
)/lib || true
1019 ifeq (false
,$(CMK_NO_BUILD_SHARED
))
1020 @
test ! -d
$(DESTDIR
)/lib_so
&& mkdir
-p
$(DESTDIR
)/lib_so || true
1022 @
test ! -d
$(DESTDIR
)/bin
&& mkdir
-p
$(DESTDIR
)/bin || true
1023 # cp -f ../include/* $(DESTDIR)/include
1024 for f in ..
/include/*; do if
test -f
$$f; then cp
-f
$$f $(DESTDIR
)/include; fi
; done
1025 cp
-f ..
/lib
/* $(DESTDIR
)/lib
1026 ifeq (false
,$(CMK_NO_BUILD_SHARED
))
1027 cp
-f ..
/lib_so
/* $(DESTDIR
)/lib_so || true
1029 # cp -f ../bin/* $(DESTDIR)/bin
1030 for f in ..
/bin
/*; do if
test -f
$$f; then cp
-f
$$f $(DESTDIR
)/bin
; fi
; done
1034 rm -f conv-autoconfig.h config.cache
1035 rm -f QuickThreads
/libckqt.a
1036 rm -f charmxi conv-cpm
1037 rm -f TAGS basics cmk_extras core
1043 if
[ -d charmrun-src
] ; then
( $(MAKE
) -C charmrun-src
clean ) ; fi
1044 ( $(MAKE
) -C libs
clean )
1045 ( $(MAKE
) -C ..
/benchmarks
clean )
1046 ( $(MAKE
) -C ..
/examples
clean )
1047 ( $(MAKE
) -C ..
/tests
clean )
1050 rm -rf ..
/bin ..
/lib ..
/src ..
/benchmarks ..
/examples ..
/tests ..
/include
1051 mv Makefile .Makefile
1052 mv Make.depends .Make.depends
1053 rm -rf
[a-z
]* [A-Z
]*
1054 mv .Make.depends Make.depends
1055 rm -rf .
[a-z
]* .
[A-Z
]*
1058 config
: configure conv-autoconfig.h.in
1061 echo
"Creating " $(CIDEPENDFILE
) " ...";
1062 if
[ -f
$(CIDEPENDFILE
) ]; then \
1063 /bin
/cp
-f
$(CIDEPENDFILE
) $(CIDEPENDFILE
).old
; \
1065 echo
'#generated by make cidepends' > $(CIDEPENDFILE
); \
1066 for cifile in
$(sort $(wildcard *.ci
)); do \
1067 echo
"checking generated modules for $$cifile" ; \
1068 $(CHARMXI
) -M
$$cifile | sed
'/\.stamp:/a \\t $$(CHARMC) -intrinsic $$< && touch $$@' >> $(CIDEPENDFILE
) ; \
1071 depends
: cidepends commitid.C
1073 echo
"Creating " $(DEPENDFILE
) " ...";
1074 if
[ -f
$(DEPENDFILE
) ]; then \
1075 /bin
/cp
-f
$(DEPENDFILE
) $(DEPENDFILE
).old
; \
1077 echo
'#generated by make depends' > $(DEPENDFILE
); \
1079 for i in
$(sort $(LIBCONV_CORE
) $(LIBCONV_LDB
) $(LIBCONV_UTIL
) $(TRACE_OBJS
) $(LIBCK_CORE
) $(ALL_LB_OBJS
) $(LIBBLUE_OBJS
) $(OTHER_OBJS
)) ; do \
1080 processed
='false'; \
1081 for f in
$$processFiles; do \
1082 if
test $$i = $$f ; then \
1083 processed
=true
; break
; \
1086 test $$processed = 'true' && continue
; \
1087 processFiles
="$$processFiles $$i"; \
1088 SRCFILE
=`basename $$i .o`.C
; \
1089 [ ! -f
$$SRCFILE ] && SRCFILE
=`basename $$i .o`.c
; \
1090 echo
"checking dependencies for $$SRCFILE" ; \
1091 if g
++ -std
=c
++0x
-MM
-Wno-deprecated
-I.
-I
$(INC
) $$SRCFILE >> $(DEPENDFILE
); then true
; else echo
'' ; echo
"Compilation of '$$SRCFILE' failed, please fix it first!!!!" ; exit
; fi
; \
1092 echo
'' >> $(DEPENDFILE
) ; \
1095 dependsCaseSensitive
: cidepends
1097 @echo
"Creating " $(DEPENDFILE
) " ...";
1098 if
[ -f
$(DEPENDFILE
) ]; then \
1099 /bin
/cp
-f
$(DEPENDFILE
) $(DEPENDFILE
).old
; \
1101 echo
'#generated by make depends' > $(DEPENDFILE
); \
1103 for i in
$(sort $(LIBCONV_CORE
) $(LIBCONV_UTIL
) $(TRACE_OBJS
) $(LIBCK_CORE
) $(ALL_LB_OBJS
) $(LIBBLUE_OBJS
) $(OTHER_OBJS
)); do \
1104 processed
='false'; \
1105 for f in
$$processFiles; do \
1106 if
test $$i = $$f ; then \
1107 processed
=true
; break
; \
1110 test $$processed = 'true' && continue
; \
1111 processFiles
="$$processFiles $$i"; \
1112 SRCFILE
=`basename $$i .o`.C
; \
1113 SRCDIR
=`dirname $$i` ; \
1114 found
=`/usr/bin/find $$SRCDIR -depth 1 -name $$SRCFILE`; \
1115 [ ! $$found ] && SRCFILE
=`basename $$i .o`.c
; \
1116 echo
"checking dependencies for $$SRCFILE" ; \
1117 if g
++ -std
=c
++0x
-MM
-Wno-deprecated
-I.
-I
$(INC
) $$SRCFILE >> $(DEPENDFILE
); then true
; else echo
'' ; echo
"Compilation of '$$SRCFILE' failed, please fix it first!!!!" ; exit
; fi
; \
1118 echo
'' >> $(DEPENDFILE
) ; \
1121 # If OPTS was not defined, use the build time options
1122 export OPTS ?
= $(OPTSATBUILDTIME
)
1123 ifeq ($(strip $(OPTS
)),)
1124 $(warning Variable OPTS is defined to an empty string. Are you sure this is what you want?
)
1129 machine.o
: machine.d
1130 machine.d
: machine.C conv-autoconfig.h
$(CKHEADERS
)
1133 $(CHARMC
) $(OPTS
) -M
-I.
-I
$(INC
) $< >$@.
$$$$; \
1134 sed
-e
's,\($*\)\.o[ :]*,\1.o $@ : ,g' -e
"s,[Cc]:/,`command -v cygpath >/dev/null 2>&1 && cygpath -u 'C:/' || echo '/c'`/," < $@.
$$$$ > $@
; \