summaryrefslogtreecommitdiff
path: root/ext/dsent/Makefile
diff options
context:
space:
mode:
authorNilay Vaish <nilay@cs.wisc.edu>2014-10-11 15:02:23 -0500
committerNilay Vaish <nilay@cs.wisc.edu>2014-10-11 15:02:23 -0500
commite8ed7b1d1b5bef31e9874f679a5797c2e00d06f1 (patch)
tree421c9c50377aa664958685914f5504c4c019e21f /ext/dsent/Makefile
parenta098fad174d8559037602b248b8e6f7f46bfebbb (diff)
downloadgem5-e8ed7b1d1b5bef31e9874f679a5797c2e00d06f1.tar.xz
ext: add the source code for DSENT
This patch adds a tool called DSENT to the ext/ directory. DSENT is a tool that models power and area for on-chip networks. The next patch adds a script for using the tool.
Diffstat (limited to 'ext/dsent/Makefile')
-rw-r--r--ext/dsent/Makefile55
1 files changed, 55 insertions, 0 deletions
diff --git a/ext/dsent/Makefile b/ext/dsent/Makefile
new file mode 100644
index 000000000..124188353
--- /dev/null
+++ b/ext/dsent/Makefile
@@ -0,0 +1,55 @@
+
+# Define the directories that will be compiled
+DIRS_TO_COMPILE := util tech io \
+ model model/timing_graph \
+ model/std_cells \
+ model/electrical \
+ model/electrical/router \
+ model/optical \
+ model/optical_graph \
+ model/network \
+ model/network/ATAC
+
+DIRS = $(patsubst %,$(CURDIR)/%,$(DIRS_TO_COMPILE))
+
+SRCS = $(foreach dir, $(DIRS), $(wildcard $(dir)/*.cc))
+
+OBJS = $(SRCS:%.cc=%.o)
+
+DEF_FLAGS =
+INCLUDE_FLAGS = -I$(CURDIR)
+OPT_FLAGS = -O2 -g
+WARN_FLAGS = -pedantic -Wall -W #-Wextra -Werror -Wno-write-strings
+CXXFLAGS = $(OPT_FLAGS) $(WARN_FLAGS) $(INCLUDE_FLAGS) $(DEF_FLAGS)
+
+LD_LIBS += -lutil
+LD_FLAGS += -Llibutil
+
+# Other libraries used
+LIB_UTIL = libutil/libutil.a
+
+#TARGET = $(CURDIR)/libdsent.a
+TARGET = $(CURDIR)/dsent
+
+all: $(TARGET)
+
+#$(TARGET): $(OBJS)
+# ar rcs $@ $^
+$(TARGET): main.o DSENT.o $(LIB_UTIL) $(OBJS)
+ $(CXX) $(CXXFLAGS) $(LD_FLAGS) $(OBJS) main.o DSENT.o -o $(TARGET) $(LD_LIBS)
+
+# For general c++ compilation
+%.o: %.cc
+ $(CXX) $(CXXFLAGS) -c $< -o $@
+
+$(LIB_UTIL):
+ $(MAKE) -C $(CURDIR)/libutil
+
+%/created:
+ mkdir -p $(dir $@)
+ touch $@
+
+.phony: clean
+clean:
+ $(RM) -rf main.o DSENT.o $(OBJS) $(TARGET)
+ $(MAKE) -C $(CURDIR)/libutil clean