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


1.22
date	2007.11.28.23.11.55;	author wilmarth;	state Exp;
branches;
next	1.21;
commitid	326b474df58f4567;

1.21
date	2004.11.30.16.29.39;	author wilmarth;	state Exp;
branches;
next	1.20;

1.20
date	2004.10.28.21.57.04;	author gzheng;	state Exp;
branches;
next	1.19;

1.19
date	2004.10.22.05.52.30;	author gzheng;	state Exp;
branches;
next	1.18;

1.18
date	2004.10.22.04.30.14;	author gzheng;	state Exp;
branches;
next	1.17;

1.17
date	2004.10.21.21.06.29;	author gzheng;	state Exp;
branches;
next	1.16;

1.16
date	2004.10.21.19.31.25;	author gzheng;	state Exp;
branches;
next	1.15;

1.15
date	2004.10.20.03.02.31;	author bohm;	state Exp;
branches;
next	1.14;

1.14
date	2004.10.17.22.40.36;	author bohm;	state Exp;
branches;
next	1.13;

1.13
date	2004.10.04.21.41.49;	author wilmarth;	state Exp;
branches;
next	1.12;

1.12
date	2004.08.04.21.32.25;	author wilmarth;	state Exp;
branches;
next	1.11;

1.11
date	2004.07.22.01.39.22;	author wilmarth;	state Exp;
branches;
next	1.10;

1.10
date	2004.06.11.18.00.25;	author wilmarth;	state Exp;
branches;
next	1.9;

1.9
date	2004.02.18.17.27.35;	author wilmarth;	state Exp;
branches;
next	1.8;

1.8
date	2003.12.16.16.41.20;	author wilmarth;	state Exp;
branches;
next	1.7;

1.7
date	2003.12.02.23.18.11;	author wilmarth;	state Exp;
branches;
next	1.6;

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

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

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

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

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

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


desc
@@


1.22
log
@Memory_temporal code is complete, and builds along side POSE.  Not
integrated for use yet.
@
text
@# Default charmc options 
# - changes to be passed in via simulation makefiles 
# **************************************************
CDIR=../../../..
CHARMINC=$(CDIR)/include
CHARMBIN=$(CDIR)/bin
CHARMC=$(CDIR)/bin/charmc $(OPTS)
POSEINCDIR = $(CHARMINC)/pose

# POSE object definitions - DO NOT MODIFY
#***********************************
OBJECTS=	eventID.o stats.o srtable.o cancel.o memory_temporal.o \
		mempool.o pvtobj.o lbObject.o ldbal.o gvt.o event.o eqheap.o \
		evq.o sim.o rep.o strat.o seq.o cons.o opt.o opt2.o opt3.o \
		spec.o adapt.o adapt2.o adapt3.o adapt4.o pose.o
SEQOBJECTS=     $(OBJECTS:.o=.seq.o)

LIB = libmodulepose.a
SEQLIB = libmoduleseqpose.a
LIBDEST =  $(CDIR)/lib/$(LIB)
LIBSEQDEST =  $(CDIR)/lib/$(SEQLIB)
CIFILES = memory_temporal.def.h mempool.def.h gvt.def.h ldbal.def.h pose.def.h sim.def.h stats.def.h

# POSE LIBRARY GENERATION RULES -
# DO NOT MODIFY
# *******************************

all:  $(LIBDEST) $(LIBSEQDEST)

.PHONY:  pose seqpose

pose: $(LIBDEST)

seqpose:  $(LIBSEQDEST) 

$(LIBDEST):	$(OBJECTS)
	$(CHARMC) -o $(LIBDEST) $(OBJECTS)
	test ! -d $(POSEINCDIR) && mkdir $(POSEINCDIR) || true
	/bin/cp -f  *.h $(POSEINCDIR)
	/bin/cp libmodulepose.dep $(CDIR)/lib/.
	/bin/cp -f  etrans.pl $(CHARMBIN)

$(LIBSEQDEST):	$(SEQOBJECTS)
	$(CHARMC) -o $(LIBSEQDEST) $(SEQOBJECTS)
	test ! -d $(POSEINCDIR) && mkdir $(POSEINCDIR) || true
	/bin/cp -f  *.h $(POSEINCDIR)
	/bin/cp libmodulepose.dep $(CDIR)/lib/libmoduleseqpose.dep
	/bin/cp -f  etrans.pl $(CHARMBIN)

