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


1.15
date	2004.11.04.01.15.18;	author yogesh;	state Exp;
branches;
next	1.14;

1.14
date	2004.11.02.07.31.29;	author nilesh;	state Exp;
branches;
next	1.13;

1.13
date	2004.11.02.06.46.30;	author nilesh;	state Exp;
branches;
next	1.12;

1.12
date	2004.10.29.21.07.10;	author gzheng;	state Exp;
branches;
next	1.11;

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

1.10
date	2004.10.20.03.47.35;	author bohm;	state Exp;
branches;
next	1.9;

1.9
date	2004.10.20.03.46.30;	author bohm;	state Exp;
branches;
next	1.8;

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

1.7
date	2004.10.08.19.48.29;	author bohm;	state Exp;
branches;
next	1.6;

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

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

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

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

1.2
date	2004.08.16.06.07.44;	author jagadish;	state Exp;
branches;
next	1.1;

1.1
date	2004.08.11.20.59.43;	author jagadish;	state Exp;
branches;
next	;


desc
@@


1.15
log
@
A change in the docs rule in the Makefile
@
text
@# NOTE: This is the basic Makefile template that includes the additional
#       Makefile.simulation makefile that is found in the location of the
#       current installation of POSE.
#
#	The Makefile.simulation set of rules allows the compilation of
#       a SINGLE simulation module. If multiple simulation modules are
#	desired, some "surgery" of Makefile.simulation (and this file)
#	will be required. 
#
# ***********************************************************************

# Default charmc options
# - changes here will be exported to upper level makefile
# *******************************************************
OPTS=-g#-DCMK_OPTIMIZE=1 -DCMK_MEMCHECKS_OFF=1

include ../Makefile.common

# Default Location variables
# **************************
#POSE_ROOT=$(HOME)/charm/net-linux/lib

# Default module names
# - MAKE MODIFICATIONS HERE
# *************************
#LIBS=/expand8/home/guna/charm/src/langs/bluegene/blue_seq.o

# Simulation object definitions 
# *****************************

ROUTINGDIR = ../Routing
TOPOLOGYDIR = ../Topology
OUTPUT_VCSELECTIONDIR = ../OutputVcSelection
INPUT_VCSELECTIONDIR = ../InputVcSelection
MAINDIR = ../Main
SUBDIRS = $(MAINDIR) $(ROUTINGDIR) $(TOPOLOGYDIR) $(OUTPUT_VCSELECTIONDIR) $(INPUT_VCSELECTIONDIR)
PGM = BGHiSim
OTHER = -lconv-bluegene-logs
LIBS = -Lstdc++ -lm
MACHINE = BlueGene

all:  
	@@echo
	test -d ../tmp || mkdir ../tmp;
	cd ..;
	for i in $(SUBDIRS) ; do \
	( cd $$i ; $(MAKE) $(MACHINE) MACHINE="../$(MACHINE)" ) || exit 1; \
	done

	$(MAKE) $(OBJDIR)/InitNetwork.o  $(OBJDIR)/util.o

	cd ../tmp; /bin/rm -f moduleinit*.o; $(CHARMC) *.o $(OTHER) $(LIBS) -o $(PGM) $(POSEMODULE) -ltrace-projections -language charm++ 

$(OBJDIR)/InitNetwork.o: InitNetwork.C
	$(CHARMC) -o $@@ -seq InitNetwork.C -I../Main -I./

$(OBJDIR)/util.o: util.C
	$(CHARMC) -o $@@ -seq util.C


