head	1.11;
access;
symbols
	charm6_1:1.11
	charm_6_0_1:1.11
	charm6_0_1:1.11
	charm6_0:1.9
	ChaNGa_1-0:1.9
	charm5_9:1.9;
locks; strict;
comment	@# @;


1.11
date	2009.02.09.16.59.17;	author gzheng;	state Exp;
branches;
next	1.10;
commitid	t6xsNPm2Ux11vMBt;

1.10
date	2008.11.12.23.46.57;	author phil;	state Exp;
branches;
next	1.9;
commitid	SBEjwH6x0CrjCnqt;

1.9
date	2005.03.21.05.03.21;	author gzheng;	state Exp;
branches;
next	1.8;

1.8
date	2005.03.08.03.29.08;	author gzheng;	state Exp;
branches;
next	1.7;

1.7
date	2005.01.01.23.23.46;	author gzheng;	state Exp;
branches;
next	1.6;

1.6
date	2004.07.21.19.01.59;	author gzheng;	state Exp;
branches;
next	1.5;

1.5
date	2003.10.30.08.11.36;	author gzheng;	state Exp;
branches;
next	1.4;

1.4
date	2003.09.27.05.30.38;	author gzheng;	state Exp;
branches;
next	1.3;

1.3
date	2003.05.24.06.35.20;	author gzheng;	state Exp;
branches;
next	1.2;

1.2
date	2001.12.07.06.20.26;	author gzheng;	state Exp;
branches;
next	1.1;

1.1
date	2001.12.03.05.02.09;	author gzheng;	state Exp;
branches;
next	;


desc
@@


1.11
log
@removed gmake features so that normal make can build
@
text
@CDIR =../../../..
INCDIR=$(CDIR)/include
CHARMC=$(CDIR)/bin/charmc $(OPTS)

LIB = libmoduleCkMulticast.a
LIBOBJ = ckmulticast.o

HEADERS = $(INCDIR)/CkMulticast.decl.h \
          $(INCDIR)/CkMulticast.def.h \
          $(INCDIR)/ckmulticast.h
LIBDEST =  $(CDIR)/lib/$(LIB)

CIFILES = ckmulticast.ci

all: $(LIBDEST) $(HEADERS)

#$(INCDIR)/%: %
#	cp $< $@@

#$(HEADERS): CkMulticast.decl.h ckmulticast.h 
#	/bin/cp CkMulticast.decl.h $(CDIR)/include
#	/bin/cp CkMulticast.def.h $(CDIR)/include
#	/bin/cp ckmulticast.h $(CDIR)/include

$(INCDIR)/CkMulticast.decl.h: CkMulticast.decl.h
	/bin/cp CkMulticast.decl.h $(CDIR)/include
$(INCDIR)/CkMulticast.def.h: CkMulticast.def.h
	/bin/cp CkMulticast.def.h $(CDIR)/include
$(INCDIR)/ckmulticast.h: ckmulticast.h
	/bin/cp ckmulticast.h $(CDIR)/include

$(LIBDEST): $(LIBOBJ)
	$(CHARMC) -o $(LIBDEST) $(LIBOBJ) 

CkMulticast.def.h: CkMulticast.decl.h

CkMulticast.decl.h : ckmulticast.ci $(CDIR)/bin/charmxi
	$(CHARMC) -c ckmulticast.ci

clean:
	rm -f conv-host *.o *.decl.h *.def.h core  $(LIB)

include Make.depends

DEPENDFILE = Make.depends

depends:  $(CIFILES)
	echo "Creating " $(DEPENDFILE) " ..."; 	\
	if [ -f $(DEPENDFILE) ]; then \
           /bin/cp -f $(DEPENDFILE) $(DEPENDFILE).old; \
        fi; \
	echo '#generated by make depends' > $(DEPENDFILE); \
        for i in $(LIBOBJ) ; do \
	      SRCFILE=`basename $$i .o`.C ; \
              echo "checking dependencies for $$i : $$SRCFILE" ; \
              g++ -MM -Wno-deprecated -I$(CDIR)/tmp $$SRCFILE >> $(DEPENDFILE); \
              echo '	$$(CHARMC) -I$(CDIR)/tmp -o '$$i $$SRCFILE >> $(DEPENDFILE) ; \
        done; 

