summaryrefslogtreecommitdiff
path: root/src/intersim2/Makefile
diff options
context:
space:
mode:
authorDongdong Li <[email protected]>2013-08-08 00:15:58 -0800
committerAndrew Boktor <[email protected]>2014-08-14 13:50:58 -0700
commit7f49fe9feb174d34efc2a011bad79b38522a360b (patch)
treeab5b7b66e40315a81871acbf386722981020f866 /src/intersim2/Makefile
parent5f91e7435742bab74dfbeca18afc63e466498f36 (diff)
Intesim2 Integration
Details: See Review 80001 https://gpgpu-sim-code-review.appspot.com/80001/ [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 16747]
Diffstat (limited to 'src/intersim2/Makefile')
-rw-r--r--src/intersim2/Makefile176
1 files changed, 176 insertions, 0 deletions
diff --git a/src/intersim2/Makefile b/src/intersim2/Makefile
new file mode 100644
index 0000000..a0a04e9
--- /dev/null
+++ b/src/intersim2/Makefile
@@ -0,0 +1,176 @@
+# $Id $
+
+# Copyright (c) 2007-2012, Trustees of The Leland Stanford Junior University
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+# Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+#
+# Makefile
+#
+CXX = g++
+CC = gcc
+CREATE_LIBRARY ?= 0
+INTERFACE = interconnect_interface.cpp
+DEBUG ?= 0
+
+LEX = flex
+YACC = bison -y
+DEFINE = #-DTRACK_STALLS -DTRACK_BUFFERS -DTRACK_FLOWS -DTRACK_CREDITS
+INCPATH = -I. -Iarbiters -Iallocators -Irouters -Inetworks -Ipower
+
+ifeq ($(CREATE_LIBRARY),1)
+INCPATH += -I$(GPGPUSIM_ROOT)/src/gpgpu-sim/
+endif
+
+CPPFLAGS += -Wall $(INCPATH) $(DEFINE)
+ifneq ($(DEBUG),1)
+CPPFLAGS += -O3
+endif
+CPPFLAGS += -g
+CPPFLAGS += -fPIC
+LFLAGS +=
+
+
+ifeq ($(SIM_OBJ_FILES_DIR),)
+OBJDIR := obj
+else
+OBJDIR := $(SIM_OBJ_FILES_DIR)/intersim2
+endif
+PROG := booksim
+
+# simulator source files
+CPP_SRCS = \
+ config_utils.cpp \
+ booksim_config.cpp \
+ module.cpp \
+ buffer.cpp \
+ vc.cpp \
+ routefunc.cpp \
+ traffic.cpp \
+ flitchannel.cpp \
+ trafficmanager.cpp \
+ batchtrafficmanager.cpp \
+ packet_reply_info.cpp \
+ buffer_state.cpp \
+ stats.cpp \
+ credit.cpp \
+ outputset.cpp \
+ flit.cpp \
+ injection.cpp\
+ misc_utils.cpp\
+ rng_wrapper.cpp\
+ rng_double_wrapper.cpp\
+ power_module.cpp \
+ switch_monitor.cpp \
+ buffer_monitor.cpp \
+ main.cpp \
+ gputrafficmanager.cpp \
+ intersim_config.cpp
+
+ifeq ($(CREATE_LIBRARY),1)
+CPP_SRCS += $(INTERFACE)
+DEFINE += -DCREATE_LIBRARY
+endif
+
+
+LEX_OBJS = ${OBJDIR}/lex.yy.o
+YACC_OBJS = ${OBJDIR}/y.tab.o
+
+# networks
+NETWORKS:= $(wildcard networks/*.cpp)
+ALLOCATORS:= $(wildcard allocators/*.cpp)
+ARBITERS:= $(wildcard arbiters/*.cpp)
+ROUTERS:= $(wildcard routers/*.cpp)
+POWER:= $(wildcard power/*.cpp)
+
+#--- Make rules ---
+OBJS := $(LEX_OBJS) $(YACC_OBJS)\
+ $(CPP_SRCS:%.cpp=${OBJDIR}/%.o)\
+ $(NETWORKS:networks/%.cpp=${OBJDIR}/%.o)\
+ $(ALLOCATORS:allocators/%.cpp=${OBJDIR}/%.o)\
+ $(ARBITERS:arbiters/%.cpp=${OBJDIR}/%.o)\
+ $(ROUTERS:routers/%.cpp=${OBJDIR}/%.o)\
+ $(POWER:power/%.cpp=${OBJDIR}/%.o)
+
+.PHONY: clean
+
+ifeq ($(CREATE_LIBRARY),1)
+all: $(OBJS)
+else
+all:$(PROG)
+
+$(PROG): $(OBJS)
+ $(CXX) $(LFLAGS) $^ -o $@
+endif
+
+# rules to compile simulator
+
+
+${LEX_OBJS}: lex.yy.c y.tab.h
+ $(CC) $(CPPFLAGS) -c $< -o $@
+
+${YACC_OBJS}: y.tab.c y.tab.h
+ $(CC) $(CPPFLAGS) -c $< -o $@
+
+${OBJDIR}/%.o: %.cpp
+ $(CXX) $(CPPFLAGS) -c $< -o $@
+
+# rules to compile networks
+${OBJDIR}/%.o: networks/%.cpp
+ $(CXX) $(CPPFLAGS) -c $< -o $@
+
+# rules to compile arbiters
+${OBJDIR}/%.o: arbiters/%.cpp
+ $(CXX) $(CPPFLAGS) -c $< -o $@
+
+# rules to compile allocators
+${OBJDIR}/%.o: allocators/%.cpp
+ $(CXX) $(CPPFLAGS) -c $< -o $@
+
+# rules to compile routers
+${OBJDIR}/%.o: routers/%.cpp
+ $(CXX) $(CPPFLAGS) -c $< -o $@
+
+# rules to compile power classes
+${OBJDIR}/%.o: power/%.cpp
+ $(CXX) $(CPPFLAGS) -c $< -o $@
+
+clean:
+ rm -f $(OBJS)
+ rm -f $(PROG)
+ rm -f *~
+ rm -f allocators/*~
+ rm -f arbiters/*~
+ rm -f networks/*~
+ rm -f runfiles/*~
+ rm -f routers/*~
+ rm -f examples/*~
+ rm -f y.tab.c y.tab.h lex.yy.c
+ rm -f moc_bgui.cpp
+
+y.tab.c y.tab.h: config.y
+ $(YACC) -d $<
+
+lex.yy.c: config.l
+ $(LEX) $<
+# DO NOT DELETE