1 #############################################################################"
3 # This one Makefile serves all of converse and charm. It includes
6 # * The CONVERSE libraries
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.sh configuration file.
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:
20 # make charm++ OPTS="-g -save -verbose"
22 ###############################################################################
35 all: charm
++ bigsim LIBS AMPI f90charm TSM SM PVM doc everylb
38 $(MAKE
) -C ..
/tests
all
39 $(MAKE
) -C ..
/examples
all
42 @echo
"$(OPTS)" > OPTS
47 TSM
: converse
$(L
)/libtsm.a
49 SM
: converse
$(L
)/libsm.a
51 PVM
: converse
$(L
)/libpvmc.a
54 $(MAKE
) -C libs
/ck-libs
/amr
all
59 $(MAKE
) -C libs
/ck-libs
/ ParFUM
61 MBLOCK
: AMPI MBLOCKC MBLOCKF
67 AMPI
: charm
++ $(BIGSIM
)
68 $(MAKE
) -C libs
/ck-libs
/ ampi
75 f90charm
: charm
++ $(L
)/libf90charm.a
78 cd
$(L
) ; $(CHARMC
) -standalone
-whole-archive
-c
++stl
-shared
-o libcharm.so
$(LIBCHARM_LIBS
)
82 LIBCHARM_LIBS
= libck.a libconv-core.a libconv-util.a libmemory-default.a libconv-machine.a \
83 libthreads-default.a libconv-partition.a libtmgr.a libhwloc_embedded.a \
84 libldb-rand.a libconv-ldb.a libmoduleGreedyRefineLB.a
86 DEFAULT_LIBS
= completion NDMeshStreamer dummy pythonCCS io ckloop
88 default_libs
: $(DEFAULT_LIBS
)
90 $(DEFAULT_LIBS
) cache pose fftlib liveViz metis
:
91 $(MAKE
) -C libs
/ck-libs
/$@
94 $(MAKE
) -C libs
/conv-libs
/$@
96 ChaNGa
: charm
++ cache liveViz everylb ckloop
106 NDMeshStreamer
: charm-core completion
108 $(L
)/libmpi-mainmodule.a
: mpi-mainmodule.o
113 $(MAKE
) -C topomanager
-f Makefile_charm
115 $(L
)/libckmain.a
: main.o
118 $(L
)/libckmainf.a
: mainf.o
119 -$(CHARMC
) -o
$@
$^ || touch
$@
121 translators
: charmxi conv-cpm
124 $(MAKE
) -C libs
/ck-libs
/multiphaseSharedArrays
127 # make the lib, include
128 $(MAKE
) -C langs
/jade
131 # This should be done offline, since the user does not need to compile
132 # parser files, etc. All they need is the libjade + include files,
133 # antlr.jar, jade.jar, and a few scripts which the jade target takes
136 # make parser.g -> .java files
137 # $(MAKE) -C langs/jade p
138 # make the jade.jar file
139 # $(MAKE) -C ../java/charm/jade
142 TAU_MAKEFILE
=Make.tau
143 include $(TAU_MAKEFILE
) #stub-makefile
145 #builds TAU's trace library
147 echo
"buliding charm trace library with support for TAU."
148 $(MAKE
) $(L
)/libtrace-Tau.a
$(L
)/libtrace-all.a TAU_TRACE_OBJ
=libtrace-Tau.o
150 LIBS
: CONVLIBS CHARMLIBS everylb
151 $(MAKE
) -C libs otherlibs
152 echo
"Built LIBS Successfully"
155 $(MAKE
) -C ..
/tests bgtest
156 $(MAKE
) -C ..
/examples bgtest
158 syncfttest causalfttest mpisyncfttest mlogfttest
: charm
++ LIBS
159 $(MAKE
) -C ..
/tests
$@
162 $(MAKE
) -C ..
/tests
test
163 $(MAKE
) -C ..
/examples
test
165 test-tests
: bigsim LIBS
166 $(MAKE
) -C ..
/tests
test
168 test-examples
: bigsim LIBS
169 $(MAKE
) -C ..
/examples
test
171 test-converse
: converse
172 $(MAKE
) -C ..
/tests test-converse
175 $(MAKE
) -C ..
/tests test-charm
178 $(MAKE
) -C ..
/tests test-AMPI
184 $(MAKE
) -C ..
/doc pdf
187 $(MAKE
) -C ..
/doc html
190 $(MAKE
) -C ..
/doc doc
192 CHARMC
=..
/bin
/charmc
$(CHARMOPTS
) $(OPTS
)
194 SEQCHARMC
=..
/bin
/charmc
-seq
$(CHARMOPTS
)
196 NATIVECHARMC
=..
/bin
/charmc
-host
$(CHARMOPTS
)
198 CHARMXI
=..
/bin
/charmc
-intrinsic
$(OPTS
)
200 CIDEPENDFILE
= Make.cidepends
201 DEPENDFILE
= Make.depends
203 include $(CIDEPENDFILE
)
204 include $(DEPENDFILE
)
206 CIFILES
= $(wildcard *.ci
)
208 %.ci.stamp
: %.ci ..
/bin
/charmxi
209 $(CHARMXI
) $< && touch
$@
211 # Automatically generated by script Makefile_lb.sh
214 # Build changes for external libraries
217 # GPU manager support
220 ###############################################################################
222 # The basics (bin, lib, include, headers, charmc, conv-mach.sh)
224 ###############################################################################
226 CVHEADERS
=cpthreads.h converse.h conv-trace.h conv-random.h conv-qd.h \
227 msgq.h queueing.h conv-taskQ.h taskqueue.h conv-cpath.h conv-cpm.h persistent.h\
228 trace.h trace-common.h trace-bluegene.h trace-projections.h \
229 trace-simple.h trace-controlPoints.h charm-api.h \
230 conv-ccs.h ccs-client.c ccs-client.h \
231 ccs-server.h ccs-auth.c ccs-auth.h \
232 memory-isomalloc.h debug-conv.h debug-conv
++.h conv-autoconfig.h \
233 conv-common.h conv-config.sh conv-config.h conv-mach.h conv-mach.sh \
234 blue.h blue-conv.h bgconverse.h cmipool.h mempool.h cmiqueue.h \
235 cmidirect.h cmidirectmanytomany.h cmitls.h lrtslock.h conv-rdma.h lrts-common.h \
238 # The .c files are there to be #included by clients whole
239 # This is a bit unusual, but makes client linking simpler.
240 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\
241 ckimage.h ckdll.h ckhashtable.h ckbitvector.h cklists.h ckliststring.h \
242 cksequence.h ckstatistics.h ckvector3d.h conv-lists.h ckcomplex.h \
243 sockRoutines.h sockRoutines.c cmimemcpy.h simd.h SSE-Double.h SSE-Float.h \
244 crc32.h ckBIconfig.h rand48_replacement.h ckregex.h spanningTree.h cmirdmautils.h
246 CKHEADERS
=ck.h ckstream.h objid.h envelope.h init.h qd.h charm.h charm
++.h \
247 ckfutures.h ckIgetControl.h cktiming.h debug-charm.h\
248 ckcallback.h CkCallback.decl.h ckcallback-ccs.h \
249 cksection.h ckmessage.h cklocrec.h ckmigratable.h \
250 ckarrayindex.h ckarrayoptions.h ckarray.h cklocation.h ckmulticast.h ckreduction.h \
251 ckcheckpoint.h ckmemcheckpoint.h ckevacuation.h ckrdmawrapper.h ckrdma.h\
252 ckmessagelogging.h ckcausalmlog.h ckobjid.h\
253 ckobjQ.h readonly.h charm
++_type_traits.h \
255 waitqd.h LBDatabase.h MetaBalancer.h RandomForestModel.h lbdb.h lbdb
++.h LBProfit.h
$(LBHEADERS
) \
256 LBDBManager.h LBComm.h LBOM.h LBObj.h LBMachineUtil.h LBAgent.h \
257 RefinerTemp.h Refiner.h RefinerApprox.h RefinerComm.h ckgraphTemp.h ckgraph.h ckheap.h \
258 elements.h CommLBHeap.h topology.h manager.h \
259 BaseLB.h CentralLB.h CentralLBMsg.h \
260 NborBaseLB.h DistBaseLB.h HybridBaseLB.h HybridLBMsg.h \
262 BlueGene.h middle.h middle-conv.h middle-blue.h \
263 CkMarshall.decl.h CkArray.decl.h CkLocation.decl.h CkMulticast.decl.h \
266 CkFutures.decl.h CkCheckpoint.decl.h CkCheckpointStatus.decl.h CkMemCheckpoint.decl.h \
267 LBDatabase.decl.h MetaBalancer.decl.h CentralLB.decl.h NullLB.decl.h \
269 NborBaseLB.decl.h DistBaseLB.decl.h \
270 HybridBaseLB.decl.h EveryLB.decl.h CommonLBs.decl.h \
271 TraceSummary.decl.h TraceAutoPerf.decl.h TraceProjections.decl.h \
272 TraceSimple.decl.h TraceControlPoints.decl.h TraceTau.decl.h \
273 TraceUtilization.decl.h BlueGene.decl.h \
275 ControlPoints.decl.h PathHistory.decl.h \
276 pathHistory.h envelope-path.h \
277 XArraySectionReducer.h \
278 controlPoints.h controlPointsf.h arrayRedistributor.h cp_effects.h register.h stats.h \
279 cksequence_internal.h cksequence_factory.h random_sequence.h strided_sequence.h \
280 mpi-interoperate.h mpi_main.decl.h \
281 trace-perf.h picsdefs.h picsautoperf.h picstreenode.h \
283 picsautoperfAPI.h picsautoperfAPIC.h \
286 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
288 ALLHEADERS
=$(CKHEADERS
) \
289 simplemsg.h sm.h pvmc.h pvm3.h sdag.h vector2d.h \
290 graph.h bitvecset.h ckset.h LBSimulation.h \
296 # Headers is used only for the dependencies
297 headers
: dirs
+sources
298 $(MAKE
) -C topomanager
-f Makefile_charm headers
302 configure
: Makefile.am configure.ac
305 conv-autoconfig.h.in
: configure.ac
308 conv-autoconfig.h
: configure conv-autoconfig.h.in config_opts.sh
309 @. .
/config_opts.sh
; echo .
/configure
$(QUIET
) $$CONFIG_OPTS; \
310 .
/configure
$(QUIET
) $$CONFIG_OPTS && touch conv-autoconfig.h
312 .PHONY
: clean veryclean VERSION.new config
315 SRCBASE
=$(SRCBASE
) .
/commitid.sh
318 echo
"extern const char * const CmiCommitID;" > $@
319 echo
"const char * const CmiCommitID = \"`cat VERSION`\";" >> $@
320 commitid.o
: CC
=$(CHARMC
)
322 headerlinks
: dirs
+sources Makefile
$(ALLHEADERS
)
323 @
[ "x$QUIET" = "x--quiet" ] || echo
"Soft-linking headers..."
324 -for hdr in
$(filter-out dirs
+sources Makefile
,$(sort $^
)) ; do
test ! -f
"../include/`basename $$hdr`" && .
/system_ln
"../tmp/$$hdr" ..
/include ; done
329 # (cd .. ; basename "`pwd`" | sed -e 's@-.*@@') > .gdir
331 find .
-type l
-exec
rm {} \
;
335 rm -rf ..
/bin
; mkdir ..
/bin
336 if case
`cat .vdir` in
*win64
*) true
;; *-win-
*) true
;; *) false
;; esac
; then \
337 cp
-f
$(SRCBASE
)/arch
/win
/unix2nt
* ..
/bin
; \
338 cp
-f
$(SRCBASE
)/arch
/win
/createlink.exe ..
/bin
; \
340 rm -rf ..
/lib
; mkdir ..
/lib
341 rm -rf ..
/lib_so
; mkdir ..
/lib_so
; touch ..
/lib_so
/.charmso
344 rm -rf ..
/doc
; ln
-s ..
/doc ..
/doc
345 $(SRCBASE
)/scripts
/gatherflat
$(SRCBASE
)/scripts .
346 .
/gatherflat
$(SRCBASE
)/conv-core .
347 .
/gatherflat
$(SRCBASE
)/conv-ldb .
348 .
/gatherflat
$(SRCBASE
)/conv-ccs .
349 .
/gatherflat
$(SRCBASE
)/conv-perf .
350 .
/gatherflat
$(SRCBASE
)/ck-core .
351 .
/gatherflat
$(SRCBASE
)/ck-perf .
352 .
/gatherflat
$(SRCBASE
)/ck-pics .
353 .
/gatherflat
$(SRCBASE
)/ck-tune .
354 .
/gatherflat
$(SRCBASE
)/ck-ldb .
355 .
/gatherflat
$(SRCBASE
)/ck-cp .
356 .
/gatherflat
$(SRCBASE
)/langs
/simplemsg .
357 .
/gatherflat
$(SRCBASE
)/langs
/pvmc .
358 .
/gatherflat
$(SRCBASE
)/langs
/bluegene .
359 .
/gatherflat
$(SRCBASE
)/langs
/f90charm .
360 .
/gatherflat
$(SRCBASE
)/xlatcpm .
361 .
/gathertree
$(SRCBASE
)/QuickThreads QuickThreads
362 .
/gathertree
$(SRCBASE
)/..
/contrib
/hwloc hwloc
363 .
/gathertree
$(SRCBASE
)/libs libs
364 .
/gathertree
$(SRCBASE
)/arch
/util .
365 .
/gathertree
$(SRCBASE
)/util .
366 .
/gathertree
$(SRCBASE
)/langs langs
367 .
/gathertree
$(SRCBASE
)/langs
/jade langs
/jade
368 .
/gathertree
$(SRCBASE
)/arch
/common .
369 .
/gathertree
$(SRCBASE
)/arch
/`cat .gdir` .
370 test -f
$(SRCBASE
)/arch
/`cat .gdir`/gdir_link
&& cat
$(SRCBASE
)/arch
/`cat .gdir`/gdir_link
> .gdir.new
&& .
/gathertree
$(SRCBASE
)/arch
/`cat .gdir.new` . || true
371 .
/gatherflat
$(SRCBASE
)/arch
/`cat .vdir` .
372 .
/gathertree
$(SRCBASE
)/..
/examples ..
/examples
373 .
/gathertree
$(SRCBASE
)/..
/tests ..
/tests
374 rm -f ..
/bin
/dep.pl
; cp dep.pl ..
/bin
/
376 -.
/system_ln ..
/tmp
/charmc ..
/bin
/
377 -.
/system_ln
$(SRCBASE
)/scripts
/testrun ..
/bin
/
378 -.
/system_ln ..
/tmp
/tree.txt ..
/bin
/
379 -.
/system_ln ..
/tmp
/fuzzytree.txt ..
/bin
/
380 # -ln -s ../../java/bin charmjavabin
381 # -ln -s ../../java/bin ../bin/charmjavabin
382 # -ln -s charmjavabin/* ../bin/
385 rm -rf ..
/include ; mkdir ..
/include
386 -.
/system_ln ..
/tmp
/conv-
*.
*h ..
/include
387 -.
/system_ln ..
/tmp
/cc-
*.
*h ..
/include
388 -.
/system_ln ..
/tmp
/conv-mach-opt.sh ..
/include
389 if
[ -x .
/special.sh
] ; then SRCBASE
=$(SRCBASE
) .
/special.sh
; fi
390 if
[ ! -f conv-common.h
] ; then
( touch conv-common.h
) ; fi
393 ###############################################################################
397 ###############################################################################
398 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
400 TRACELIBS
= $(L
)/libtrace-converse.a
$(L
)/libtracef_f.a
402 BUILD_TRACING
=$(shell CHARMINC
=.
; if
test -f .
/conv-config.sh
; then . .
/conv-config.sh
; echo
$$CMK_TRACE_ENABLED; fi
)
404 ifneq "$(BUILD_TRACING)" "0"
405 TRACELIBS
+= $(L
)/libtrace-projections.a
$(L
)/libtrace-controlPoints.a
$(L
)/libtrace-summary.a \
406 $(L
)/libtrace-utilization.a
$(L
)/libtrace-simple.a \
407 $(L
)/libtrace-counter.a
$(L
)/libtrace-bluegene.a \
408 $(L
)/libtrace-projector.a
$(L
)/libtrace-all.a \
409 $(L
)/libtrace-memory.a
$(L
)/libtrace-perfReport.a
412 MEMLIBS
=$(L
)/libmemory-default.a
$(L
)/libmemory-os.a
$(L
)/libmemory-gnu.a \
413 $(L
)/libmemory-verbose.a
$(L
)/libmemory-paranoid.a \
414 $(L
)/libmemory-leak.a
$(L
)/libmemory-isomalloc.a \
415 $(L
)/libmemory-os-verbose.a
$(L
)/libmemory-os-isomalloc.a \
416 $(L
)/libmemory-os-leak.a
$(L
)/libmemory-os-paranoid.a \
417 $(L
)/libmemory-os-lock.a
$(L
)/libmemory-os-wrapper.a
419 BUILD_CHARMDEBUG
=$(shell CHARMINC
=.
; if
test -f .
/conv-config.sh
; then . .
/conv-config.sh
; echo
$$CMK_CHARMDEBUG; fi
)
421 ifneq "$(BUILD_CHARMDEBUG)" "0"
422 MEMLIBS
+= $(L
)/libmemory-charmdebug.a
$(L
)/libmemory-charmdebug-mmap.a \
423 $(L
)/libmemory-charmdebug-slot.a \
424 $(L
)/libmemory-charmdebug-mmap-slot.a \
425 $(L
)/libmemory-os-charmdebug.a
$(L
)/libmemory-hooks-charmdebug.a
428 THREADLIBS
=$(L
)/libthreads-default.a
$(L
)/libthreads-default-tls.a \
429 $(L
)/libthreads-qt.a
$(L
)/libthreads-qt-tls.a \
430 $(L
)/libthreads-context.a
$(L
)/libthreads-context-tls.a \
431 $(L
)/libthreads-uFcontext.a
$(L
)/libthreads-uFcontext-tls.a \
432 $(L
)/libthreads-uJcontext.a
$(L
)/libthreads-uJcontext-tls.a \
433 $(L
)/libthreads-pthreads.a
$(L
)/libthreads-fibers.a \
434 $(L
)/libthreads-stackcopy.a
$(L
)/libthreads-memoryalias.a \
435 $(L
)/libthreads-qt-memoryalias.a \
436 $(L
)/libthreads-context-memoryalias.a \
437 $(L
)/libthreads-uJcontext-memoryalias.a
439 CVLIBS
=$(L
)/libconv-core.a \
441 $(L
)/libconv-machine.a \
442 $(L
)/libconv-util.a
$(L
)/libconv-utilf.a \
443 $(CLBLIBS
) $(TRACELIBS
) $(MEMLIBS
) $(THREADLIBS
) \
444 $(L
)/libccs-client.a
$(L
)/libconv-partition.a
$(L
)/libhwloc_embedded.a \
447 LIBCONV_CORE
=convcore.o conv-conds.o conv-taskQ.o queueing.o msgmgr.o \
448 cpm.o cpthreads.o futures.o cldb.o random.o \
449 debug-conv.o debug-conv
++.o conv-ccs.o ccs-builtins.o middle-ccs.o \
450 traceCore.o traceCoreCommon.o \
451 converseProjections.o machineProjections.o \
452 quiescence.o isomalloc.o mem-arena.o conv-counter.o memory-darwin-clang.o \
453 global-nop.o cmipool.o cpuaffinity.o cputopology.o \
454 cmitls.o memoryaffinity.o commitid.o conv-interoperate.o conv-rdma.o \
456 LIBCONV_LDB
= topology.o generate.o edgelist.o
458 LIBCONV_UTIL
=pup_util.o pup_toNetwork.o pup_toNetwork4.o \
459 pup_xlater.o pup_c.o pup_paged.o pup_cmialloc.o \
460 ckimage.o ckdll.o ckhashtable.o sockRoutines.o \
461 conv-lists.o persist-comm.o mempool.o graph.o \
462 crc32.o lz4.o partitioning_strategies.o hilbert.o \
463 spanningTree.o cmirdmautils.o
465 LIBCONV_UTILF
=pup_f.o
467 include Makefile.machine
469 converse
: charmrun-target swapglobal-target conv-cpm tmgr hwloc-target
471 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
473 hwloc-target
: conv-autoconfig.h
475 ( test -e hwloc
/src
/.libs
/libhwloc_embedded.lib
&& cp
-f hwloc
/src
/.libs
/libhwloc_embedded.lib hwloc
/src
/.libs
/libhwloc_embedded.a
) || true
476 ( cp
-f hwloc
/src
/.libs
/libhwloc_embedded.a
$(L
) )
477 ( cp
-f hwloc
/include/hwloc.h
$(INC
) )
478 ( cp
-LRf hwloc
/include/hwloc
$(INC
) )
479 (CHARMINC
=.
; . .
/conv-config.sh
; \
480 test -d ..
/lib_so
&& \
481 cp
-f hwloc
/src
/.libs
/libhwloc_embedded.
*$$CMK_SHARED_SUF* ..
/lib_so
/ ) || true
484 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
485 if
[ -f charmrun
] ; then
( cp
-f charmrun ..
/bin
) ; fi
487 QUICK_THREADS
: $(CVHEADERS
)
488 -( $(MAKE
) -C QuickThreads
clean )
489 ( cd QuickThreads
;.
/configure
)
490 ( $(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
)
491 cp
-f QuickThreads
/libckqt.a ..
/lib
/
492 -(CHARMINC
=.
; . .
/conv-config.sh
; \
493 test -d ..
/lib_so
&& \
494 cp
-f QuickThreads
/libckqt.
$$CMK_SHARED_SUF ..
/lib_so
/ ) || true
498 $(MAKE
) -C libs convlibs
500 $(L
)/libconv-core.a
: $(LIBCONV_CORE
)
501 $(CHARMC
) $(TAU_LIBS
) -o
$@
$(LIBCONV_CORE
)
503 $(L
)/libconv-partition.a
: custom_partitioner.o set_partition_params.o
506 $(L
)/conv-static.o
: conv-static.o
509 $(L
)/libconv-machine.a
: machine.o
512 machine.o
: machine.C
$(CVHEADERS
)
513 @
-test -f
$(INC
)/mpi.h
&& mv
-f
$(INC
)/mpi.h
$(INC
)/mpi.BAK || true
514 $(CHARMC
) -I.
-o
$@
$<
515 @
-test -f
$(INC
)/mpi.BAK
&& mv
-f
$(INC
)/mpi.BAK
$(INC
)/mpi.h || true
517 $(L
)/libconv-util.a
: $(LIBCONV_UTIL
)
518 $(CHARMC
) -o
$@
$(LIBCONV_UTIL
)
520 $(L
)/libconv-utilf.a
: $(LIBCONV_UTILF
)
521 -$(CHARMC
) -o
$@
$(LIBCONV_UTILF
) || touch
$@
523 $(L
)/libconv-ldb.a
: $(LIBCONV_LDB
)
526 $(L
)/libccs-client.a
: ccs-client.o
527 $(CHARMC
) -o
$@ ccs-client.o
529 ccs-client.o
: ccs-client.c
$(CVHEADERS
)
530 $(CHARMC
) -DCMK_NOT_USE_CONVERSE
=1 ccs-client.c
532 sockRoutines-seq.o
: sockRoutines.c
$(CVHEADERS
) $(UTILHEADERS
)
533 $(SEQCHARMC
) -DCMK_NOT_USE_CONVERSE
=1 -o sockRoutines-seq.o sockRoutines.c
535 pup_f.f90
: pup_f.f90.sh
536 rm -f pup_f.f90
&& .
/pup_f.f90.sh
538 pup_f.o
: pup_f.f90
$(CVHEADERS
)
539 -$(CHARMC
) -c pup_f.f90
&& $(CHARMC
) -cpmod ..
/include pupmod.M || touch pup_f.o
541 ## Converse load balancers (seed balancers, -balance)
542 $(L
)/libldb-none.a
: cldb.none.c
$(CVHEADERS
)
543 $(CHARMC
) -o
$@ cldb.none.c
545 $(L
)/libldb-rand.a
: cldb.rand.c cldb.h
$(CVHEADERS
)
546 $(CHARMC
) -o
$@ cldb.rand.c
548 $(L
)/libldb-neighbor.a
: cldb.neighbor.c cldb.neighbor.h graph.h
$(CVHEADERS
)
549 $(CHARMC
) -o
$@ cldb.neighbor.c
551 $(L
)/libldb-workstealing.a
: cldb.workstealing.c cldb.workstealing.h graph.h
$(CVHEADERS
)
552 $(CHARMC
) -o
$@ cldb.workstealing.c
554 $(L
)/libldb-spray.a
: cldb.spray.c
$(CVHEADERS
)
555 $(CHARMC
) -o
$@ cldb.spray.c
558 #$(L)/libldb-prioritycentralized.a: cldb.prioritycentralized.c cldb.prioritycentralized.h $(CVHEADERS)
559 # $(CHARMC) -o $@ cldb.prioritycentralized.c
561 #//$(L)/libldb-prioritycentralizedopt.a: cldb.prioritycentralizedopt.c cldb.prioritycentralizedopt.h $(CVHEADERS)
562 #// $(CHARMC) -o $@ cldb.prioritycentralizedopt.c
564 $(L
)/libldb-test.a
: cldb.
test.c
$(CVHEADERS
)
565 $(CHARMC
) -o
$@ cldb.
test.c
567 $(L
)/libldb-bluegene.a
: cldb.bluegene.c
$(CVHEADERS
)
568 $(CHARMC
) -o
$@ cldb.bluegene.c
570 ## Memory allocation libraries (-memory)
571 MEM_DEPS
=memory-gnu.c memory-gnu-internal.c converse.h conv-mach.h
$(CVHEADERS
)
573 libmemory-
%.C
: memory.C
576 # $1 is the name of the module, $2 is any additional dependency beyond memory.C and $(MEM_DEPS), $3 is extra arguments to charmc
578 $(L
)/libmemory-
$1.a
: libmemory-
$1.C
$(MEM_DEPS
) $2
579 $(CHARMC
) -I.
-o
$$@
$3 $$<
582 $(eval
$(call libmem
,default
, ,-DCMK_MEMORY_BUILD_DEFAULT
))
583 $(eval
$(call libmem
,os
, ,-DCMK_MEMORY_BUILD_OS
))
584 $(eval
$(call libmem
,os-verbose
, memory-verbose.c
, -DCMK_MEMORY_BUILD_OS_WRAPPED
-DCMK_MEMORY_BUILD_VERBOSE
-touch-on-failure
))
585 $(eval
$(call libmem
,os-paranoid
, memory-paranoid.c
, -DCMK_MEMORY_BUILD_OS_WRAPPED
-DCMK_MEMORY_BUILD_PARANOID
-touch-on-failure
))
586 $(eval
$(call libmem
,os-leak
, memory-leak.c
, -DCMK_MEMORY_BUILD_OS_WRAPPED
-DCMK_MEMORY_BUILD_LEAK
-touch-on-failure
))
587 $(eval
$(call libmem
,os-isomalloc
, memory-isomalloc.c
, -DCMK_MEMORY_BUILD_OS_WRAPPED
-DCMK_MEMORY_BUILD_ISOMALLOC
-touch-on-failure
))
588 $(eval
$(call libmem
,os-lock
, memory-lock.c
, -DCMK_MEMORY_BUILD_OS_WRAPPED
-DCMK_MEMORY_BUILD_LOCK
-touch-on-failure
))
589 $(eval
$(call libmem
,os-charmdebug
, memory-charmdebug.c
, -DCMK_MEMORY_BUILD_OS_WRAPPED
-DCMK_MEMORY_BUILD_CHARMDEBUG
-touch-on-failure
))
590 $(L
)/libmemory-os-wrapper.a
: memory-os-wrapper.C
$(MEM_DEPS
)
591 -$(CHARMC
) -o
$@ memory-os-wrapper.C || touch
$@
593 $(eval
$(call libmem
,hooks-charmdebug
,,-DCMK_MEMORY_BUILD_GNU_HOOKS
-DCMK_MEMORY_BUILD_CHARMDEBUG
-touch-on-failure
))
595 # If the system doesn't have sbrk, these compilations may fail.
596 # This is OK, but then we can't use "-memory gnu" or friends.
597 $(eval
$(call libmem
,gnu
, ,-DCMK_MEMORY_BUILD_GNU
-touch-on-failure
))
598 $(eval
$(call libmem
,verbose
, memory-verbose.c
,-DCMK_MEMORY_BUILD_VERBOSE
-touch-on-failure
))
599 $(eval
$(call libmem
,paranoid
, memory-paranoid.c
,-DCMK_MEMORY_BUILD_PARANOID
-touch-on-failure
))
600 $(eval
$(call libmem
,leak
, memory-leak.c
,-DCMK_MEMORY_BUILD_LEAK
-touch-on-failure
))
601 $(eval
$(call libmem
,cache
, memory-cache.c
,-DCMK_MEMORY_BUILD_CACHE
-touch-on-failure
))
602 $(eval
$(call libmem
,isomalloc
, memory-isomalloc.c
,-DCMK_MEMORY_BUILD_ISOMALLOC
-touch-on-failure
))
603 $(eval
$(call libmem
,charmdebug
, memory-charmdebug.c
,-DCMK_MEMORY_BUILD_CHARMDEBUG
-optimize
-touch-on-failure
))
604 $(eval
$(call libmem
,charmdebug-slot
, memory-charmdebug.c
,-DCMK_MEMORY_BUILD_CHARMDEBUG
-DCMK_SEPARATE_SLOT
-optimize
-touch-on-failure
))
605 $(eval
$(call libmem
,charmdebug-mmap
, memory-charmdebug.c
,-DCMK_MEMORY_BUILD_CHARMDEBUG
-DCPD_USE_MMAP
-optimize
-touch-on-failure
))
606 $(eval
$(call libmem
,charmdebug-mmap-slot
,memory-charmdebug.c
,-DCMK_MEMORY_BUILD_CHARMDEBUG
-DCPD_USE_MMAP
-DCMK_SEPARATE_SLOT
-optimize
-touch-on-failure
))
608 ## Thread libraries (-thread)
610 LIBTHREADSDEPS
= $(CVHEADERS
) QUICK_THREADS
612 libthreads-
%.c
: threads.c
615 # $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'
617 $(L
)/libthreads-
$1.a
: libthreads-
$1.c
$(LIBTHREADSDEPS
) $2
618 if
[ `ls boost-context/*.o 2>/dev/null | wc -l` -gt
0 -a
$4 -eq
1 ]; then \
619 $(CHARMC
) -IQuickThreads
-I.
-o
$$@
$3 boost-context
/*.o
$$<; \
621 $(CHARMC
) -IQuickThreads
-I.
-o
$$@
$3 $$<; \
626 $(MAKE
) -C boost-context
628 $(eval
$(call libthreads
,default
, uFcontext_asm
,-DCMK_THREADS_BUILD_DEFAULT
=1, 1 ))
629 $(eval
$(call libthreads
,default-tls
, uFcontext_asm
,-DCMK_THREADS_BUILD_DEFAULT
-DCMK_THREADS_BUILD_TLS
=1 -touch-on-failure
, 1 ))
630 $(eval
$(call libthreads
,qt
, ,-DCMK_THREADS_BUILD_QT
=1, 0))
631 $(eval
$(call libthreads
,qt-tls
, ,-DCMK_THREADS_BUILD_QT
=1 -DCMK_THREADS_BUILD_TLS
=1 -touch-on-failure
, 0))
632 $(eval
$(call libthreads
,context
, ,-DCMK_THREADS_BUILD_CONTEXT
=1 -touch-on-failure
, 0))
633 $(eval
$(call libthreads
,context-tls
, ,-DCMK_THREADS_BUILD_CONTEXT
=1 -DCMK_THREADS_BUILD_TLS
=1 -touch-on-failure
, 0))
634 $(eval
$(call libthreads
,uJcontext
, uJcontext.c
,-DCMK_THREADS_BUILD_JCONTEXT
=1 -U_FORTIFY_SOURCE
-touch-on-failure
,0))
635 $(eval
$(call libthreads
,uJcontext-tls
, uJcontext.c
,-DCMK_THREADS_BUILD_JCONTEXT
=1 -DCMK_THREADS_BUILD_TLS
=1 -U_FORTIFY_SOURCE
-touch-on-failure
,0))
636 $(eval
$(call libthreads
,uFcontext
, uFcontext_asm
,-DCMK_THREADS_BUILD_FCONTEXT
=1 -U_FORTIFY_SOURCE
-touch-on-failure
, 1))
637 $(eval
$(call libthreads
,uFcontext-tls
, uFcontext_asm
,-DCMK_THREADS_BUILD_FCONTEXT
=1 -DCMK_THREADS_BUILD_TLS
=1 -U_FORTIFY_SOURCE
-touch-on-failure
, 1))
638 $(eval
$(call libthreads
,pthreads
, ,-DCMK_THREADS_BUILD_PTHREADS
=1 -touch-on-failure
,0))
639 $(eval
$(call libthreads
,fibers
, ,-DCMK_THREADS_BUILD_FIBERS
=1 -touch-on-failure
,0))
640 $(eval
$(call libthreads
,stackcopy
, ,-DCMK_THREADS_BUILD_STACKCOPY
=1 -touch-on-failure
,0))
641 $(eval
$(call libthreads
,memoryalias
, ,-DCMK_THREADS_BUILD_DEFAULT
=1 -DCMK_THREADS_ALIAS_STACK
=1 -touch-on-failure
,0))
642 $(eval
$(call libthreads
,qt-memoryalias
, ,-DCMK_THREADS_BUILD_QT
=1 -DCMK_THREADS_ALIAS_STACK
=1 -touch-on-failure
,0))
643 $(eval
$(call libthreads
,context-memoryalias
, ,-DCMK_THREADS_BUILD_CONTEXT
=1 -DCMK_THREADS_ALIAS_STACK
=1 -touch-on-failure
,0))
644 $(eval
$(call libthreads
,uJcontext-memoryalias
,uJcontext.c
,-DCMK_THREADS_BUILD_JCONTEXT
=1 -DCMK_THREADS_ALIAS_STACK
=1 -U_FORTIFY_SOURCE
-touch-on-failure
,0))
646 ## Global swapping (-swapglobal)
647 swapglobal-target
: $(L
)/libglobal-swap.a
649 $(L
)/libglobal-swap.a
: global-elfgot.C
$(CVHEADERS
)
650 -$(CHARMC
) -c global-elfgot.C
-o
$@ || touch
$@
652 ###############################################################################
656 ###############################################################################
658 CK_LIBS_CORE
=$(L
)/libck.a
660 LIBCK_CORE
=trace-common.o tracec.o tracef.o init.o register.o qd.o ck.o \
661 msgalloc.o ckfutures.o ckIgetControl.o debug-message.o debug-charm.o ckcallback.o \
662 cklocation.o ckmulticast.o ckarrayoptions.o ckarray.o ckreduction.o ckrdma.o\
663 waitqd.o LBDatabase.o MetaBalancer.o weakTest.o treeTest.o forestTest.o readmodel.o lbdb.o lbdbf.o ckobjQ.o \
664 LBAgent.o LBProfit.o ckcheckpoint.o ckmemcheckpoint.o ckevacuation.o ckmessagelogging.o ckcausalmlog.o ckobjid.o\
665 LBDBManager.o LBComm.o LBObj.o LBMachineUtil.o CentralPredictor.o \
666 BaseLB.o CentralLB.o HybridBaseLB.o NborBaseLB.o DistBaseLB.o \
667 ckgraphTemp.o ckgraph.o LButil.o RefinerTemp.o Refiner.o RefinerApprox.o \
668 manager.o RefinerComm.o bitvecset.o ckset.o ckheap.o CommLBHeap.o \
669 NullLB.o LBSimulation.o modifyScheduler.o \
670 charmProjections.o cktiming.o ckbitvector.o \
671 pathHistory.o controlPoints.o arrayRedistributor.o cp_effects.o \
672 trace-controlPoints.o mpi-interoperate.o ckregex.o sdag.o \
674 charm-core
: converse
$(L
)/libck.a
$(L
)/libckf.a
$(L
)/libckmain.a
$(L
)/libckmainf.a
675 charm-target
: loadbalancers default_libs
$(L
)/libmpi-mainmodule.a tmgr
677 CHARMLIBS
: charm
++ CONVLIBS
$(BIGSIM
)
678 $(MAKE
) -C libs charmlibs
680 $(L
)/libck.a
: $(LIBCK_CORE
)
681 $(CHARMC
) -o
$@
$(LIBCK_CORE
)
683 ## Charm fortran AMPI
685 CK_FOR_LIBS_CORE
=$(L
)/libckf.a
687 LIBCKF_CORE
=charmf.o charmmod.o
689 $(L
)/libckf.a
: $(LIBCKF_CORE
)
690 -$(CHARMC
) -o
$@
$(LIBCKF_CORE
) || touch
$@
692 charmf.o
: charmf.C
$(CKHEADERS
) charmf.h
693 $(CHARMC
) -c
-I. charmf.C
695 charmmod.o
: charmmod.f90
696 -$(CHARMC
) -c charmmod.f90 || touch
$@
697 -$(CHARMC
) -cpmod ..
/include charm.M
700 -$(CHARMC
) -o
$@
-c
$< || touch
$@
702 ## Tracing libraries (profiling, -tracemode)
703 LIBTRACE_PROJ
=trace-projections.o
704 $(L
)/libtrace-projections.a
: $(LIBTRACE_PROJ
)
705 $(CHARMC
) -o
$@
$(LIBTRACE_PROJ
)
707 LIBTRACE_CP
=trace-controlPoints.o
708 $(L
)/libtrace-controlPoints.a
: $(LIBTRACE_CP
)
709 $(CHARMC
) -o
$@
$(LIBTRACE_CP
)
711 LIBTRACE_AP
=trace-perf.o picsautoperf.o picsautoperfAPI.o picstreenode.o picsdecisiontree.o
712 $(L
)/libtrace-perfReport.a
: $(LIBTRACE_AP
)
713 $(CHARMC
) -o
$@
$(LIBTRACE_AP
)
715 LIBTRACE_SUMM
=trace-summary.o
716 $(L
)/libtrace-summary.a
: $(LIBTRACE_SUMM
)
717 $(CHARMC
) -o
$@
$(LIBTRACE_SUMM
)
719 LIBTRACE_UTIL
=trace-utilization.o
720 $(L
)/libtrace-utilization.a
: $(LIBTRACE_UTIL
)
721 $(CHARMC
) -o
$@
$(LIBTRACE_UTIL
)
723 LIBTRACE_SIMPLE
=trace-simple.o
724 $(L
)/libtrace-simple.a
: $(LIBTRACE_SIMPLE
)
725 $(CHARMC
) -o
$@
$(LIBTRACE_SIMPLE
)
727 libtrace-Tau.o
: trace-Tau.C charm
++.h charm.h converse.h conv-config.h \
728 conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
729 conv-mach-ifort.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h \
730 conv-random.h conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h \
731 middle.h middle-conv.h cklists.h ckbitvector.h ckstream.h init.h \
732 ckhashtable.h debug-charm.h CkMarshall.decl.h cksection.h ckcallback.h \
733 conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
735 ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h cklocrec.h ckmigratable.h \
736 cklocation.h ckmulticast.h LBDatabase.h MetaBalancer.h RandomForestModel.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
737 LBMachineUtil.h lbdb
++.h LBDatabase.decl.h MetaBalancer.decl.h NullLB.decl.h BaseLB.decl.h \
738 CkLocation.decl.h CkMulticast.decl.h CkArray.decl.h objid.h envelope.h envelope-path.h XArraySectionReducer.h CkFutures.decl.h \
739 waitqd.h waitqd.decl.h \
740 sdag.h ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h \
741 trace.h trace-bluegene.h trace-simple.h \
742 register.h trace-common.h trace-simpleBOC.h TraceSimple.decl.h \
743 TraceSimple.def.h ckregex.h
744 $(CHARMC
) -c
-I.
$(TAU_INCLUDE
) $(TAU_DEFS
) trace-Tau.C
-o libtrace-Tau.o
746 tau_selective.o
: $(TAUROOT
)/utils
/tau_selective.
cpp
747 $(CHARMC
) -I
$(TAUROOT
)/utils
-DTAU_DYNINST
$(TAUROOT
)/utils
/tau_selective.
cpp
749 $(L
)/libtrace-Tau.a
: $(TAU_TRACE_OBJ
) tau_selective.o
750 $(CHARMC
) $(TAU_LIBS
) -o
$@
$(TAU_TRACE_OBJ
) tau_selective.o
$(TAU_TRACE_OBJ
)
752 LIBTRACE_COUNT
=trace-counter.o
753 $(L
)/libtrace-counter.a
: $(LIBTRACE_COUNT
)
754 $(CHARMC
) -o
$@
$(LIBTRACE_COUNT
)
756 LIBTRACE_BG
=trace-bluegene.o
757 $(L
)/libtrace-bluegene.a
:$(LIBTRACE_BG
)
758 $(CHARMC
) -o
$@
$(LIBTRACE_BG
)
760 LIBTRACE_MEMORY
=trace-memory.o
761 $(L
)/libtrace-memory.a
: $(LIBTRACE_MEMORY
)
762 $(CHARMC
) -o
$@
$(LIBTRACE_MEMORY
)
764 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 \
765 $(TAU_TRACE_OBJ
) trace-projector.o traceCore.o traceCoreCommon.o charmProjections.o converseProjections.o machineProjections.o trace-memory.o trace-utilization.o
767 $(L
)/libtrace-all.a
: $(LIBTRACE_ALL
)
768 $(CHARMC
) -o
$@
$(LIBTRACE_ALL
)
770 LIBTRACE_PROJECTOR
=trace-projector.o traceCore.o traceCoreCommon.o charmProjections.o converseProjections.o machineProjections.o
771 $(L
)/libtrace-projector.a
: $(LIBTRACE_PROJECTOR
)
772 $(CHARMC
) -o
$@
$(LIBTRACE_PROJECTOR
)
774 LIBTRACE_CONVERSE
=trace-converse.o
775 $(L
)/libtrace-converse.a
: $(LIBTRACE_CONVERSE
)
776 $(CHARMC
) -o
$@
$(LIBTRACE_CONVERSE
)
778 LIBTRACE_FOR
=tracef_f.o
779 $(L
)/libtracef_f.a
: $(LIBTRACE_FOR
)
780 -$(CHARMC
) -o
$@
$(LIBTRACE_FOR
) || touch
$@
782 tracef_f.o
: tracef_f.f90
783 -$(CHARMC
) -o
$@
-c tracef_f.f90
&& $(CHARMC
) -cpmod ..
/include tracemod.M || touch
$@
785 # used for make depends
786 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 \
787 trace-counter.o trace-utilization.o \
788 trace-bluegene.o trace-projector.o trace-converse.o trace-all.o \
791 ###############################################################################
793 # Dynamic Load Balancers
795 ###############################################################################
797 loadbalancers
: $(COMMON_LDBS
) $(L
)/libmoduleCommonLBs.a
799 everylb
: $(ALL_LDBS
) $(L
)/libmoduleEveryLB.a
800 MetisLB.o GridMetisLB.o
: metis
802 %LB
: $(L
)/libmodule
%LB.a
804 $(L
)/libmodule
%LB.a
: %LB.o
806 ( [ -r libmodule
$*LB.dep
] && cp
-f libmodule
$*LB.dep
$(L
)/ ) || true
807 $(L
)/libmoduleCommonLBs.a
:
809 ( [ -r libmoduleCommonLBs.dep
] && cp
-f libmoduleCommonLBs.dep
$(L
)/ ) || true
811 ###############################################################################
815 ###############################################################################
817 bigsim
: bigsim-target
821 bigsim-target
: charm
++ $(L
)/libconv-bigsim.a
$(L
)/libconv-bigsim-logs.a
$(L
)/libconv-bluegene-stub.a
$(L
)/libblue-standalone.a
823 $(L
)/libbluegene.a
: BlueGene.o
826 # (Converse) Blue Gene emulator
827 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
828 BIGSIM_IO_OBJS
= bigsim_read.o bigsim_logs.o bigsim_api.o
830 LIBBLUE_OBJS
= $(BLUE_OBJS
) $(BIGSIM_IO_OBJS
) blue_stub.o blue_standalone.o
832 $(L
)/libconv-bigsim.a
: $(BLUE_OBJS
)
835 $(L
)/libconv-bigsim-logs.a
: $(BIGSIM_IO_OBJS
)
838 $(L
)/libconv-bluegene-stub.a
: blue_stub.o
841 $(L
)/libblue-standalone.a
: blue_standalone.o
844 ###############################################################################
848 ###############################################################################
851 $(NATIVECHARMC
) -language c
-o conv-cpm
-cp ..
/bin
/ conv-cpm.o
853 conv-cpm.o
: conv-cpm.c
$(CVHEADERS
)
854 $(NATIVECHARMC
) conv-cpm.c
856 ###############################################################################
858 # The interface translator
860 ###############################################################################
862 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
863 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
864 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
865 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
867 $(CHARMXIOBJ
) $(SDAGOBJ
): $(XIHEADERS
) $(SDAGHEADERS
)
868 $(CHARMXIOBJ
) $(SDAGOBJ
): CXX
=$(NATIVECHARMC
)
869 $(CHARMXIOBJ
) $(SDAGOBJ
): CXXFLAGS
=-I
$(SRCBASE
)/xlat-i
/ -I
$(SRCBASE
)/xlat-i
/sdag
/ -I.
870 xi-scan.o
: CXXFLAGS
+=-DYY_NEVER_INTERACTIVE
871 VPATH
=$(SRCBASE
)/xlat-i
:$(SRCBASE
)/xlat-i
/sdag
:$(SRCBASE
)/xlat-i
/sdag
/constructs
873 charmxi
: ..
/bin
/charmxi
875 ..
/bin
/charmxi
: $(CHARMXIOBJ
) $(SDAGOBJ
)
876 $(NATIVECHARMC
) -language c
++ -cp ..
/bin
/ -o charmxi
$^
879 rm $(CHARMXIOBJ
) $(SDAGOBJ
)
881 ###############################################################################
885 ###############################################################################
887 $(L
)/libtsm.a
: converse simplemsg.c simplemsg.h
888 $(CHARMC
) -o
$@ simplemsg.c
890 $(L
)/libsm.a
: converse sm.c sm.h
893 ###############################################################################
897 ###############################################################################
899 PVMC
=pvmc_buf.o pvmc_comm.o pvmc_conv.o pvmc_main.o pvmc_pack.o pvmc_groups.o
901 $(L
)/libpvmc.a
: $(PVMC
)
902 $(CHARMC
) -o
$@
$(PVMC
)
904 pvmc_buf.o
: pvmc_buf.c pvmc.h pvm3.h converse.h
905 $(CHARMC
) -o
$@ pvmc_buf.c
907 pvmc_conv.o
: pvmc_conv.c pvmc.h pvm3.h converse.h
908 $(CHARMC
) -o
$@ pvmc_conv.c
910 pvmc_pack.o
: pvmc_pack.c pvmc.h pvm3.h converse.h
911 $(CHARMC
) -o
$@ pvmc_pack.c
913 pvmc_comm.o
: pvmc_comm.c pvmc.h pvm3.h converse.h
914 $(CHARMC
) -o
$@ pvmc_comm.c
916 pvmc_groups.o
: pvmc_groups.c pvmc.h pvm3.h converse.h
917 $(CHARMC
) -o
$@ pvmc_groups.c
919 pvmc_main.o
: pvmc_main.c pvmc.h pvm3.h converse.h
920 $(CHARMC
) -o
$@ pvmc_main.c
922 $(L
)/libf90charm.a
: charmxi f90main.ci f90main.h f90main.C
924 $(CHARMC
) -c
-DAMPI_FORTRAN
=1 f90main.C
925 -$(CHARMC
) -o
$@ f90main.o
927 ##############################################################################
928 # adding this entry for files which do not belong to any of other locations
930 OTHER_OBJS
= mpi-mainmodule.o main.o custom_partitioner.o BlueGene.o set_partition_params.o
932 ##############################################################################
934 ###############################################################################
938 ###############################################################################
941 @
test ! -d
$(DESTDIR
)/include && mkdir
-p
$(DESTDIR
)/include || true
942 @
test ! -d
$(DESTDIR
)/lib
&& mkdir
-p
$(DESTDIR
)/lib || true
943 @
test ! -d
$(DESTDIR
)/lib_so
&& mkdir
-p
$(DESTDIR
)/lib_so || true
944 @
test ! -d
$(DESTDIR
)/bin
&& mkdir
-p
$(DESTDIR
)/bin || true
945 # cp -f ../include/* $(DESTDIR)/include
946 for f in ..
/include/*; do if
test -f
$$f; then cp
-f
$$f $(DESTDIR
)/include; fi
; done
947 cp
-f ..
/lib
/* $(DESTDIR
)/lib
948 cp
-f ..
/lib_so
/* $(DESTDIR
)/lib_so || true
949 # cp -f ../bin/* $(DESTDIR)/bin
950 for f in ..
/bin
/*; do if
test -f
$$f; then cp
-f
$$f $(DESTDIR
)/bin
; fi
; done
954 rm -f conv-autoconfig.h config.cache
955 rm -f QuickThreads
/libckqt.a
956 rm -f charmxi conv-cpm
957 rm -f TAGS basics cmk_extras core
963 if
[ -d charmrun-src
] ; then
( $(MAKE
) -C charmrun-src
clean ) ; fi
964 -( $(MAKE
) -C doc
clean )
965 ( $(MAKE
) -C libs
clean )
966 ( $(MAKE
) -C ..
/examples
clean )
967 ( $(MAKE
) -C ..
/tests
clean )
977 mv Makefile .Makefile
978 mv Make.depends .Make.depends
980 mv .Make.depends Make.depends
981 rm -rf .
[a-z
]* .
[A-Z
]*
984 config
: configure conv-autoconfig.h.in
987 echo
"Creating " $(CIDEPENDFILE
) " ...";
988 if
[ -f
$(CIDEPENDFILE
) ]; then \
989 /bin
/cp
-f
$(CIDEPENDFILE
) $(CIDEPENDFILE
).old
; \
991 echo
'#generated by make cidepends' > $(CIDEPENDFILE
); \
992 for cifile in
$(sort $(wildcard *.ci
)); do \
993 echo
"checking generated modules for $$cifile" ; \
994 $(CHARMXI
) -M
$$cifile | sed
'/\.stamp:/a \\t $$(CHARMC) -intrinsic $$< && touch $$@' >> $(CIDEPENDFILE
) ; \
997 depends
: cidepends commitid.c
999 echo
"Creating " $(DEPENDFILE
) " ...";
1000 if
[ -f
$(DEPENDFILE
) ]; then \
1001 /bin
/cp
-f
$(DEPENDFILE
) $(DEPENDFILE
).old
; \
1003 echo
'#generated by make depends' > $(DEPENDFILE
); \
1005 for i in
$(sort $(LIBCONV_CORE
) $(LIBCONV_LDB
) $(LIBCONV_UTIL
) $(TRACE_OBJS
) $(LIBCK_CORE
) $(ALL_LB_OBJS
) $(LIBBLUE_OBJS
) $(OTHER_OBJS
)) ; do \
1006 processed
='false'; \
1007 for f in
$$processFiles; do \
1008 if
test $$i = $$f ; then \
1009 processed
=true
; break
; \
1012 test $$processed = 'true' && continue
; \
1013 processFiles
="$$processFiles $$i"; \
1014 SRCFILE
=`basename $$i .o`.C
; \
1015 [ ! -f
$$SRCFILE ] && SRCFILE
=`basename $$i .o`.c
; \
1016 echo
"checking dependencies for $$SRCFILE" ; \
1017 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
; \
1018 echo
'' >> $(DEPENDFILE
) ; \
1021 dependsCaseSensitive
: cidepends
1023 @echo
"Creating " $(DEPENDFILE
) " ...";
1024 if
[ -f
$(DEPENDFILE
) ]; then \
1025 /bin
/cp
-f
$(DEPENDFILE
) $(DEPENDFILE
).old
; \
1027 echo
'#generated by make depends' > $(DEPENDFILE
); \
1029 for i in
$(sort $(LIBCONV_CORE
) $(LIBCONV_UTIL
) $(TRACE_OBJS
) $(LIBCK_CORE
) $(ALL_LB_OBJS
) $(LIBBLUE_OBJS
) $(OTHER_OBJS
)); do \
1030 processed
='false'; \
1031 for f in
$$processFiles; do \
1032 if
test $$i = $$f ; then \
1033 processed
=true
; break
; \
1036 test $$processed = 'true' && continue
; \
1037 processFiles
="$$processFiles $$i"; \
1038 SRCFILE
=`basename $$i .o`.C
; \
1039 SRCDIR
=`dirname $$i` ; \
1040 found
=`/usr/bin/find $$SRCDIR -depth 1 -name $$SRCFILE`; \
1041 [ ! $$found ] && SRCFILE
=`basename $$i .o`.c
; \
1042 echo
"checking dependencies for $$SRCFILE" ; \
1043 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
; \
1044 echo
'' >> $(DEPENDFILE
) ; \
1047 # The build script should have spit out the build options into this makefile
1048 -include buildopts.mk
1049 # If OPTS was not defined, use the build time options
1050 export OPTS ?
= $(OPTSATBUILDTIME
)
1051 ifeq ($(strip $(OPTS
)),)
1052 $(warning Variable OPTS is defined to an empty string. Are you sure this is what you want?
)
1057 machine.o
: machine.d
1058 machine.d
: machine.C conv-autoconfig.h
$(CKHEADERS
)
1061 $(CHARMC
) $(OPTS
) -M
-I.
-I
$(INC
) $< >$@.
$$$$; \
1062 sed
-e
's,\($*\)\.o[ :]*,\1.o $@ : ,g' -e
"s,[Cc]:/,`command -v cygpath >/dev/null 2>&1 && cygpath -u 'C:/' || echo '/c'`/," < $@.
$$$$ > $@
; \