docs: ../HiSim.doxy ../BlueGene/InitNetwork.C ../BlueGene/util.C ../HypCubeArch/InitNetwork.C ../HypCubeArch/util.C ../HypCubeArchOB/InitNetwork.C ../HypCubeArchOB/util.C ../IB/InitNetwork.C ../IB/util.C ../InputVcSelection/RoundRobin.C ../InputVcSelection/SLQ.C ../InputVcSelection/SLQ_Switch.C ../InputVcSelection/outputBufferIn.C ../Main/BgSim.C ../Main/Channel.C ../Main/Nic.C ../Main/Switch.C ../Main/TCsim.C ../Main/pgm.C ../Main/TCsim_sim.C ../Main/BgSim_sim.C ../OB/InitNetwork.C ../OB/util.C ../OutputVcSelection/maxAvailBuffer.C ../OutputVcSelection/maxAvailBufferBubbleVc.C ../OutputVcSelection/maxAvailBufferSwitch.C ../OutputVcSelection/outputBuffer.C ../RedStorm/InitNetwork.C ../Routing/DirectionOrdered3D.C ../Routing/HammingDistance.C ../Routing/TorusRouting.C ../Routing/UpDown.C ../Topology/FatTree.C ../Topology/HyperCube.C ../Topology/Mesh3D.C ../BlueGene/InitNetwork.h ../BlueGene/util.h ../HypCubeArch/InitNetwork.h ../HypCubeArch/util.h ../HypCubeArchOB/InitNetwork.h ../HypCubeArchOB/util.h ../IB/InitNetwork.h ../IB/util.h ../InputVcSelection/MainInputVcSelection.h ../InputVcSelection/RoundRobin.h ../InputVcSelection/SLQ.h ../InputVcSelection/SLQ_Switch.h ../InputVcSelection/outputBufferIn.h ../Main/BgSim.h ../Main/TCsim.h ../Main/pgm.h ../Main/TCsim_sim.h ../Main/TCsim.decl.h ../Main/TCsim.def.h ../Main/BgSim_sim.h ../Main/BgSim.decl.h ../Main/BgSim.def.h ../Main/Pgm.decl.h ../Main/Pgm.def.h ../OB/InitNetwork.h ../OB/util.h ../OutputVcSelection/MainOutputVcSelection.h ../OutputVcSelection/maxAvailBuffer.h ../OutputVcSelection/maxAvailBufferBubbleVc.h ../OutputVcSelection/maxAvailBufferSwitch.h ../OutputVcSelection/outputBuffer.h ../RedStorm/InitNetwork.h ../Routing/DirectionOrdered3D.h ../Routing/HammingDistance.h ../Routing/MainRouting.h ../Routing/TorusRouting.h ../Routing/UpDown.h ../Topology/FatTree.h ../Topology/HyperCube.h ../Topology/MainTopology.h ../Topology/Mesh3D.h ../Main/BgSim.ci ../Main/TCsim_sim.ci ../Main/TCsim.ci ../Main/pgm.ci ../Main/BgSim_sim.ci
	cd ..; doxygen HiSim.doxy

clean:
	@@echo
	cd ..;
	for i in $(SUBDIRS) ; do \
	( cd $$i ; $(MAKE) clean ) ; \
	done
	-cd ../tmp; rm -f *.o; rm -f charmrun; rm -f module*; rm -f $(PGM)
	rm -f *.o
@


1.14
log
@Moved docs to this makefile:

: ----------------------------------------------------------------------
@
text
@d62 1
a62 1
	doxygen ../HiSim.doxy
@


1.13
log
@Makefile.common has now doxygen support added
Bluegene/Makefile has some modifications so that clean works properly
@
text
@d60 4
@


1.12
log
@fix clean modueinit.o
@
text
@d45 1
d62 1
@


1.11
log
@fixed mode with seq pose
@
text
@d51 1
a51 1
	cd ../tmp; /bin/rm -f moduleinit.o; $(CHARMC) *.o $(OTHER) $(LIBS) -o $(PGM) $(POSEMODULE) -ltrace-projections -language charm++ 
@


1.10
log
@should use $(MAKE) always to avoid gmake hassles on lemieux
@
text
@d42 1
a42 1
all:  sqtest
d51 1
a51 1
	cd ../tmp; /bin/rm -f moduleinit.o; $(CHARMC) *.o $(OTHER) $(LIBS) -o $(PGM) -module pose -ltrace-projections -language charm++ 
a58 10

sqtest:
ifeq ($(SEQUENTIAL),1)
	cp  $(CHARMBASE)/lib/libmoduleseqpose.a $(CHARMBASE)/lib/libmodulepose.a
	cp  $(CHARMBASE)/lib_so/libmoduleseqpose.so $(CHARMBASE)/lib_so/libmodulepose.so
