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 ###############################################################################
29 include conv-mach-opt.mak
36 all: charm
++ bigsim LIBS AMPI f90charm TSM SM PVM doc everylb
39 $(MAKE
) -C ..
/tests
all
40 $(MAKE
) -C ..
/examples
all
43 @echo
"$(OPTS)" > OPTS
48 TSM
: converse
$(L
)/libtsm.a
50 SM
: converse
$(L
)/libsm.a
52 PVM
: converse
$(L
)/libpvmc.a
55 $(MAKE
) -C libs
/ck-libs
/amr
all
60 $(MAKE
) -C libs
/ck-libs
/ ParFUM
62 MBLOCK
: AMPI MBLOCKC MBLOCKF
68 AMPI
: charm
++ $(BIGSIM
)
69 $(MAKE
) -C libs
/ck-libs
/ ampi
76 f90charm
: charm
++ $(L
)/libf90charm.a
79 cd
$(L
) ; $(CHARMC
) -standalone
-whole-archive
-c
++stl
-shared
-o libcharm.so
$(LIBCHARM_LIBS
)
85 LIBCHARM_LIBS
= libck.a libconv-core.a libconv-util.a libmemory-default.a libconv-machine.a \
86 libthreads-default.a libconv-partition.a libtmgr.a libhwloc_embedded.a \
87 libldb-rand.a libconv-ldb.a libmoduleGreedyRefineLB.a
89 DEFAULT_LIBS
= completion NDMeshStreamer dummy pythonCCS io ckloop
91 default_libs
: $(DEFAULT_LIBS
)
93 $(DEFAULT_LIBS
) cache pose fftlib liveViz metis
:
94 $(MAKE
) -C libs
/ck-libs
/$@
97 $(MAKE
) -C libs
/conv-libs
/$@
99 ChaNGa
: charm
++ cache liveViz everylb ckloop
109 NDMeshStreamer
: charm-core completion
111 $(L
)/libmpi-mainmodule.a
: mpi-mainmodule.o
116 $(MAKE
) -C topomanager
-f Makefile_charm
118 $(L
)/libckmain.a
: main.o
121 $(L
)/libckmainf.a
: mainf.o
122 -$(CHARMC
) -o
$@
$^ || touch
$@
124 translators
: charmxi conv-cpm
127 $(MAKE
) -C libs
/ck-libs
/multiphaseSharedArrays
130 # make the lib, include
131 $(MAKE
) -C langs
/jade
134 # This should be done offline, since the user does not need to compile
135 # parser files, etc. All they need is the libjade + include files,
136 # antlr.jar, jade.jar, and a few scripts which the jade target takes
139 # make parser.g -> .java files
140 # $(MAKE) -C langs/jade p
141 # make the jade.jar file
142 # $(MAKE) -C ../java/charm/jade
145 TAU_MAKEFILE
=Make.tau
146 include $(TAU_MAKEFILE
) #stub-makefile
148 #builds TAU's trace library
150 echo
"buliding charm trace library with support for TAU."
151 $(MAKE
) $(L
)/libtrace-Tau.a
$(L
)/libtrace-all.a TAU_TRACE_OBJ
=libtrace-Tau.o
153 LIBS
: CONVLIBS CHARMLIBS everylb
154 $(MAKE
) -C libs otherlibs
155 echo
"Built LIBS Successfully"
158 $(MAKE
) -C ..
/tests bgtest
159 $(MAKE
) -C ..
/examples bgtest
161 syncfttest causalfttest mpisyncfttest mlogfttest
: charm
++ LIBS
162 $(MAKE
) -C ..
/tests
$@
165 $(MAKE
) -C ..
/tests
test
166 $(MAKE
) -C ..
/examples
test
168 test-tests
: bigsim LIBS
169 $(MAKE
) -C ..
/tests
test
171 test-examples
: bigsim LIBS
172 $(MAKE
) -C ..
/examples
test
174 test-converse
: converse
175 $(MAKE
) -C ..
/tests test-converse
178 $(MAKE
) -C ..
/tests test-charm
181 $(MAKE
) -C ..
/tests test-AMPI
187 $(MAKE
) -C ..
/doc pdf
190 $(MAKE
) -C ..
/doc html
193 $(MAKE
) -C ..
/doc doc
195 CHARMC
=..
/bin
/charmc
$(CHARMOPTS
) $(OPTS
)
197 SEQCHARMC
=..
/bin
/charmc
-seq
$(CHARMOPTS
)
199 NATIVECHARMC
=..
/bin
/charmc
-host
$(CHARMOPTS
)
201 CHARMXI
=..
/bin
/charmc
-intrinsic
$(OPTS
)
203 CIDEPENDFILE
= Make.cidepends
204 DEPENDFILE
= Make.depends
206 include $(CIDEPENDFILE
)
207 include $(DEPENDFILE
)
209 CIFILES
= $(wildcard *.ci
)
211 %.ci.stamp
: %.ci ..
/bin
/charmxi
212 $(CHARMXI
) $< && touch
$@
214 # Automatically generated by script Makefile_lb.sh
217 # Build changes for external libraries
220 # GPU manager support
223 ###############################################################################
225 # The basics (bin, lib, include, headers, charmc, conv-mach.sh)
227 ###############################################################################
229 CVHEADERS
=cpthreads.h converse.h conv-trace.h conv-random.h conv-qd.h \
230 msgq.h queueing.h conv-taskQ.h taskqueue.h conv-cpath.h conv-cpm.h persistent.h\
231 trace.h trace-common.h trace-bluegene.h trace-projections.h \
232 trace-simple.h trace-controlPoints.h charm-api.h \
233 conv-ccs.h ccs-client.c ccs-client.h \
234 ccs-server.h ccs-auth.c ccs-auth.h \
235 memory-isomalloc.h debug-conv.h debug-conv
++.h conv-autoconfig.h \
236 conv-common.h conv-config.sh conv-config.h conv-mach.h conv-mach.sh conv-mach-common.h \
237 blue.h blue-conv.h bgconverse.h cmipool.h mempool.h cmiqueue.h \
238 cmitls.h lrtslock.h conv-rdma.h lrts-common.h conv-header.h
240 # The .c files are there to be #included by clients whole
241 # This is a bit unusual, but makes client linking simpler.
242 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\
243 ckimage.h ckdll.h ckhashtable.h ckbitvector.h cklists.h ckliststring.h \
244 cksequence.h ckstatistics.h ckvector3d.h conv-lists.h ckcomplex.h \
245 sockRoutines.h sockRoutines.c cmimemcpy.h simd.h SSE-Double.h SSE-Float.h \
246 crc32.h ckBIconfig.h rand48_replacement.h ckregex.h spanningTree.h cmirdmautils.h
248 CKHEADERS
=ck.h ckstream.h objid.h envelope.h init.h qd.h charm.h charm
++.h \
249 ckfutures.h ckIgetControl.h cktiming.h debug-charm.h\
250 ckcallback.h CkCallback.decl.h ckcallback-ccs.h \
251 cksection.h ckmessage.h cklocrec.h ckmigratable.h \
252 ckarrayindex.h ckarrayoptions.h ckarray.h cklocation.h ckmulticast.h ckreduction.h \
253 ckcheckpoint.h ckmemcheckpoint.h ckevacuation.h ckrdma.h\
254 ckmessagelogging.h ckcausalmlog.h ckobjid.h\
255 ckobjQ.h readonly.h charm
++_type_traits.h \
257 waitqd.h LBDatabase.h MetaBalancer.h RandomForestModel.h lbdb.h lbdb
++.h LBProfit.h
$(LBHEADERS
) \
258 LBDBManager.h LBComm.h LBOM.h LBObj.h LBMachineUtil.h LBAgent.h \
259 RefinerTemp.h Refiner.h RefinerApprox.h RefinerComm.h ckgraphTemp.h ckgraph.h ckheap.h \
260 elements.h CommLBHeap.h topology.h manager.h \
261 BaseLB.h CentralLB.h CentralLBMsg.h \
262 NborBaseLB.h DistBaseLB.h HybridBaseLB.h HybridLBMsg.h \
264 BlueGene.h middle.h middle-conv.h middle-blue.h \
265 CkMarshall.decl.h CkArray.decl.h CkLocation.decl.h CkMulticast.decl.h \
268 CkFutures.decl.h CkCheckpoint.decl.h CkCheckpointStatus.decl.h CkMemCheckpoint.decl.h \
269 LBDatabase.decl.h MetaBalancer.decl.h CentralLB.decl.h NullLB.decl.h \
271 NborBaseLB.decl.h DistBaseLB.decl.h \
272 HybridBaseLB.decl.h EveryLB.decl.h CommonLBs.decl.h \
273 TraceSummary.decl.h TraceAutoPerf.decl.h TraceProjections.decl.h \
274 TraceSimple.decl.h TraceControlPoints.decl.h TraceTau.decl.h \
275 TraceUtilization.decl.h BlueGene.decl.h \
276 ControlPoints.decl.h PathHistory.decl.h \
277 pathHistory.h envelope-path.h \
278 XArraySectionReducer.h \
279 controlPoints.h controlPointsf.h arrayRedistributor.h cp_effects.h register.h stats.h \
280 cksequence_internal.h cksequence_factory.h random_sequence.h strided_sequence.h \
281 mpi-interoperate.h mpi_main.decl.h \
282 trace-perf.h picsdefs.h picsautoperf.h picstreenode.h \
284 picsautoperfAPI.h picsautoperfAPIC.h \
287 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
289 ALLHEADERS
=$(CKHEADERS
) \
290 simplemsg.h sm.h pvmc.h pvm3.h sdag.h vector2d.h \
291 bitvecset.h ckset.h LBSimulation.h \
297 # Headers is used only for the dependencies
298 headers
: dirs
+sources
299 $(MAKE
) -C topomanager
-f Makefile_charm headers
303 configure
: Makefile.am configure.ac
306 conv-autoconfig.h.in
: configure.ac
309 conv-autoconfig.h
: configure conv-autoconfig.h.in config_opts.sh
310 @. .
/config_opts.sh
; echo .
/configure
$(QUIET
) $$CONFIG_OPTS; \
311 .
/configure
$(QUIET
) $$CONFIG_OPTS && touch conv-autoconfig.h
313 .PHONY
: clean veryclean VERSION.new config
316 SRCBASE
=$(SRCBASE
) .
/commitid.sh
319 echo
"extern const char * const CmiCommitID;" > $@
320 echo
"const char * const CmiCommitID = \"`cat VERSION`\";" >> $@
321 commitid.o
: CC
=$(CHARMC
)
323 headerlinks
: dirs
+sources Makefile
$(ALLHEADERS
)
324 @
[ "x$QUIET" = "x--quiet" ] || echo
"Soft-linking headers..."
325 -for hdr in
$(filter-out dirs
+sources Makefile
,$(sort $^
)) ; do
test ! -f
"../include/`basename $$hdr`" && .
/system_ln
"../tmp/$$hdr" ..
/include ; done
330 find .
-type l
-exec
rm {} \
;
334 rm -rf ..
/bin
; mkdir ..
/bin
335 if case
$(CMK_VDIR
) in
*win64
*) true
;; *-win-
*) true
;; *) false
;; esac
; then \
336 cp
-f
$(SRCBASE
)/arch
/win
/unix2nt
* ..
/bin
; \
337 cp
-f
$(SRCBASE
)/arch
/win
/createlink.exe ..
/bin
; \
339 rm -rf ..
/lib
; mkdir ..
/lib
340 ifeq (false
,$(CMK_NO_BUILD_SHARED
))
341 rm -rf ..
/lib_so
; mkdir ..
/lib_so
; touch ..
/lib_so
/.charmso
345 rm -rf ..
/doc
; ln
-s ..
/doc ..
/doc
346 $(SRCBASE
)/scripts
/gatherflat
$(SRCBASE
)/scripts .
347 .
/gatherflat
$(SRCBASE
)/conv-core .
348 .
/gatherflat
$(SRCBASE
)/conv-ldb .
349 .
/gatherflat
$(SRCBASE
)/conv-ccs .
350 .
/gatherflat
$(SRCBASE
)/conv-perf .
351 .
/gatherflat
$(SRCBASE
)/ck-core .
352 .
/gatherflat
$(SRCBASE
)/ck-perf .
353 .
/gatherflat
$(SRCBASE
)/ck-pics .
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
/$(CMK_GDIR
) .
370 test -f
$(SRCBASE
)/arch
/$(CMK_GDIR
)/gdir_link
&& cat
$(SRCBASE
)/arch
/$(CMK_GDIR
)/gdir_link
> .gdir.new
&& .
/gathertree
$(SRCBASE
)/arch
/`cat .gdir.new` . || true
371 .
/gatherflat
$(SRCBASE
)/arch
/$(CMK_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/
384 rm -rf ..
/include ; mkdir ..
/include
385 -.
/system_ln ..
/tmp
/conv-
*.
*h ..
/include
386 -.
/system_ln ..
/tmp
/cc-
*.
*h ..
/include
387 -.
/system_ln ..
/tmp
/conv-mach-opt.sh ..
/include
388 -.
/system_ln ..
/tmp
/conv-mach-opt.mak ..
/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
:= $(CMK_TRACE_ENABLED
)
404 ifneq ($(BUILD_TRACING
),0)
407 $(L
)/libtrace-projections.a \
408 $(L
)/libtrace-controlPoints.a \
409 $(L
)/libtrace-summary.a \
410 $(L
)/libtrace-utilization.a \
411 $(L
)/libtrace-simple.a \
412 $(L
)/libtrace-counter.a \
413 $(L
)/libtrace-bluegene.a \
414 $(L
)/libtrace-projector.a \
415 $(L
)/libtrace-all.a \
416 $(L
)/libtrace-memory.a \
417 $(L
)/libtrace-perfReport.a \
422 $(L
)/libmemory-default.a \
423 $(L
)/libmemory-os.a \
424 $(L
)/libmemory-os-verbose.a \
425 $(L
)/libmemory-os-isomalloc.a \
426 $(L
)/libmemory-os-leak.a \
427 $(L
)/libmemory-os-paranoid.a \
428 $(L
)/libmemory-os-lock.a \
429 $(L
)/libmemory-os-wrapper.a \
431 ifneq ($(CMK_HAS_MMAP
),0)
434 $(L
)/libmemory-gnu.a \
435 $(L
)/libmemory-gnu-verbose.a \
436 $(L
)/libmemory-gnu-paranoid.a \
437 $(L
)/libmemory-gnu-leak.a \
438 $(L
)/libmemory-gnu-isomalloc.a \
442 ifneq ($(CMK_CHARMDEBUG
),0)
443 ifneq ($(CMK_HAS_MMAP
),0)
446 $(L
)/libmemory-gnu-charmdebug.a \
447 $(L
)/libmemory-gnu-charmdebug-mmap.a \
448 $(L
)/libmemory-gnu-charmdebug-slot.a \
449 $(L
)/libmemory-gnu-charmdebug-mmap-slot.a \
450 $(L
)/libmemory-os-charmdebug.a \
452 ifneq ($(CMK_HAS_MALLOC_HOOK
),0)
455 $(L
)/libmemory-hooks-charmdebug.a \
462 ifneq ($(findstring -win64
,$(CMK_VDIR
))$(findstring -win-
,$(CMK_VDIR
)),)
469 $(L
)/libthreads-default.a \
470 $(L
)/libthreads-default-tls.a \
471 $(L
)/libthreads-qt.a \
472 $(L
)/libthreads-qt-tls.a \
473 $(L
)/libthreads-uFcontext.a \
474 $(L
)/libthreads-uFcontext-tls.a \
475 $(L
)/libthreads-stackcopy.a \
477 ifneq ($(IS_WINDOWS
),0)
480 $(L
)/libthreads-fibers.a \
485 $(L
)/libthreads-context.a \
486 $(L
)/libthreads-context-tls.a \
487 $(L
)/libthreads-uJcontext.a \
488 $(L
)/libthreads-uJcontext-tls.a \
489 $(L
)/libthreads-pthreads.a \
490 $(L
)/libthreads-memoryalias.a \
491 $(L
)/libthreads-qt-memoryalias.a \
492 $(L
)/libthreads-context-memoryalias.a \
493 $(L
)/libthreads-uJcontext-memoryalias.a \
497 CVLIBS
=$(L
)/libconv-core.a \
499 $(L
)/libconv-machine.a \
500 $(L
)/libconv-util.a
$(L
)/libconv-utilf.a \
501 $(CLBLIBS
) $(TRACELIBS
) $(MEMLIBS
) $(THREADLIBS
) \
502 $(L
)/libccs-client.a
$(L
)/libconv-partition.a
$(L
)/libhwloc_embedded.a \
505 LIBCONV_CORE
=convcore.o conv-conds.o conv-taskQ.o queueing.o msgmgr.o \
506 cpm.o cpthreads.o futures.o cldb.o random.o \
507 debug-conv.o debug-conv
++.o conv-ccs.o ccs-builtins.o middle-ccs.o \
508 traceCore.o traceCoreCommon.o \
509 converseProjections.o machineProjections.o \
510 quiescence.o isomalloc.o mem-arena.o conv-counter.o memory-darwin-clang.o \
511 global-nop.o cmipool.o cpuaffinity.o cputopology.o \
512 cmitls.o memoryaffinity.o commitid.o conv-interoperate.o conv-rdma.o \
514 LIBCONV_LDB
= topology.o generate.o edgelist.o
516 LIBCONV_UTIL
=pup_util.o pup_toNetwork.o pup_toNetwork4.o \
517 pup_xlater.o pup_c.o pup_paged.o pup_cmialloc.o \
518 ckimage.o ckdll.o ckhashtable.o sockRoutines.o \
519 conv-lists.o persist-comm.o mempool.o \
520 crc32.o lz4.o partitioning_strategies.o hilbert.o \
521 spanningTree.o cmirdmautils.o
523 LIBCONV_UTILF
=pup_f.o
525 include Makefile.machine
527 converse
: charmrun-target swapglobal-target conv-cpm tmgr hwloc-target
529 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
531 hwloc-target
: conv-autoconfig.h
533 ( test -e hwloc
/src
/.libs
/libhwloc_embedded.lib
&& cp
-f hwloc
/src
/.libs
/libhwloc_embedded.lib hwloc
/src
/.libs
/libhwloc_embedded.a
) || true
534 ( cp
-f hwloc
/src
/.libs
/libhwloc_embedded.a
$(L
) )
535 ( cp
-f hwloc
/include/hwloc.h
$(INC
) )
536 ( cp
-LRf hwloc
/include/hwloc
$(INC
) )
537 ifeq (false
,$(CMK_NO_BUILD_SHARED
))
538 ( test -d ..
/lib_so
&& cp
-f hwloc
/src
/.libs
/libhwloc_embedded.
*$(CMK_SHARED_SUF
)* ..
/lib_so
/ ) || true
542 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
543 if
[ -f charmrun
] ; then
( cp
-f charmrun ..
/bin
) ; fi
545 QUICK_THREADS
: $(CVHEADERS
)
546 -( $(MAKE
) -C QuickThreads
clean )
547 ( cd QuickThreads
;.
/configure
)
548 ( $(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
)
549 cp
-f QuickThreads
/libckqt.a ..
/lib
/
550 ifeq (false
,$(CMK_NO_BUILD_SHARED
))
551 -( test -d ..
/lib_so
&& cp
-f QuickThreads
/libckqt.
$(CMK_SHARED_SUF
) ..
/lib_so
/ ) || true
556 $(MAKE
) -C libs convlibs
558 $(L
)/libconv-core.a
: $(LIBCONV_CORE
)
559 $(CHARMC
) $(TAU_LIBS
) -o
$@
$(LIBCONV_CORE
)
561 $(L
)/libconv-partition.a
: custom_partitioner.o set_partition_params.o
564 $(L
)/conv-static.o
: conv-static.o
567 $(L
)/libconv-machine.a
: machine.o
570 machine.o
: machine.C
$(CVHEADERS
)
571 @
-test -f
$(INC
)/mpi.h
&& mv
-f
$(INC
)/mpi.h
$(INC
)/mpi.BAK || true
572 $(CHARMC
) -I.
-o
$@
$<
573 @
-test -f
$(INC
)/mpi.BAK
&& mv
-f
$(INC
)/mpi.BAK
$(INC
)/mpi.h || true
575 $(L
)/libconv-util.a
: $(LIBCONV_UTIL
)
576 $(CHARMC
) -o
$@
$(LIBCONV_UTIL
)
578 $(L
)/libconv-utilf.a
: $(LIBCONV_UTILF
)
579 -$(CHARMC
) -o
$@
$(LIBCONV_UTILF
) || touch
$@
581 $(L
)/libconv-ldb.a
: $(LIBCONV_LDB
)
584 $(L
)/libccs-client.a
: ccs-client.o
585 $(CHARMC
) -o
$@ ccs-client.o
587 ccs-client.o
: ccs-client.c
$(CVHEADERS
)
588 $(CHARMC
) -DCMK_NOT_USE_CONVERSE
=1 ccs-client.c
590 sockRoutines-seq.o
: sockRoutines.c
$(CVHEADERS
) $(UTILHEADERS
)
591 $(SEQCHARMC
) -DCMK_NOT_USE_CONVERSE
=1 -o sockRoutines-seq.o sockRoutines.c
593 pup_f.f90
: pup_f.f90.sh
594 rm -f pup_f.f90
&& .
/pup_f.f90.sh
596 pup_f.o
: pup_f.f90
$(CVHEADERS
)
597 -$(CHARMC
) -c pup_f.f90
&& $(CHARMC
) -cpmod ..
/include pupmod.M || touch pup_f.o
599 ## Converse load balancers (seed balancers, -balance)
600 $(L
)/libldb-none.a
: cldb.none.c
$(CVHEADERS
)
601 $(CHARMC
) -o
$@ cldb.none.c
603 $(L
)/libldb-rand.a
: cldb.rand.c cldb.h
$(CVHEADERS
)
604 $(CHARMC
) -o
$@ cldb.rand.c
606 $(L
)/libldb-neighbor.a
: cldb.neighbor.c cldb.neighbor.h
$(CVHEADERS
)
607 $(CHARMC
) -o
$@ cldb.neighbor.c
609 $(L
)/libldb-workstealing.a
: cldb.workstealing.c cldb.workstealing.h
$(CVHEADERS
)
610 $(CHARMC
) -o
$@ cldb.workstealing.c
612 $(L
)/libldb-spray.a
: cldb.spray.c
$(CVHEADERS
)
613 $(CHARMC
) -o
$@ cldb.spray.c
616 #$(L)/libldb-prioritycentralized.a: cldb.prioritycentralized.c cldb.prioritycentralized.h $(CVHEADERS)
617 # $(CHARMC) -o $@ cldb.prioritycentralized.c
619 #//$(L)/libldb-prioritycentralizedopt.a: cldb.prioritycentralizedopt.c cldb.prioritycentralizedopt.h $(CVHEADERS)
620 #// $(CHARMC) -o $@ cldb.prioritycentralizedopt.c
622 $(L
)/libldb-test.a
: cldb.
test.c
$(CVHEADERS
)
623 $(CHARMC
) -o
$@ cldb.
test.c
625 $(L
)/libldb-bluegene.a
: cldb.bluegene.c
$(CVHEADERS
)
626 $(CHARMC
) -o
$@ cldb.bluegene.c
628 ## Memory allocation libraries (-memory)
629 MEM_DEPS
=memory-gnu.c memory-gnu-internal.c converse.h conv-mach.h
$(CVHEADERS
)
631 # $1 is the name of the module, $2 is any additional dependency beyond memory.C and $(MEM_DEPS), $3 is extra arguments to charmc
633 $(L
)/libmemory-
$1.a
: memory.C
$(MEM_DEPS
) $2
634 $(CHARMC
) -I.
-o libmemory-
$1.o
$3 $$<
635 $(CHARMC
) -I.
-o
$$@
$3 libmemory-
$1.o
638 $(eval
$(call libmem
,default
, ,-DCMK_MEMORY_BUILD_DEFAULT
))
639 $(eval
$(call libmem
,os
, ,-DCMK_MEMORY_BUILD_OS
))
640 $(eval
$(call libmem
,os-verbose
, memory-verbose.c
, -DCMK_MEMORY_BUILD_OS_WRAPPED
-DCMK_MEMORY_BUILD_VERBOSE
-touch-on-failure
))
641 $(eval
$(call libmem
,os-paranoid
, memory-paranoid.c
, -DCMK_MEMORY_BUILD_OS_WRAPPED
-DCMK_MEMORY_BUILD_PARANOID
-touch-on-failure
))
642 $(eval
$(call libmem
,os-leak
, memory-leak.c
, -DCMK_MEMORY_BUILD_OS_WRAPPED
-DCMK_MEMORY_BUILD_LEAK
-touch-on-failure
))
643 $(eval
$(call libmem
,os-isomalloc
, memory-isomalloc.c
, -DCMK_MEMORY_BUILD_OS_WRAPPED
-DCMK_MEMORY_BUILD_ISOMALLOC
-touch-on-failure
))
644 $(eval
$(call libmem
,os-lock
, memory-lock.c
, -DCMK_MEMORY_BUILD_OS_WRAPPED
-DCMK_MEMORY_BUILD_LOCK
-touch-on-failure
))
645 $(eval
$(call libmem
,os-charmdebug
, memory-charmdebug.c
, -DCMK_MEMORY_BUILD_OS_WRAPPED
-DCMK_MEMORY_BUILD_CHARMDEBUG
-touch-on-failure
))
646 $(L
)/libmemory-os-wrapper.a
: memory-os-wrapper.C
$(MEM_DEPS
)
647 -$(CHARMC
) -o
$@ memory-os-wrapper.C || touch
$@
649 $(eval
$(call libmem
,hooks-charmdebug
,,-DCMK_MEMORY_BUILD_GNU_HOOKS
-DCMK_MEMORY_BUILD_CHARMDEBUG
-touch-on-failure
))
651 # If the system doesn't have sbrk, these compilations may fail.
652 # This is OK, but then we can't use "-memory gnu" or friends.
653 $(eval
$(call libmem
,gnu
, ,-DCMK_MEMORY_BUILD_GNU
-touch-on-failure
))
654 $(eval
$(call libmem
,gnu-verbose
, memory-verbose.c
,-DCMK_MEMORY_BUILD_VERBOSE
-touch-on-failure
))
655 $(eval
$(call libmem
,gnu-paranoid
, memory-paranoid.c
,-DCMK_MEMORY_BUILD_PARANOID
-touch-on-failure
))
656 $(eval
$(call libmem
,gnu-leak
, memory-leak.c
,-DCMK_MEMORY_BUILD_LEAK
-touch-on-failure
))
657 $(eval
$(call libmem
,gnu-isomalloc
, memory-isomalloc.c
,-DCMK_MEMORY_BUILD_ISOMALLOC
-touch-on-failure
))
658 $(eval
$(call libmem
,gnu-charmdebug
, memory-charmdebug.c
,-DCMK_MEMORY_BUILD_CHARMDEBUG
-optimize
-touch-on-failure
))
659 $(eval
$(call libmem
,gnu-charmdebug-slot
, memory-charmdebug.c
,-DCMK_MEMORY_BUILD_CHARMDEBUG
-DCMK_SEPARATE_SLOT
-optimize
-touch-on-failure
))
660 $(eval
$(call libmem
,gnu-charmdebug-mmap
, memory-charmdebug.c
,-DCMK_MEMORY_BUILD_CHARMDEBUG
-DCPD_USE_MMAP
-optimize
-touch-on-failure
))
661 $(eval
$(call libmem
,gnu-charmdebug-mmap-slot
,memory-charmdebug.c
,-DCMK_MEMORY_BUILD_CHARMDEBUG
-DCPD_USE_MMAP
-DCMK_SEPARATE_SLOT
-optimize
-touch-on-failure
))
663 ## Thread libraries (-thread)
665 LIBTHREADSDEPS
= $(CVHEADERS
) QUICK_THREADS
667 # $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'
669 $(L
)/libthreads-
$1.a
: threads.c
$(LIBTHREADSDEPS
) $2
670 $(CHARMC
) -IQuickThreads
-I.
-o libthreads-
$1.o
$3 $$<
671 if
[ `ls boost-context/*.o 2>/dev/null | wc -l` -gt
0 -a
$4 -eq
1 ]; then \
672 $(CHARMC
) -IQuickThreads
-I.
-o
$$@
$3 boost-context
/*.o libthreads-
$1.o
; \
674 $(CHARMC
) -IQuickThreads
-I.
-o
$$@
$3 libthreads-
$1.o
; \
679 $(MAKE
) -C boost-context
681 $(eval
$(call libthreads
,default
, uFcontext_asm
,-DCMK_THREADS_BUILD_DEFAULT
=1, 1 ))
682 $(eval
$(call libthreads
,default-tls
, uFcontext_asm
,-DCMK_THREADS_BUILD_DEFAULT
-DCMK_THREADS_BUILD_TLS
=1 -touch-on-failure
, 1 ))
683 $(eval
$(call libthreads
,qt
, ,-DCMK_THREADS_BUILD_QT
=1, 0))
684 $(eval
$(call libthreads
,qt-tls
, ,-DCMK_THREADS_BUILD_QT
=1 -DCMK_THREADS_BUILD_TLS
=1 -touch-on-failure
, 0))
685 $(eval
$(call libthreads
,context
, ,-DCMK_THREADS_BUILD_CONTEXT
=1 -touch-on-failure
, 0))
686 $(eval
$(call libthreads
,context-tls
, ,-DCMK_THREADS_BUILD_CONTEXT
=1 -DCMK_THREADS_BUILD_TLS
=1 -touch-on-failure
, 0))
687 $(eval
$(call libthreads
,uJcontext
, uJcontext.c
,-DCMK_THREADS_BUILD_JCONTEXT
=1 -U_FORTIFY_SOURCE
-touch-on-failure
,0))
688 $(eval
$(call libthreads
,uJcontext-tls
, uJcontext.c
,-DCMK_THREADS_BUILD_JCONTEXT
=1 -DCMK_THREADS_BUILD_TLS
=1 -U_FORTIFY_SOURCE
-touch-on-failure
,0))
689 $(eval
$(call libthreads
,uFcontext
, uFcontext_asm
,-DCMK_THREADS_BUILD_FCONTEXT
=1 -U_FORTIFY_SOURCE
-touch-on-failure
, 1))
690 $(eval
$(call libthreads
,uFcontext-tls
, uFcontext_asm
,-DCMK_THREADS_BUILD_FCONTEXT
=1 -DCMK_THREADS_BUILD_TLS
=1 -U_FORTIFY_SOURCE
-touch-on-failure
, 1))
691 $(eval
$(call libthreads
,pthreads
, ,-DCMK_THREADS_BUILD_PTHREADS
=1 -touch-on-failure
,0))
692 $(eval
$(call libthreads
,fibers
, ,-DCMK_THREADS_BUILD_FIBERS
=1 -touch-on-failure
,0))
693 $(eval
$(call libthreads
,stackcopy
, ,-DCMK_THREADS_BUILD_STACKCOPY
=1 -touch-on-failure
,0))
694 $(eval
$(call libthreads
,memoryalias
, ,-DCMK_THREADS_BUILD_DEFAULT
=1 -DCMK_THREADS_ALIAS_STACK
=1 -touch-on-failure
,0))
695 $(eval
$(call libthreads
,qt-memoryalias
, ,-DCMK_THREADS_BUILD_QT
=1 -DCMK_THREADS_ALIAS_STACK
=1 -touch-on-failure
,0))
696 $(eval
$(call libthreads
,context-memoryalias
, ,-DCMK_THREADS_BUILD_CONTEXT
=1 -DCMK_THREADS_ALIAS_STACK
=1 -touch-on-failure
,0))
697 $(eval
$(call libthreads
,uJcontext-memoryalias
,uJcontext.c
,-DCMK_THREADS_BUILD_JCONTEXT
=1 -DCMK_THREADS_ALIAS_STACK
=1 -U_FORTIFY_SOURCE
-touch-on-failure
,0))
699 ## Global swapping (-swapglobal)
700 swapglobal-target
: $(L
)/libglobal-swap.a
702 $(L
)/libglobal-swap.a
: global-elfgot.C
$(CVHEADERS
)
703 -$(CHARMC
) -c global-elfgot.C
-o
$@ || touch
$@
705 ###############################################################################
709 ###############################################################################
711 CK_LIBS_CORE
=$(L
)/libck.a
713 LIBCK_CORE
=trace-common.o tracec.o tracef.o init.o register.o qd.o ck.o \
714 msgalloc.o ckfutures.o ckIgetControl.o debug-message.o debug-charm.o ckcallback.o \
715 cklocation.o ckmulticast.o ckarrayoptions.o ckarray.o ckreduction.o ckrdma.o\
716 waitqd.o LBDatabase.o MetaBalancer.o weakTest.o treeTest.o forestTest.o readmodel.o lbdb.o lbdbf.o ckobjQ.o \
717 LBAgent.o LBProfit.o ckcheckpoint.o ckmemcheckpoint.o ckevacuation.o ckmessagelogging.o ckcausalmlog.o ckobjid.o\
718 LBDBManager.o LBComm.o LBObj.o LBMachineUtil.o CentralPredictor.o \
719 BaseLB.o CentralLB.o HybridBaseLB.o NborBaseLB.o DistBaseLB.o \
720 ckgraphTemp.o ckgraph.o LButil.o RefinerTemp.o Refiner.o RefinerApprox.o \
721 manager.o RefinerComm.o bitvecset.o ckset.o ckheap.o CommLBHeap.o \
722 NullLB.o LBSimulation.o modifyScheduler.o \
723 charmProjections.o cktiming.o ckbitvector.o \
724 pathHistory.o controlPoints.o arrayRedistributor.o cp_effects.o \
725 trace-controlPoints.o mpi-interoperate.o ckregex.o sdag.o \
727 charm-core
: converse
$(L
)/libck.a
$(L
)/libckf.a
$(L
)/libckmain.a
$(L
)/libckmainf.a
728 charm-target
: loadbalancers default_libs
$(L
)/libmpi-mainmodule.a tmgr
730 CHARMLIBS
: charm
++ CONVLIBS
$(BIGSIM
)
731 $(MAKE
) -C libs charmlibs
733 $(L
)/libck.a
: $(LIBCK_CORE
)
734 $(CHARMC
) -o
$@
$(LIBCK_CORE
)
736 ## Charm fortran AMPI
738 CK_FOR_LIBS_CORE
=$(L
)/libckf.a
740 LIBCKF_CORE
=charmf.o charmmod.o
742 $(L
)/libckf.a
: $(LIBCKF_CORE
)
743 -$(CHARMC
) -o
$@
$(LIBCKF_CORE
) || touch
$@
745 charmf.o
: charmf.C
$(CKHEADERS
) charmf.h
746 $(CHARMC
) -c
-I. charmf.C
748 charmmod.o
: charmmod.f90
749 -$(CHARMC
) -c charmmod.f90 || touch
$@
750 -$(CHARMC
) -cpmod ..
/include charm.M
753 -$(CHARMC
) -o
$@
-c
$< || touch
$@
755 ## Tracing libraries (profiling, -tracemode)
756 LIBTRACE_PROJ
=trace-projections.o
757 $(L
)/libtrace-projections.a
: $(LIBTRACE_PROJ
)
758 $(CHARMC
) -o
$@
$(LIBTRACE_PROJ
)
760 LIBTRACE_CP
=trace-controlPoints.o
761 $(L
)/libtrace-controlPoints.a
: $(LIBTRACE_CP
)
762 $(CHARMC
) -o
$@
$(LIBTRACE_CP
)
764 LIBTRACE_AP
=trace-perf.o picsautoperf.o picsautoperfAPI.o picstreenode.o picsdecisiontree.o
765 $(L
)/libtrace-perfReport.a
: $(LIBTRACE_AP
)
766 $(CHARMC
) -o
$@
$(LIBTRACE_AP
)
768 LIBTRACE_SUMM
=trace-summary.o
769 $(L
)/libtrace-summary.a
: $(LIBTRACE_SUMM
)
770 $(CHARMC
) -o
$@
$(LIBTRACE_SUMM
)
772 LIBTRACE_UTIL
=trace-utilization.o
773 $(L
)/libtrace-utilization.a
: $(LIBTRACE_UTIL
)
774 $(CHARMC
) -o
$@
$(LIBTRACE_UTIL
)
776 LIBTRACE_SIMPLE
=trace-simple.o
777 $(L
)/libtrace-simple.a
: $(LIBTRACE_SIMPLE
)
778 $(CHARMC
) -o
$@
$(LIBTRACE_SIMPLE
)
780 libtrace-Tau.o
: trace-Tau.C charm
++.h charm.h converse.h conv-config.h \
781 conv-autoconfig.h conv-common.h conv-mach.h conv-mach-opt.h \
782 conv-mach-ifort.h pup_c.h conv-cpm.h conv-cpath.h conv-qd.h \
783 conv-random.h conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h \
784 middle.h middle-conv.h cklists.h ckbitvector.h ckstream.h init.h \
785 ckhashtable.h debug-charm.h CkMarshall.decl.h cksection.h ckcallback.h \
786 conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
788 ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h cklocrec.h ckmigratable.h \
789 cklocation.h ckmulticast.h LBDatabase.h MetaBalancer.h RandomForestModel.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
790 LBMachineUtil.h lbdb
++.h LBDatabase.decl.h MetaBalancer.decl.h NullLB.decl.h BaseLB.decl.h \
791 CkLocation.decl.h CkMulticast.decl.h CkArray.decl.h objid.h envelope.h envelope-path.h XArraySectionReducer.h CkFutures.decl.h \
792 waitqd.h waitqd.decl.h \
793 sdag.h ckcheckpoint.h CkCheckpoint.decl.h ckevacuation.h \
794 trace.h trace-bluegene.h trace-simple.h \
795 register.h trace-common.h trace-simpleBOC.h TraceSimple.decl.h \
796 TraceSimple.def.h ckregex.h
797 $(CHARMC
) -c
-I.
$(TAU_INCLUDE
) $(TAU_DEFS
) trace-Tau.C
-o libtrace-Tau.o
799 tau_selective.o
: $(TAUROOT
)/utils
/tau_selective.
cpp
800 $(CHARMC
) -I
$(TAUROOT
)/utils
-DTAU_DYNINST
$(TAUROOT
)/utils
/tau_selective.
cpp
802 $(L
)/libtrace-Tau.a
: $(TAU_TRACE_OBJ
) tau_selective.o
803 $(CHARMC
) $(TAU_LIBS
) -o
$@
$(TAU_TRACE_OBJ
) tau_selective.o
$(TAU_TRACE_OBJ
)
805 LIBTRACE_COUNT
=trace-counter.o
806 $(L
)/libtrace-counter.a
: $(LIBTRACE_COUNT
)
807 $(CHARMC
) -o
$@
$(LIBTRACE_COUNT
)
809 LIBTRACE_BG
=trace-bluegene.o
810 $(L
)/libtrace-bluegene.a
:$(LIBTRACE_BG
)
811 $(CHARMC
) -o
$@
$(LIBTRACE_BG
)
813 LIBTRACE_MEMORY
=trace-memory.o
814 $(L
)/libtrace-memory.a
: $(LIBTRACE_MEMORY
)
815 $(CHARMC
) -o
$@
$(LIBTRACE_MEMORY
)
817 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 \
818 $(TAU_TRACE_OBJ
) trace-projector.o traceCore.o traceCoreCommon.o charmProjections.o converseProjections.o machineProjections.o trace-memory.o trace-utilization.o
820 $(L
)/libtrace-all.a
: $(LIBTRACE_ALL
)
821 $(CHARMC
) -o
$@
$(LIBTRACE_ALL
)
823 LIBTRACE_PROJECTOR
=trace-projector.o traceCore.o traceCoreCommon.o charmProjections.o converseProjections.o machineProjections.o
824 $(L
)/libtrace-projector.a
: $(LIBTRACE_PROJECTOR
)
825 $(CHARMC
) -o
$@
$(LIBTRACE_PROJECTOR
)
827 LIBTRACE_CONVERSE
=trace-converse.o
828 $(L
)/libtrace-converse.a
: $(LIBTRACE_CONVERSE
)
829 $(CHARMC
) -o
$@
$(LIBTRACE_CONVERSE
)
831 LIBTRACE_FOR
=tracef_f.o
832 $(L
)/libtracef_f.a
: $(LIBTRACE_FOR
)
833 -$(CHARMC
) -o
$@
$(LIBTRACE_FOR
) || touch
$@
835 tracef_f.o
: tracef_f.f90
836 -$(CHARMC
) -o
$@
-c tracef_f.f90
&& $(CHARMC
) -cpmod ..
/include tracemod.M || touch
$@
838 # used for make depends
839 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 \
840 trace-counter.o trace-utilization.o \
841 trace-bluegene.o trace-projector.o trace-converse.o trace-all.o \
844 ###############################################################################
846 # Dynamic Load Balancers
848 ###############################################################################
850 loadbalancers
: $(COMMON_LDBS
) $(L
)/libmoduleCommonLBs.a
852 everylb
: $(ALL_LDBS
) $(L
)/libmoduleEveryLB.a
853 MetisLB.o GridMetisLB.o
: metis
855 %LB
: $(L
)/libmodule
%LB.a
857 $(L
)/libmodule
%LB.a
: %LB.o
859 ( [ -r libmodule
$*LB.dep
] && cp
-f libmodule
$*LB.dep
$(L
)/ ) || true
860 $(L
)/libmoduleCommonLBs.a
:
862 ( [ -r libmoduleCommonLBs.dep
] && cp
-f libmoduleCommonLBs.dep
$(L
)/ ) || true
864 ###############################################################################
868 ###############################################################################
870 bigsim
: bigsim-target
874 bigsim-target
: charm
++ $(L
)/libconv-bigsim.a
$(L
)/libconv-bigsim-logs.a
$(L
)/libconv-bluegene-stub.a
$(L
)/libblue-standalone.a
876 $(L
)/libbluegene.a
: BlueGene.o
879 # (Converse) Blue Gene emulator
880 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
881 BIGSIM_IO_OBJS
= bigsim_read.o bigsim_logs.o bigsim_api.o
883 LIBBLUE_OBJS
= $(BLUE_OBJS
) $(BIGSIM_IO_OBJS
) blue_stub.o blue_standalone.o
885 $(L
)/libconv-bigsim.a
: $(BLUE_OBJS
)
888 $(L
)/libconv-bigsim-logs.a
: $(BIGSIM_IO_OBJS
)
891 $(L
)/libconv-bluegene-stub.a
: blue_stub.o
894 $(L
)/libblue-standalone.a
: blue_standalone.o
897 ###############################################################################
901 ###############################################################################
904 $(NATIVECHARMC
) -language c
-o conv-cpm
-cp ..
/bin
/ conv-cpm.o
906 conv-cpm.o
: conv-cpm.c
$(CVHEADERS
)
907 $(NATIVECHARMC
) conv-cpm.c
909 ###############################################################################
911 # The interface translator
913 ###############################################################################
915 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
916 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
917 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
918 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
920 $(CHARMXIOBJ
) $(SDAGOBJ
): $(XIHEADERS
) $(SDAGHEADERS
)
921 $(CHARMXIOBJ
) $(SDAGOBJ
): CXX
=$(NATIVECHARMC
)
922 $(CHARMXIOBJ
) $(SDAGOBJ
): CXXFLAGS
=-I
$(SRCBASE
)/xlat-i
/ -I
$(SRCBASE
)/xlat-i
/sdag
/ -I.
923 xi-scan.o
: CXXFLAGS
+=-DYY_NEVER_INTERACTIVE
924 VPATH
=$(SRCBASE
)/xlat-i
:$(SRCBASE
)/xlat-i
/sdag
:$(SRCBASE
)/xlat-i
/sdag
/constructs
926 charmxi
: ..
/bin
/charmxi
928 ..
/bin
/charmxi
: $(CHARMXIOBJ
) $(SDAGOBJ
)
929 $(NATIVECHARMC
) -language c
++ -cp ..
/bin
/ -o charmxi
$^
932 rm $(CHARMXIOBJ
) $(SDAGOBJ
)
934 ###############################################################################
938 ###############################################################################
940 $(L
)/libtsm.a
: converse simplemsg.c simplemsg.h
941 $(CHARMC
) -o
$@ simplemsg.c
943 $(L
)/libsm.a
: converse sm.c sm.h
946 ###############################################################################
950 ###############################################################################
952 PVMC
=pvmc_buf.o pvmc_comm.o pvmc_conv.o pvmc_main.o pvmc_pack.o pvmc_groups.o
954 $(L
)/libpvmc.a
: $(PVMC
)
955 $(CHARMC
) -o
$@
$(PVMC
)
957 pvmc_buf.o
: pvmc_buf.c pvmc.h pvm3.h converse.h
958 $(CHARMC
) -o
$@ pvmc_buf.c
960 pvmc_conv.o
: pvmc_conv.c pvmc.h pvm3.h converse.h
961 $(CHARMC
) -o
$@ pvmc_conv.c
963 pvmc_pack.o
: pvmc_pack.c pvmc.h pvm3.h converse.h
964 $(CHARMC
) -o
$@ pvmc_pack.c
966 pvmc_comm.o
: pvmc_comm.c pvmc.h pvm3.h converse.h
967 $(CHARMC
) -o
$@ pvmc_comm.c
969 pvmc_groups.o
: pvmc_groups.c pvmc.h pvm3.h converse.h
970 $(CHARMC
) -o
$@ pvmc_groups.c
972 pvmc_main.o
: pvmc_main.c pvmc.h pvm3.h converse.h
973 $(CHARMC
) -o
$@ pvmc_main.c
975 $(L
)/libf90charm.a
: charmxi f90main.ci f90main.h f90main.C
977 $(CHARMC
) -c
-DAMPI_FORTRAN
=1 f90main.C
978 -$(CHARMC
) -o
$@ f90main.o
980 ##############################################################################
981 # adding this entry for files which do not belong to any of other locations
983 OTHER_OBJS
= mpi-mainmodule.o main.o custom_partitioner.o BlueGene.o set_partition_params.o
985 ##############################################################################
987 ###############################################################################
991 ###############################################################################
994 @
test ! -d
$(DESTDIR
)/include && mkdir
-p
$(DESTDIR
)/include || true
995 @
test ! -d
$(DESTDIR
)/lib
&& mkdir
-p
$(DESTDIR
)/lib || true
996 ifeq (false
,$(CMK_NO_BUILD_SHARED
))
997 @
test ! -d
$(DESTDIR
)/lib_so
&& mkdir
-p
$(DESTDIR
)/lib_so || true
999 @
test ! -d
$(DESTDIR
)/bin
&& mkdir
-p
$(DESTDIR
)/bin || true
1000 # cp -f ../include/* $(DESTDIR)/include
1001 for f in ..
/include/*; do if
test -f
$$f; then cp
-f
$$f $(DESTDIR
)/include; fi
; done
1002 cp
-f ..
/lib
/* $(DESTDIR
)/lib
1003 ifeq (false
,$(CMK_NO_BUILD_SHARED
))
1004 cp
-f ..
/lib_so
/* $(DESTDIR
)/lib_so || true
1006 # cp -f ../bin/* $(DESTDIR)/bin
1007 for f in ..
/bin
/*; do if
test -f
$$f; then cp
-f
$$f $(DESTDIR
)/bin
; fi
; done
1011 rm -f conv-autoconfig.h config.cache
1012 rm -f QuickThreads
/libckqt.a
1013 rm -f charmxi conv-cpm
1014 rm -f TAGS basics cmk_extras core
1020 if
[ -d charmrun-src
] ; then
( $(MAKE
) -C charmrun-src
clean ) ; fi
1021 -( $(MAKE
) -C doc
clean )
1022 ( $(MAKE
) -C libs
clean )
1023 ( $(MAKE
) -C ..
/examples
clean )
1024 ( $(MAKE
) -C ..
/tests
clean )
1034 mv Makefile .Makefile
1035 mv Make.depends .Make.depends
1036 rm -rf
[a-z
]* [A-Z
]*
1037 mv .Make.depends Make.depends
1038 rm -rf .
[a-z
]* .
[A-Z
]*
1041 config
: configure conv-autoconfig.h.in
1044 echo
"Creating " $(CIDEPENDFILE
) " ...";
1045 if
[ -f
$(CIDEPENDFILE
) ]; then \
1046 /bin
/cp
-f
$(CIDEPENDFILE
) $(CIDEPENDFILE
).old
; \
1048 echo
'#generated by make cidepends' > $(CIDEPENDFILE
); \
1049 for cifile in
$(sort $(wildcard *.ci
)); do \
1050 echo
"checking generated modules for $$cifile" ; \
1051 $(CHARMXI
) -M
$$cifile | sed
'/\.stamp:/a \\t $$(CHARMC) -intrinsic $$< && touch $$@' >> $(CIDEPENDFILE
) ; \
1054 depends
: cidepends commitid.c
1056 echo
"Creating " $(DEPENDFILE
) " ...";
1057 if
[ -f
$(DEPENDFILE
) ]; then \
1058 /bin
/cp
-f
$(DEPENDFILE
) $(DEPENDFILE
).old
; \
1060 echo
'#generated by make depends' > $(DEPENDFILE
); \
1062 for i in
$(sort $(LIBCONV_CORE
) $(LIBCONV_LDB
) $(LIBCONV_UTIL
) $(TRACE_OBJS
) $(LIBCK_CORE
) $(ALL_LB_OBJS
) $(LIBBLUE_OBJS
) $(OTHER_OBJS
)) ; do \
1063 processed
='false'; \
1064 for f in
$$processFiles; do \
1065 if
test $$i = $$f ; then \
1066 processed
=true
; break
; \
1069 test $$processed = 'true' && continue
; \
1070 processFiles
="$$processFiles $$i"; \
1071 SRCFILE
=`basename $$i .o`.C
; \
1072 [ ! -f
$$SRCFILE ] && SRCFILE
=`basename $$i .o`.c
; \
1073 echo
"checking dependencies for $$SRCFILE" ; \
1074 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
; \
1075 echo
'' >> $(DEPENDFILE
) ; \
1078 dependsCaseSensitive
: cidepends
1080 @echo
"Creating " $(DEPENDFILE
) " ...";
1081 if
[ -f
$(DEPENDFILE
) ]; then \
1082 /bin
/cp
-f
$(DEPENDFILE
) $(DEPENDFILE
).old
; \
1084 echo
'#generated by make depends' > $(DEPENDFILE
); \
1086 for i in
$(sort $(LIBCONV_CORE
) $(LIBCONV_UTIL
) $(TRACE_OBJS
) $(LIBCK_CORE
) $(ALL_LB_OBJS
) $(LIBBLUE_OBJS
) $(OTHER_OBJS
)); do \
1087 processed
='false'; \
1088 for f in
$$processFiles; do \
1089 if
test $$i = $$f ; then \
1090 processed
=true
; break
; \
1093 test $$processed = 'true' && continue
; \
1094 processFiles
="$$processFiles $$i"; \
1095 SRCFILE
=`basename $$i .o`.C
; \
1096 SRCDIR
=`dirname $$i` ; \
1097 found
=`/usr/bin/find $$SRCDIR -depth 1 -name $$SRCFILE`; \
1098 [ ! $$found ] && SRCFILE
=`basename $$i .o`.c
; \
1099 echo
"checking dependencies for $$SRCFILE" ; \
1100 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
; \
1101 echo
'' >> $(DEPENDFILE
) ; \
1104 # If OPTS was not defined, use the build time options
1105 export OPTS ?
= $(OPTSATBUILDTIME
)
1106 ifeq ($(strip $(OPTS
)),)
1107 $(warning Variable OPTS is defined to an empty string. Are you sure this is what you want?
)
1112 machine.o
: machine.d
1113 machine.d
: machine.C conv-autoconfig.h
$(CKHEADERS
)
1116 $(CHARMC
) $(OPTS
) -M
-I.
-I
$(INC
) $< >$@.
$$$$; \
1117 sed
-e
's,\($*\)\.o[ :]*,\1.o $@ : ,g' -e
"s,[Cc]:/,`command -v cygpath >/dev/null 2>&1 && cygpath -u 'C:/' || echo '/c'`/," < $@.
$$$$ > $@
; \