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


1.13
date	2008.10.20.15.59.29;	author gzheng;	state Exp;
branches;
next	1.12;
commitid	7l4kv2NuUOYGLnnt;

1.12
date	2008.10.02.23.44.28;	author phil;	state Exp;
branches;
next	1.11;
commitid	qFWyNXvWXTq0V6lt;

1.11
date	2003.09.27.05.30.38;	author gzheng;	state Exp;
branches;
next	1.10;

1.10
date	2003.06.27.19.02.20;	author olawlor;	state Exp;
branches;
next	1.9;

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

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

1.7
date	2003.05.08.17.22.24;	author olawlor;	state Exp;
branches;
next	1.6;

1.6
date	2003.03.21.22.54.20;	author olawlor;	state Exp;
branches;
next	1.5;

1.5
date	2003.01.20.20.27.48;	author olawlor;	state Exp;
branches;
next	1.4;

1.4
date	2002.12.16.20.21.11;	author olawlor;	state Exp;
branches;
next	1.3;

1.3
date	2002.10.24.17.09.03;	author olawlor;	state Exp;
branches;
next	1.2;

1.2
date	2002.07.18.00.15.06;	author olawlor;	state Exp;
branches;
next	1.1;

1.1
date	2001.12.06.23.21.09;	author olawlor;	state Exp;
branches;
next	;


desc
@@


1.13
log
@fixed make rules that broke autobuild by recent changes.
@
text
@include ../common.mk

HEADERS=$(CDIR)/include/tcharm_impl.h $(CDIR)/include/tcharm.h \
        $(CDIR)/include/tcharmc.h $(CDIR)/include/tcharmf.h \
        $(CDIR)/include/tcharm.decl.h
OBJS=tcharm.o
COMPAT=compat_uns.o compat_us.o compat_funs.o compat_fus.o compat_regmm.o

LIB=libmoduletcharm
DEST=$(LIBDIR)/$(LIB).a
COMPATLIB=$(LIBDIR)/libtcharm-compat.a

OBJS2=tcharmmain.o
LIB2=libmoduletcharmmain
DEST2=$(LIBDIR)/$(LIB2).a

.SUFFIXES:
.SUFFIXES: .c .o

.c.o:
	$(CHARMC) -c $<

all: $(DEST) $(COMPATLIB) $(DEST2)

$(DEST): $(OBJS) $(HEADERS)
	$(CHARMC) $(OBJS) -o $@@
	cp $(LIB).dep $(LIBDIR)/$(LIB).dep

$(DEST2): $(OBJS2) $(HEADERS)
	$(CHARMC) $(OBJS2) -o $@@
	cp $(LIB2).dep $(LIBDIR)/$(LIB2).dep

$(COMPATLIB): $(COMPAT) 
	$(CHARMC) $(COMPAT) -o $@@

headers: $(HEADERS)

compat_uns.o: compat_uns.c

compat_us.o: compat_us.c

compat_funs.o: compat_funs.c

compat_fus.o: compat_fus.c

compat_regmm.o: compat_regmm.c

tcharm.o: tcharm.C $(HEADERS)
	$(CHARMC) -c tcharm.C

tcharm.decl.h: tcharm.ci
	$(CHARMC) tcharm.ci

tcharmmain.o: tcharmmain.C tcharmmain.decl.h $(HEADERS)
	$(CHARMC) -c tcharmmain.C

tcharmmain.decl.h: tcharmmain.ci
	$(CHARMC) tcharmmain.ci

clean: 
	-rm -fr *.o *~ *.decl.h *.def.h gmon.out headers conv-host charmrun

realclean: clean
	rm -f $(HEADERS) $(DEST) $(DEST2) $(COMPATLIB)
@


1.12
log
@Modifications to ease parallel make, and move duplication to a common
definitions file.
@
text
@d25 1
a25 1
$(DEST): $(OBJS) headers
d29 1
a29 1
$(DEST2): $(OBJS2) headers
d64 1
a64 1
	rm -f $(HEADERS) $(DEST) $(DEST2) $(COMPATLIB)@


1.11
log
@small changes for parallel make
@
text
@d1 1
a1 2
CDIR=../../../..
CHARMC=$(CDIR)/bin/charmc $(OPTS)
d3 3
a5 1
HEADERS=tcharm_impl.h tcharm.h tcharmc.h tcharmf.h tcharm.decl.h
a8 2
LIBDIR=$(CDIR)/lib