# POSE COMPILATION RULES 
# - DO NOT MODIFY
#***********************


sim.def.h : sim.decl.h

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

gvt.def.h: gvt.decl.h

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

ldbal.def.h: ldbal.decl.h

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

pose.def.h: pose.decl.h

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

stats.def.h: stats.decl.h

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

mempool.def.h: mempool.decl.h 

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

memory_temporal.def.h: memory_temporal.decl.h 

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


docs: pose.doxy adapt2.C adapt3.C adapt4.C eventID.C lbObject.C spec.C adapt2.h adapt3.h adapt4.h eventID.h lbObject.h pose.C spec.h pose.ci adapt.C ldbal.C srtable.C adapt.h memory_temporal.C mempool.C ldbal.ci srtable.h memory_temporal.ci mempool.ci pose.h cancel.C stats.C cancel.h ldbal.h pvtobj.C stats.ci memory_temporal.h mempool.h pvtobj.h chpt.h seq.C cons.C evq.C rep.C stats.h seq.h cons.h evq.h opt2.C rep.h opt2.h strat.C eqheap.C gvt.C sim.C strat.h eqheap.h gvt.ci opt3.C sim.ci opt3.h event.C gvt.h opt.C sim.h event.h opt.h
	doxygen pose.doxy

# HOUSE-KEEPING RULES
#********************
clean:
	rm -f charmrun conv-host *.o
	rm -f *.def.h *.decl.h
	rm -f gmon.out #*#
	rm -f core *~
	rm -f TAGS *.headers
	rm -f libmodulepose.a
	rm -f libmoduleseqpose.a

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 $(OBJECTS) ; do \
	      SRCFILE=`basename $$i .o`.C ; \
              echo "checking dependencies for $$i : $$SRCFILE" ; \
              g++ -MM -Wno-deprecated -I$(CHARMINC) $$SRCFILE >> $(DEPENDFILE); \
              echo '	$$(CHARMC) -o '$$i $$SRCFILE >> $(DEPENDFILE) ; \
        done; 	\
        for i in $(SEQOBJECTS) ; do \
	      SRCFILE=`basename $$i .seq.o`.C ; \
              echo "checking dependencies for $$i : $$SRCFILE" ; \
              g++ -MM -MT $$i -Wno-deprecated -I$(CHARMINC) $$SRCFILE >> $(DEPENDFILE); \
              echo '	$$(CHARMC) -o '$$i -DSEQUENTIAL_POSE=1 $$SRCFILE >> $(DEPENDFILE) ; \
        done; 

@


1.21
log
@Adding adapt4.  Works, but breaks all other strategies!!! Remind me to fix after defense!!!! :)
@
text
@d12 2
a13 2
OBJECTS=	eventID.o stats.o srtable.o cancel.o mempool.o \
		pvtobj.o lbObject.o ldbal.o gvt.o event.o eqheap.o \
d22 1
a22 1
CIFILES = mempool.def.h gvt.def.h ldbal.def.h pose.def.h sim.def.h stats.def.h
d85 1
d87 5
a91 1
docs: pose.doxy adapt2.C adapt3.C adapt4.C eventID.C lbObject.C spec.C adapt2.h adapt3.h adapt4.h eventID.h lbObject.h pose.C spec.h pose.ci adapt.C ldbal.C srtable.C adapt.h mempool.C ldbal.ci srtable.h mempool.ci pose.h cancel.C stats.C cancel.h ldbal.h pvtobj.C stats.ci mempool.h pvtobj.h chpt.h seq.C cons.C evq.C rep.C stats.h seq.h cons.h evq.h opt2.C rep.h opt2.h strat.C eqheap.C gvt.C sim.C strat.h eqheap.h gvt.ci opt3.C sim.ci opt3.h event.C gvt.h opt.C sim.h event.h opt.h
@


1.20
log
@define pose and seqpose as PHONY ttarge to avoid default make rules.
@
text
@d15 1
a15 1
		spec.o adapt.o adapt2.o adapt3.o pose.o
