blob: c4f47020f52ca888b95e8b7881aac564633fcf19 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
CREATESHAREDLIB ?=0
CPP = g++ $(SNOW)
CC = gcc $(SNOW)
ifeq ($(INTEL),1)
CPP = icpc
CC = icc
endif
YACC = bison -d
LEX = flex
PURIFY = /usr/bin/purify
QUANT = /usr/bin/quantify
INTERFACE = interconnect_interface.cpp
DEBUG = 0
CPPFLAGS = -g -Wall
ifneq ($(DEBUG),1)
CPPFLAGS = -O3 -g
else
CPPFLAGS +=
endif
TEST = -DUNIT_TEST
ifneq ($(UNIT_TEST),1)
TEST =
endif
CPPFLAGS += -fPIC
PROG = intersim
CPP_SRCS = $(INTERFACE) \
config_utils.cpp \
booksim_config.cpp \
module.cpp \
router.cpp \
iq_router.cpp \
event_router.cpp \
vc.cpp \
routefunc.cpp \
traffic.cpp \
allocator.cpp \
maxsize.cpp \
network.cpp \
singlenet.cpp \
kncube.cpp \
fly.cpp \
trafficmanager.cpp \
random_utils.cpp \
buffer_state.cpp \
stats.cpp \
pim.cpp \
islip.cpp \
loa.cpp \
wavefront.cpp \
misc_utils.cpp \
credit.cpp \
outputset.cpp \
flit.cpp \
selalloc.cpp \
arbiter.cpp \
injection.cpp \
rng_wrapper.cpp \
rng_double_wrapper.cpp \
statwraper.cpp
LEX_OBJS = configlex.o
YACC_OBJS = config_tab.o
#--- Make rules ---
OBJS = $(CPP_SRCS:.cpp=.o) $(LEX_OBJS) $(YACC_OBJS)
.PHONY: clean
.PRECIOUS: %_tab.cpp %_tab.hpp %lex.cpp
lib$(PROG).a: $(OBJS)
ar rcs lib$(PROG).a $(OBJS)
purify: $(OBJS)
$(PURIFY) -always-use-cache-dir $(CPP) $(OBJS) -o $(PROG) -L/usr/lib
quantify: $(OBJS)
$(QUANT) -always-use-cache-dir $(CPP) $(OBJS) -o $(PROG) -L/usr/lib
%lex.o: %lex.cpp %_tab.hpp
$(CPP) $(CPPFLAGS) -c $< -o $@
%.o: %.cpp
$(CPP) $(EXTRA) $(CPPFLAGS) $(TEST) -c $< -o $@
%.o: %.c
$(CPP) $(CPPFLAGS) $(TEST) $(VCSFLAGS) -c $< -o $@
%_tab.cpp: %.y
$(YACC) -b$* -p$* $<
cp -f $*.tab.c $*_tab.cpp
%_tab.hpp: %_tab.cpp
cp -f $*.tab.h $*_tab.hpp
%lex.cpp: %.l
$(LEX) -P$* -o$@ $<
cp configlex.cpp configlex.cpp.orig
awk '/configlineno = 1/ {if (line == 0) {line = 1; print} next;} //{print}' configlex.cpp.orig > configlex.cpp
clean:
rm -f $(OBJS) *_tab.cpp *_tab.hpp *.tab.c *.tab.h *lex.cpp
rm -f $(PROG)
rm -f lib$(PROG).a
rm -f lib$(PROG).so
interconnect_interface.o: ../cuda-sim/ptx.tab.h
../cuda-sim/ptx.tab.h:
make -C ../cuda-sim/ ptx.tab.c
|