a36 2
	cp $(HEADERS) $(CDIR)/include/
	touch headers
d61 4
a64 1
	-rm -fr *.o *~ *.decl.h *.def.h gmon.out headers $(DEST) $(COMPATLIB) conv-host charmrun
@


1.10
log
@Drastic simplification of TCharm's startup sequence:
now set up TCharm libraries from *within* the threads,
via a user-callable "init" routine; instead of from
*outside* the threads in the old "Attach" routine.

This has a number of benefits:
0.) Library interface is much simpler:
tcharm's error-prone "addClient" and "ready"
calls are no longer needed.

1.) Threads are now completely self-contained,
rather than having a separate "setup" phase where
attach routines are called.  This dramatically
simplifies big programs like the CSAR codes.

2.) Startup sequence now matches MPI-- in fact,
many libraries could now be written directly to
(A)MPI, increasing portability.

3.) Startup "cookie" and "coordinator" are no
longer needed, simplifying the interface and
making checkpointing possible.
@
text
@d18 6
d41 9
a49 7
$(COMPAT):
	@@for o in $(COMPAT); \
	do \
		file=`echo $$o | sed -e "s/\.o/.c/g"`; \
		echo "$(CHARMC) -c $$file"; \
		$(CHARMC) -c $$file || exit 1; \
	done
@


1.9
log
@splited nodeinit to separate nodeinit and procinit.
ported tcharm onto BlueGene simualtor.
@
text
@d14 5
a18 1
all: $(DEST) $(COMPATLIB)
d24 4
d48 6
@


1.8
log
@separate compat*.o into a new lib
@
text
@d12 1
a12 1
COMPATLIB=$(LIBDIR)/libmoduletcharm-compat.a
@


1.7
log
@Remove extra "CFLAGS" entry in TCharm build.
CFLAGS is normally set to "-O", so this can
screw up a debug build.
@
text
@a6 1
LIB=libmoduletcharm
d9 2
d12 1
d14 1
a14 1
all: $(DEST)
d16 2
a17 2
$(DEST): $(OBJS) $(COMPAT) headers
	$(CHARMC) $(OBJS) $(COMPAT) -o $(DEST)
d20 3
d42 1
a42 1
	-rm -fr *.o *~ *.decl.h *.def.h gmon.out headers $(DEST) conv-host charmrun
@


1.6
log
@Added TCHARM_Migrate_to
@
text
@d31 1
a31 1
	$(CHARMC) $(CFLAGS) -c tcharm.C
@


1.5
log
@Added module .dep link-time dependency file.
@
text
@d37 1
a37 1
	-rm -fr *.o *~ *.decl.h *.def.h gmon.out $(DEST) conv-host charmrun
@


1.4
log
@Moved the "compat_regmm.c" file here from src/ck-core.
This file defines the
	CkRegisterMainModule
that Charm++ uses to start the registration system.
When using modules, it's not clear this routine is needed,
which is why there's a fallback in compat_regmm.

But blindly defining compat_regmm in ck-core results in
an *empty* Charm++ program linking (and doing nothing!),
which is bad.  Hence compat_regmm is here, in tcharm.
@
text
@d7 4
a10 1
DEST=$(CDIR)/lib/libmoduletcharm.a
d16 1
@


1.3
log
@Fixed makefile for elan-axp, which does not accept "$<"
as a valid variable.
@
text
@d6 1
a6 1
COMPAT=compat_uns.o compat_us.o compat_funs.o compat_fus.o
@


1.2
log
@Added a "tcharm_impl.h" file to hold the implementation details,
while "tcharm.h" is now only the library-writer's interface.

Also added two tiny routines to simplify library writer's "Attach" routine.
@
text
@d12 1
a12 1
	$(CHARMC) $(OBJS) $(COMPAT) -o $@@
d27 1
a27 1
	$(CHARMC) $(CFLAGS) -c $<
@


1.1
log
@TCharm: manages a CthThread's creation, load balacing,
migration, and shutdown.  Used as a "framework framework"
by FEM, AMPI, and MBlock.
@
text
@d4 1
a4 1
HEADERS=tcharm.h tcharmc.h tcharmf.h tcharm.decl.h
@