d86 1
a86 1
docs: pose.doxy adapt2.C adapt3.C eventID.C lbObject.C spec.C adapt2.h adapt3.h eventID.h lbObject.h pose.C spec.h pose.ci adapt.C ldbal.C srtable.C adapt.h mempool.C ldbal.ci srtable.h mempool.ci pose.h cancel.C stats.C cancel.h ldbal.h pvtobj.C stats.ci mempool.h pvtobj.h chpt.h seq.C cons.C evq.C rep.C stats.h seq.h cons.h evq.h opt2.C rep.h opt2.h strat.C eqheap.C gvt.C sim.C strat.h eqheap.h gvt.ci opt3.C sim.ci opt3.h event.C gvt.h opt.C sim.h event.h opt.h
@


1.19
log
@removed libmoduleseqpose.dep
changes make target pose to POSE due to confliction with default rules.
@
text
@d30 1
a30 1
POSE: $(LIBDEST)
d32 3
a34 1
SEQPOSE:  $(LIBSEQDEST) 
@


1.18
log
@fixed make depends.
@
text
@d30 1
a30 1
pose: $(LIBDEST) 
d32 1
a32 1
seqpose:  $(LIBSEQDEST) 
d45 1
a45 1
	/bin/cp libmoduleseqpose.dep $(CDIR)/lib/.
@


1.17
log
@write a fake registerseqpose() for seq pose. This is a hack because the moudle libmoduleseqpose actually is just a rename of module and is not defined in ci file.
@
text
@d117 1
a117 1
              g++ -M -MT $$i -Wno-deprecated -I$(CHARMINC) $$SRCFILE >> $(DEPENDFILE); \
@


1.16
log
@fixed make rules for compiling both pose and seqpose.
@
text
@a38 2
	/bin/cp $(CDIR)/lib/libmodulepose.a $(CDIR)/lib/libmoduleorigpose.a
	/bin/cp $(CDIR)/lib_so/libmodulepose.so $(CDIR)/lib_so/libmoduleorigpose.so
d110 1
a110 1
              echo "checking dependencies for $$i $$SRCFILE" ; \
d116 1
a116 1
              echo "checking dependencies for $$i $$SRCFILE" ; \
@


1.15
log
@quoted opts line takes off the curse on arch and lemieux
@
text
@d16 1
d43 2
a44 4
$(LIBSEQDEST): "OPTS += -DSEQUENTIAL_POSE=1"
$(LIBSEQDEST): seqsync
$(LIBSEQDEST): $(OBJECTS)
	$(CHARMC) -o $(LIBSEQDEST) $(OBJECTS) 
d47 1
a47 1
	/bin/cp libmoduleseqpose.dep  $(CDIR)/lib/.
a99 13
sqclean:
	rm -f *.o
	rm -f libmoduleseqpose.a

#retarded but gets around the fact that make doesn't want to rebuild
#these after the cleanup
seqsync: sqclean
	for i in $(OBJECTS) ; do \
	        SRCFILE=`basename $$i .o`.C ; \
		$(CHARMC) -o $$i $$SRCFILE ; \
	done;


d110 1
a110 1
        for i in $(PAROBJECTS) ; do \
d112 1
a112 1
              echo "checking dependencies for $$SRCFILE" ; \
d115 6
@


1.14
log
@Added libmoduleseqpose
A regular make will create both libmodulepose and libmoduleseqpose.
libmoduleseqpose is just pose compiled with -DSEQUENTIAL_POSE=1.
Which means you can't simply link via -module seqpose because the module
linking system wants various registration functions to exist with the same
name as the module.  Attempts to create standalone seqpose modules failed
due to the bewildering variety of decl, def, etrans, and pose.h include file
namespace agony which result in irreconcilable netsim link failures.

But this cheap hack work as long as you copy it over.
Therefore we also create a libmoduleorigpose copy of the libmodulepose
during the make so we can restore normality later.

The Makefiles for the netsims will have SEQUENTIAL options to take care
of this jiggery pokery (including etrans -s) behind the scenes.
BigNetSim is already done.  HiSim is a bit more complicated.
"Evil hidden from the user is indistinguishable from Good." - Jim Phillips
@
text
@d42 1
a42 1
$(LIBSEQDEST): OPTS += -DSEQUENTIAL_POSE=1
@


1.13
log
@Made POSE into a module.  Users should now link with -module pose instead of -lpose.
@
text
@d12 1
a12 1
OBJECTS=	eventID.o stats.o pose.o srtable.o cancel.o mempool.o \
d15 2
a16 1
		spec.o adapt.o adapt2.o adapt3.o