@


1.10
log
@Revise the multicast Makefile to better support parallel make
@
text
@d1 3
a3 3
CDIR :=../../../..
INCDIR:=$(CDIR)/include
CHARMC:=$(CDIR)/bin/charmc $(OPTS)
d5 2
a6 2
LIB := libmoduleCkMulticast.a
LIBOBJ := ckmulticast.o
d8 1
a8 1
HEADERS := $(INCDIR)/CkMulticast.decl.h \
d11 1
a11 1
LIBDEST :=  $(CDIR)/lib/$(LIB)
d13 1
a13 1
CIFILES := ckmulticast.ci
d17 2
a18 2
$(INCDIR)/%: %
	cp $< $@@
d25 7
@


1.9
log
@make decl file depends on charmxi, so that it gets recompiled with cahrmxi is changed.
@
text
@d1 11
a11 2
CDIR=../../../..
CHARMC=$(CDIR)/bin/charmc $(OPTS)
d13 1
a13 2
LIB = libmoduleCkMulticast.a
LIBOBJ = ckmulticast.o
d15 1
a15 5
HEADERS = $(CDIR)/include/CkMulticast.decl.h \
          $(CDIR)/include/ckmulticast.h 
LIBDEST =  $(CDIR)/lib/$(LIB)

CIFILES = ckmulticast.ci
d17 2
a18 1
all: $(LIBDEST) $(HEADERS)
d20 4
a23 4
$(HEADERS): CkMulticast.decl.h ckmulticast.h 
	/bin/cp CkMulticast.decl.h $(CDIR)/include
	/bin/cp CkMulticast.def.h $(CDIR)/include
	/bin/cp ckmulticast.h $(CDIR)/include
@


1.8
log
@use make depends for a complete dependence rule.
@
text
@d25 1
a25 1
CkMulticast.decl.h : ckmulticast.ci
@


1.7
log
@Original:  use CK_MSG_KEEP  and call inline send for local multicast
The drawback of this scheme bypassing queue is that if # of local element is huge, this leads to a long time occupying CPU.
also load balancer seems not be able to correctly instrument the load.
Now: only call inline when entry is marked "nokeep", and send through scheduler queue in other case.
@
text
@d11 2
a22 3
ckmulticast.o: ckmulticast.C ckmulticast.h CkMulticast.decl.h
	$(CHARMC) -c -I$(CDIR)/tmp ckmulticast.C

d30 18
@


1.6
log
@fixed a minor file dependence.
@
text
@d22 1
a22 1
	$(CHARMC) -c ckmulticast.C
@


1.5
log
@minor change for parallel make
@
text
@d24 1
a24 1
CkMulticast.decl.h: CkMulticast.def.h
d26 1
a26 1
CkMulticast.def.h : ckmulticast.ci
@


1.4
log
@small changes for parallel make
@
text
@d21 1
a21 1
ckmulticast.o: ckmulticast.C ckmulticast.h CkMulticast.decl.h CkMulticast.def.h
d24 3
a26 1
CkMulticast.decl.h CkMulticast.def.h : ckmulticast.ci
@


1.3
log
@avoided -cp to copy the lib.
@
text
@d24 1
a24 1
CkMulticast.decl.h: ckmulticast.ci
@


1.2
log
@changed to -module new feature.
@
text
@d18 2
a19 5
$(LIBDEST) : $(LIB)
	/bin/cp $(LIB) $(LIBDEST)

$(LIB): $(LIBOBJ)
	$(CHARMC) -o $(LIB) $(LIBOBJ) 
@


1.1
log
@multicast library that uses delegation.
@
text
@d4 1
a4 1
LIB = libckmulticast.a
d9 1
a9 1
LIBDEST =  $(CDIR)/lib/libckmulticast.a
@