else
	cp  $(CHARMBASE)/lib/libmoduleorigpose.a $(CHARMBASE)/lib/libmodulepose.a
	cp  $(CHARMBASE)/lib_so/libmoduleorigpose.so $(CHARMBASE)/lib_so/libmodulepose.so
endif

@


1.9
log
@Added sequential support.
make SEQUENTIAL=1 now builds the sequential version of the simulator.
It turns on the -DSEQUENTIAL_POSE flag, adds the -s to etrans, and
copies libmoduleseqpose to libmodulepose for linking so you get the
sequential pose.
Building without sequential copies the libmoduleorigpose back in so
parallel builds shouldn't be broken.
@
text
@d49 1
a49 1
	make $(OBJDIR)/InitNetwork.o  $(OBJDIR)/util.o
@


1.8
log
@removed commlib.
@
text
@d42 1
a42 1
all:  
d59 10
@


1.7
log
@Change pgm to BGHiSim
@
text
@d51 1
a51 1
	cd ../tmp; /bin/rm -f moduleinit.o; $(CHARMC) *.o $(OTHER) $(LIBS) -o $(PGM) -module pose -ltrace-projections -language charm++ -module commlib
@


1.6
log
@modified make to output to tmp instead of copy into. This is to make sure tempate instantiation works correct on Lemieux.
@
text
@d37 1
a37 1
PGM = pgm
d51 1
a51 1
	cd ../tmp; /bin/rm -f moduleinit.o; $(CHARMC) *.o $(OTHER) $(LIBS) -o $(PGM) -lpose -ltrace-projections -language charm++ -module commlib
@


1.5
log
@use $(MAKE) instead of calling male directly
@
text
@d17 1
a17 5
CHARMBASE=../../../../
CHARMBIN=$(CHARMBASE)/bin
CHARMINC=$(CHARMBASE)/include

CHARMC=$(CHARMBIN)/charmc -I$(CHARMINC)/pose $(OPTS)
d42 1
a42 1
all:
d44 1
d49 1
a49 3
	$(CHARMC) -o InitNetwork.o -seq InitNetwork.C -I../Main -I./
	$(CHARMC) -o util.o -seq util.C
	test -d ../tmp || mkdir ../tmp; cp *.o ../tmp
d53 6
d64 1
a64 1
	cd ../tmp; rm -f *.o; rm -f charmrun; rm -f module*; rm -f $(PGM)
@


1.4
log
@removed moduleinit.o in tmp (resulted in faulty compilation) before linking.
@
text
@d49 1
a49 1
	( cd $$i ; make $(MACHINE) MACHINE="../$(MACHINE)" ) || exit 1; \
d61 1
a61 1
	( cd $$i ; make clean ) ; \
@


1.3
log
@added fixes from BigNetSim to TCsim.C.
improved Makefile.
@
text
@d56 1
a56 1
	cd ../tmp;$(CHARMC) *.o $(OTHER) $(LIBS) -o $(PGM) -lpose -ltrace-projections -language charm++ -module commlib
@


1.2
log
@Added choice between adaptive and deterministic routing for Bluegene
Added choice for receiving multiple messages simulataneously (Bluegene has 6 reception fifos operating simulataneously)
Added input speedup variable which constrains the number of input vcs which can be simulataneously transfer data
put switch/channel/nic code into seperate files
Added util.* files in machine directories so that they can be extended as needed
For now Bluegene and IB are working. Simple changes to be made to HypercubeArch and Redstorm too.
@
text
@d49 1
a49 1
	( cd $$i ; make $(MACHINE) MACHINE="../$(MACHINE)" ) ; \
d54 1
a54 1
	cp *.o ../tmp
@


1.1
log
@*** empty log message ***
@
text
@d52 4
a55 1
	$(CHARMC) -o InitNetwork.o -seq InitNetwork.C -I../Main -I./ ; cp InitNetwork.o ../tmp
@