d18 1
d20 1
d26 7
d34 1
a34 1
	$(CHARMC) -o $(LIBDEST) $(OBJECTS) 
d38 11
d55 1
d86 1
d98 15
a112 1
	rm -f libpose.a
d124 1
a124 1
        for i in $(OBJECTS) ; do \
@


1.12
log
@Added integrated sequential simulation to POSE.
@
text
@d16 1
a16 1
LIB = libpose.a
d27 1
@


1.11
log
@Added adapt3; updated initialization and timing method.
@
text
@d14 1
a14 1
		evq.o sim.o rep.o strat.o cons.o opt.o opt2.o opt3.o \
d63 1
a63 1
docs: pose.doxy adapt2.C adapt3.C eventID.C lbObject.C spec.C adapt2.h adapt3.h eventID.h lbObject.h pose.C spec.h pose.ci adapt.C ldbal.C srtable.C adapt.h mempool.C ldbal.ci srtable.h mempool.ci pose.h cancel.C stats.C cancel.h ldbal.h pvtobj.C stats.ci mempool.h pvtobj.h chpt.h cons.C evq.C rep.C stats.h cons.h evq.h opt2.C rep.h opt2.h strat.C eqheap.C gvt.C sim.C strat.h eqheap.h gvt.ci opt3.C sim.ci opt3.h event.C gvt.h opt.C sim.h event.h opt.h
@


1.10
log
@Added memory recycling for event messages.
@
text
@d15 1
a15 1
		spec.o adapt.o adapt2.o
d63 1
a63 1
docs: pose.doxy adapt2.C eventID.C lbObject.C spec.C adapt2.h eventID.h lbObject.h pose.C spec.h pose.ci adapt.C ldbal.C srtable.C adapt.h mempool.C ldbal.ci srtable.h mempool.ci pose.h cancel.C stats.C cancel.h ldbal.h pvtobj.C stats.ci mempool.h pvtobj.h chpt.h cons.C evq.C rep.C stats.h cons.h evq.h opt2.C rep.h opt2.h strat.C eqheap.C gvt.C sim.C strat.h eqheap.h gvt.ci opt3.C sim.ci opt3.h event.C gvt.h opt.C sim.h event.h opt.h
@


1.9
log
@Added 'make docs' to run doxygen on POSE source.
@
text
@d12 1
a12 1
OBJECTS=	eventID.o stats.o pose.o srtable.o cancel.o evmpool.o \
d18 1
a18 1
CIFILES = evmpool.def.h gvt.def.h ldbal.def.h pose.def.h sim.def.h stats.def.h
d58 1
a58 1
evmpool.def.h: evmpool.decl.h 
d60 2
a61 2
evmpool.decl.h: evmpool.ci
	$(CHARMC) evmpool.ci
d63 1
a63 1
docs: pose.doxy adapt2.C eventID.C lbObject.C spec.C adapt2.h eventID.h lbObject.h pose.C spec.h pose.ci adapt.C ldbal.C srtable.C adapt.h evmpool.C ldbal.ci srtable.h evmpool.ci pose.h cancel.C stats.C cancel.h ldbal.h pvtobj.C stats.ci evmpool.h pvtobj.h chpt.h cons.C evq.C rep.C stats.h cons.h evq.h opt2.C rep.h opt2.h strat.C eqheap.C gvt.C sim.C strat.h eqheap.h gvt.ci opt3.C sim.ci opt3.h event.C gvt.h opt.C sim.h event.h opt.h
@


1.8
log
@Added new adaptive strategy (the one I will probably fiddle with a lot) plus
many many improvements to GVT and Commit algorithms.
@
text
@d63 3
@


1.7
log
@I've split up the synchronization strategies into the five basic variations in existence so far: opt, opt2, opt3, spec and adapt.  See the SyncStrategies.txt file for details.
@
text
@d15 1
a15 1
		spec.o adapt.o
@


1.6
log
@renamed con.[hC] to cons.[hC] - believe or not, I cannot create a file named "con" or "con.C" on a windows XP, so cvs failes on these two files.
@
text
@d14 2
a15 1
		evq.o sim.o rep.o strat.o cons.o opt.o adapt.o
d18 1
a18 1
CIFILES = evmpool.def.h  gvt.def.h  ldbal.def.h  pose.def.h  sim.def.h  stats.def.h  
@


1.5
log
@in Make.depends, also generate dependencies with charm kernel header files at tmp, originally those dependencies were filtered out.
With this dependencies, make will recompile pose if charm itself changes.
@
text
@d14 1
a14 1
		evq.o sim.o rep.o strat.o con.o opt.o adapt.o
@


1.4
log
@fixed a missing \
@
text
@d85 1
a85 2
              g++ -MM -Wno-deprecated -I$(CHARMINC) $$SRCFILE | \
              perl $(CHARMBIN)/dep.pl $(CHARMINC) /usr/include /usr/local >> $(DEPENDFILE); \
@


1.3
log
@added make depends command to generate a Make.depends file for parallel make.
@
text
@d77 1
a77 1
	echo "Creating " $(DEPENDFILE) " ..."; 
d79 1
a79 1
           /bin/mv -f $(DEPENDFILE) $(DEPENDFILE).old; \
d81 1
a81 1
	touch $(DEPENDFILE); \
d85 1
a85 1
              g++ -MM -I$(CHARMINC) $$SRCFILE | \
@


1.2
log
@fixed shell for Lemieux.
@
text
@d5 2
d8 1
a8 2
POSEBINDIR =  $(CDIR)/bin/
POSEINCDIR =  $(CDIR)/include/pose
d17 1
d26 1
a26 1
	/bin/cp -f  etrans.pl $(POSEBINDIR)
a30 2
chpt.o : chpt.C chpt.h
	$(CHARMC) -c chpt.C
d32 1
a32 2
adapt.o : adapt.C adapt.h 
	$(CHARMC) -c adapt.C
d34 1
a34 16
opt.o : opt.C opt.h 
	$(CHARMC) -c opt.C

con.o : con.C con.h 
	$(CHARMC) -c con.C

strat.o : strat.C sim.h
	$(CHARMC) -c strat.C

rep.o : rep.C rep.h
	$(CHARMC) -c rep.C

sim.o : sim.C sim.h sim.def.h sim.decl.h
	$(CHARMC) -c sim.C

sim.def.h sim.decl.h : sim.ci evmpool.def.h
d37 1
a37 2
evq.o : evq.C sim.h sim.def.h
	$(CHARMC) -c evq.C
d39 1
a39 7
eqheap.o : eqheap.C eqheap.h
	$(CHARMC) -c eqheap.C

gvt.o : gvt.C gvt.h gvt.def.h gvt.decl.h stats.def.h
	$(CHARMC) -c gvt.C

gvt.def.h gvt.decl.h : gvt.ci
d42 1
a42 2
ldbal.o : ldbal.C ldbal.h ldbal.def.h ldbal.decl.h stats.def.h
	$(CHARMC) -c ldbal.C
d44 1
a44 1
ldbal.def.h ldbal.decl.h : ldbal.ci
d47 1
a47 4
pose.o : pose.C pose.h sim.def.h sim.decl.h pose.def.h pose.decl.h \
	stats.def.h stats.decl.h ldbal.def.h ldbal.decl.h \
	gvt.def.h gvt.decl.h
	$(CHARMC) -c pose.C
d49 1
a49 1
pose.def.h pose.decl.h : pose.ci
d52 1
a52 8
cancel.o : cancel.C cancel.h 
	$(CHARMC) -c cancel.C

pvtobj.o : pvtobj.C pvtobj.h 
	$(CHARMC) -c pvtobj.C

lbObject.o : lbObject.C lbObject.h 
	$(CHARMC) -c lbObject.C
d54 1
a54 7
srtable.o : srtable.C srtable.h 
	$(CHARMC) -c srtable.C

stats.o : stats.C stats.h stats.def.h stats.decl.h gvt.def.h ldbal.def.h
	$(CHARMC) -c stats.C

stats.def.h stats.decl.h : stats.ci
d57 1
a57 2
evmpool.o : evmpool.C evmpool.h evmpool.def.h evmpool.decl.h
	$(CHARMC) -c evmpool.C
d59 1
a59 1
evmpool.def.h evmpool.decl.h : evmpool.ci
a61 6
event.o : event.C event.h 
	$(CHARMC) -c event.C

eventID.o : eventID.C eventID.h 
	$(CHARMC) -c eventID.C

d71 19
@


1.1
log
@check in POSE for terry.
@
text
@d22 1
a22 1
	[ ! -d $(POSEINCDIR) ] && mkdir $(POSEINCDIR) || true
@

