Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / env / niu / vera / Makefile
CommitLineData
86530b38
AT
1################################################################################
2## File: Makefile
3## Notes: runs with "gmake" only, not with "make"
4##
5## Description:
6## -----------
7## Top level Makefile for compiling Vera environment.
8##
9## $Id: Makefile,v 1.2.4.1 2008/06/19 08:32:10 ib135226 Exp $
10################################################################################
11
12################################################################################
13# variable declarations
14################################################################################
15
16.SUFFIXES:
17
18NEPTUNE_MODE ?= NEPTUNE
19HT_MODE ?= NO_HT
20RXC_SAT ?= RXC_MOD
21NEP_SAT ?= NEP_NOT_SAT
22NEP_PCIE ?= NEP_NOT_PCIE
23NEPTUNE_P2P ?= NOT_NEPTUNE_P2P
24N2_FC_NIU ?= N2_FC
25NEP_DEBUG ?= NEP_NO_DEBUG
26NEP_32_BIT ?= NEP_64_BIT
27NEP_DO_NOT_SUPPRESS_DENALI_ERRORS ?= SUPPRESS_DENALI_ERRORS
28N2_IOS_NIU ?= N2_IOS
29AXIS_VERA_ARG ?= AXIS
30COSIM ?=
31N2_AXIS ?=
32SIMS_64BIT ?=
33
34VERA_LIBDIR ?= ./lib
35MAC_LIBDIR ?= ${DV_ROOT}/verif/env/niu/mac_sat/vera/lib
36
37VERA_VRH ?= vera -cmp ${MAKE_STRING} -I . -max_error 5 -q -H
38VERA_VRO ?= vera -cmp ${MAKE_STRING} -I ${MODEL_DIR}/neptune_rxc/rel-0.1/vera -max_error 5 -q
39
40COMMON_DIR := ${DV_ROOT}/verif/env/common/vera/
41MAC_DIR := ${DV_ROOT}/verif/env/niu/mac_sat/vera/
42
43VERA_INCLUDE := $(wildcard include/*port*)
44VERA_INCLUDE += $(wildcard include/*if.vrh*) $(wildcard include/*.vrh*)
45VERA_INCLUDE += $(wildcard include/*.vri)
46VERA_INCLUDE += $(wildcard include/*bind*)
47VERA_INCLUDE := $(subst include,$(VERA_LIBDIR),$(VERA_INCLUDE))
48
49MISC :=
50
51COMMON :=
52
53MAC :=
54
55COMMON_INCLUDE := $(wildcard $(COMMON_DIR)include/*.vri)
56COMMON_INCLUDE := $(subst $(COMMON_DIR)include,$(VERA_LIBDIR),$(COMMON_INCLUDE))
57
58COMMON_VRH := $(patsubst %.vr,$(VERA_LIBDIR)/%.vrh,$(COMMON))
59COMMON_VRO := $(patsubst %.vr,$(VERA_LIBDIR)/%.vro,$(COMMON))
60
61MAC_INCLUDE := $(wildcard $(MAC_DIR)include/*.vri)
62MAC_INCLUDE := $(subst $(MAC_DIR)include,$(VERA_LIBDIR),$(MAC_INCLUDE))
63
64MAC_VRH := $(patsubst %.vr,$(MAC_DIR)/%.vrh,$(MAC))
65MAC_VRO := $(patsubst %.vr,$(MAC_DIR)/%.vro,$(MAC))
66
67MISC_VRH := $(patsubst %.vr,$(VERA_LIBDIR)/%.vrh,$(MISC))
68MISC_VRO := $(patsubst %.vr,$(VERA_LIBDIR)/%.vro,$(MISC))
69
70################################################################################
71# generic rule to make a .vro file
72################################################################################
73
74$(VERA_LIBDIR)/%.vrh: $(VERA_LIBDIR)/%.vr
75 cd $(VERA_LIBDIR); $(VERA_VRH) $(notdir $<) $(notdir $(@:%.vrh=%))
76
77$(MAC_DIR)/%.vrh: $(MAC_DIR)/%.vr
78 cd $(MAC_DIR); $(VERA_VRH) $(notdir $<) $(notdir $(@:%.vrh=%))
79
80$(VERA_LIBDIR)/%.vro: $(VERA_LIBDIR)/%.vr
81 cd $(VERA_LIBDIR); $(VERA_VRO) $(notdir $<) $(notdir $@)
82
83$(MAC_DIR)/%.vro: $(MAC_DIR)/%.vr
84 cd $(MAC_DIR); $(VERA_VRO) $(notdir $<) $(notdir $@)
85
86$(VERA_LIBDIR)/%: $(COMMON_DIR)/%
87 cp -f $< $@
88
89$(VERA_LIBDIR)/%: $(MAC_DIR)/%
90 cp -f $< $@
91
92$(VERA_LIBDIR)/%.vri: $(MAC_DIR)/lib/%.vri
93 cp -f $< $@
94
95$(VERA_LIBDIR)/%: $(COMMON_DIR)/include/%
96 cp -f $< $@
97
98$(VERA_LIBDIR)/%: $(MAC_DIR)/include/%
99 cp -f $< $@
100
101$(VERA_LIBDIR)/%: include/%
102 cp -f $< $@
103
104$(VERA_LIBDIR)/%: %
105 cp -f $< $@
106
107
108################################################################################
109# Decide what to set to the variable MAKE_STRING
110################################################################################
111
112
113ifdef N2_AXIS
114 MAKE_STRING := "-D${NEPTUNE_MODE} -D${HT_MODE} -D${RXC_SAT} -D${NEP_PCIE} -D${N2_AXIS}"
115else
116
117ifdef N2_FC
118##### if NIU_GATE in Full Chip #######
119ifdef NIU_GATE
120 MAKE_STRING := "-D${NEPTUNE_MODE} -D${N2_FC_NIU} -D${HT_MODE} -D${RXC_SAT} -D${NEP_PCIE} -DNIU_GATE -DPOST_LAYOUT"
121else
122 MAKE_STRING := "-D${NEPTUNE_MODE} -D${N2_FC_NIU} -D${HT_MODE} -D${RXC_SAT} -D${NEP_PCIE}"
123endif
124else
125
126#### if NIU_GATE in SAT #########
127ifdef NIU_GATE
128 ifdef POST_LAYOUT
129 MAKE_STRING := "-D${NEPTUNE_MODE} -D${HT_MODE} -D${RXC_SAT} -D${NIU_GATE} -D${NEP_PCIE} -DPOST_LAYOUT"
130 else
131 MAKE_STRING := "-D${NEPTUNE_MODE} -D${HT_MODE} -D${RXC_SAT} -D${NIU_GATE} -D${NEP_PCIE}"
132 endif
133else
134
135ifdef N2_IOS
136 MAKE_STRING := "-D${NEPTUNE_MODE} -D${N2_IOS_NIU} -D${HT_MODE} -D${RXC_SAT} -D${NEP_PCIE}"
137else
138ifdef COSIM
139 MAKE_STRING := "-D${NEPTUNE_MODE} -D${HT_MODE} -D${RXC_SAT} -D${NEP_PCIE} -D${COSIM}"
140else
141ifdef AXIS
142 MAKE_STRING := "-D${NEPTUNE_MODE} -D${HT_MODE} -D${RXC_SAT} -D${NEP_PCIE} -D${AXIS_VERA_ARG}"
143else
144ifdef NEPTUNE_P2P
145 ifdef SIMS_64BIT
146 MAKE_STRING := "-D${NEPTUNE_MODE} -D${HT_MODE} -D${RXC_SAT} -D${NEP_PCIE} -D${NEPTUNE_P2P} -D${SIMS_64BIT}"
147 else
148 MAKE_STRING := "-D${NEPTUNE_MODE} -D${HT_MODE} -D${RXC_SAT} -D${NEP_PCIE} -D${NEPTUNE_P2P}"
149 endif
150else
151 ifdef SIMS_64BIT
152 MAKE_STRING := "-D${NEPTUNE_MODE} -D${HT_MODE} -D${RXC_SAT} -D${NEP_PCIE} -D${SIMS_64BIT}"
153 else
154 MAKE_STRING := "-D${NEPTUNE_MODE} -D${HT_MODE} -D${RXC_SAT} -D${NEP_PCIE} "
155 endif
156endif
157endif
158endif
159endif
160endif
161endif
162endif
163
164ifeq ($(NEP_SAT),NEP_SAT)
165 MAKE_STRING := "-D${NEPTUNE_MODE} -D${HT_MODE} -D${RXC_SAT} -D${NEP_SAT}"
166endif
167
168ifeq ($(NEP_PCIE),NEP_PCIE)
169ifdef COSIM
170
171 ifdef NEPTUNE_P2P
172 MAKE_STRING := "-D${NEPTUNE_MODE} -D${HT_MODE} -D${NEP_PCIE} -D${RXC_SAT} -D${NEP_DEBUG} -D${NEP_32_BIT} -D${NEPTUNE_P2P} -D${NEP_DO_NOT_SUPPRESS_DENALI_ERRORS} -D${COSIM}"
173 else
174 MAKE_STRING := "-D${NEPTUNE_MODE} -D${HT_MODE} -D${NEP_PCIE} -D${RXC_SAT} -D${NEP_DEBUG} -D${COSIM}"
175 endif
176
177else
178ifdef AXIS
179 MAKE_STRING := "-D${NEPTUNE_MODE} -D${HT_MODE} -D${NEP_PCIE} -D${RXC_SAT} -D${NEP_DEBUG} -D${NEP_32_BIT} -D${NEP_DO_NOT_SUPPRESS_DENALI_ERRORS} -D${AXIS_VERA_ARG}"
180else
181ifdef NEPTUNE_P2P
182 ifdef SIMS_64BIT
183 MAKE_STRING := "-D${NEPTUNE_MODE} -D${HT_MODE} -D${NEP_PCIE} -D${RXC_SAT} -D${NEP_DEBUG} -D${NEP_32_BIT} -D${NEPTUNE_P2P} -D${NEP_DO_NOT_SUPPRESS_DENALI_ERRORS} -D${SIMS_64BIT}"
184 else
185 MAKE_STRING := "-D${NEPTUNE_MODE} -D${HT_MODE} -D${NEP_PCIE} -D${RXC_SAT} -D${NEP_DEBUG} -D${NEP_32_BIT} -D${NEPTUNE_P2P} -D${NEP_DO_NOT_SUPPRESS_DENALI_ERRORS} "
186 endif
187else
188 ifdef SIMS_64BIT
189 MAKE_STRING := "-D${NEPTUNE_MODE} -D${HT_MODE} -D${NEP_PCIE} -D${RXC_SAT} -D${NEP_DEBUG} -D${NEP_32_BIT} -D${NEP_DO_NOT_SUPPRESS_DENALI_ERRORS} -D${SIMS_64BIT}"
190 else
191 MAKE_STRING := "-D${NEPTUNE_MODE} -D${HT_MODE} -D${NEP_PCIE} -D${RXC_SAT} -D${NEP_DEBUG} -D${NEP_32_BIT} -D${NEP_DO_NOT_SUPPRESS_DENALI_ERRORS}"
192 endif
193endif
194endif
195endif
196endif
197
198################################################################################
199# all
200################################################################################
201
202ifdef NIU_SYSTEMC_T2
203
204all: dir $(VERA_INCLUDE) \
205 FILE_LIST \
206 MAC_MONITOR \
207 SPECWEB \
208 NIU_PLI \
209 NIU_UTIL \
210 NIU_ERRORS \
211 NCU_STUB \
212 GEN_PIO \
213 NIU_PIO \
214 NIU_INTR \
215 NIU_IPPKTGEN \
216 NIU_MAC_ \
217 NIU_MAC_CHECKER \
218 NIU_TOKENS \
219 NIU_DMC_UTILS \
220 NIU_TXC_ \
221 NIU_RXC_ \
222 NIU_RXC_CHECKER \
223 NIU_RANDOMS \
224 NIU_TEST_UTILS \
225 $(COMMON_INCLUDE) \
226 $(MAC_INCLUDE) \
227 $(COMMON_VRH) $(COMMON_VRO) \
228 $(MISC_VRH) $(MISC_VRO) \
229 $(MAC_VRO) \
230 $(VERA_LIBDIR)/vera_top.vro
231
232else
233
234all: dir $(VERA_INCLUDE) \
235 FILE_LIST \
236 MAC_MONITOR \
237 SPECWEB \
238 NIU_PLI \
239 NIU_UTIL \
240 NIU_ERRORS \
241 NCU_STUB \
242 GEN_PIO \
243 NIU_PIO \
244 NIU_INTR \
245 NIU_IPPKTGEN \
246 NIU_MAC_ \
247 NIU_MAC_CHECKER \
248 NIU_TOKENS \
249 NIU_DMC_UTILS \
250 NIU_TXC_ \
251 NIU_RXC_ \
252 NIU_RXC_CHECKER \
253 NIU_RXC_MONITOR \
254 NIU_RANDOMS \
255 NIU_TEST_UTILS \
256 NIU_COVERAGE \
257 $(COMMON_INCLUDE) \
258 $(MAC_INCLUDE) \
259 $(COMMON_VRH) $(COMMON_VRO) \
260 $(MISC_VRH) $(MISC_VRO) \
261 $(MAC_VRO) \
262 $(VERA_LIBDIR)/vera_top.vro
263
264endif
265
266dir:
267 if (test ! -d $(VERA_LIBDIR)) then mkdir $(VERA_LIBDIR) ; fi
268ifeq ($(NEPTUNE_ENV),CDMSPP)
269FILE_LIST:
270else
271FILE_LIST:
272 cd ${DV_ROOT}/verif/env/niu; gmake clean; gmake
273endif
274## This will be replaced with a common utility
275NIU_DISPMON:
276 cd ${DV_ROOT}/verif/env/common/vera/dispmon; gmake VERA_LIBDIR=$(VERA_LIBDIR) NEPTUNE_MODE=$(MAKE_STRING)
277MAC_MONITOR:
278 cd ${DV_ROOT}/verif/env/common/vera/mac_monitor; gmake VERA_LIBDIR=$(VERA_LIBDIR) NEPTUNE_MODE=$(MAKE_STRING)
279SPECWEB:
280 cd ${DV_ROOT}/verif/env/common/vera/specweb; gmake VERA_LIBDIR=$(VERA_LIBDIR) NEPTUNE_MODE=$(MAKE_STRING)
281ifdef SIMS_64BIT
282NIU_PLI:
283 cd ${DV_ROOT}/verif/env/common/pli/niu_pli; gmake CFLAGS=-m64
284else
285NIU_PLI:
286 cd ${DV_ROOT}/verif/env/common/pli/niu_pli; gmake
287endif
288NIU_UTIL:
289 cd ${DV_ROOT}/verif/env/niu/vera/niu_utils; gmake VERA_LIBDIR=$(VERA_LIBDIR) NEPTUNE_MODE=$(MAKE_STRING)
290ifdef N2_IOS
291NCU_STUB:
292else
293NCU_STUB:
294 cd ${DV_ROOT}/verif/env/niu/vera/ncu_drv; gmake VERA_LIBDIR=$(VERA_LIBDIR) NEPTUNE_MODE=$(MAKE_STRING)
295endif
296NIU_ERRORS:
297 cd ${DV_ROOT}/verif/env/common/vera/niu_gen_error; gmake VERA_LIBDIR=$(VERA_LIBDIR) NEPTUNE_MODE=$(MAKE_STRING)
298NIU_INTR:
299 cd ${DV_ROOT}/verif/env/common/vera/niu_intr; gmake VERA_LIBDIR=$(VERA_LIBDIR) NEPTUNE_MODE=$(MAKE_STRING)
300GEN_PIO:
301 cd ${DV_ROOT}/verif/env/common/vera/niu_gen_pio; gmake VERA_LIBDIR=$(VERA_LIBDIR) NEPTUNE_MODE=$(MAKE_STRING)
302NIU_PIO:
303 cd ${DV_ROOT}/verif/env/niu/vera/niu_pio; gmake VERA_LIBDIR=$(VERA_LIBDIR) NEPTUNE_MODE=$(MAKE_STRING)
304ifdef SIMS_64BIT
305NIU_IPPKTGEN:
306 cd ${DV_ROOT}/verif/env/common/vera/niu_ippktgen; gmake CFLAGS=-m64 VERA_LIBDIR=$(VERA_LIBDIR) NEPTUNE_MODE=$(MAKE_STRING)
307else
308NIU_IPPKTGEN:
309 cd ${DV_ROOT}/verif/env/common/vera/niu_ippktgen; gmake VERA_LIBDIR=$(VERA_LIBDIR) NEPTUNE_MODE=$(MAKE_STRING)
310endif
311NIU_TXC_:
312 cd ${DV_ROOT}/verif/env/niu/txc_sat/vera; gmake VERA_LIBDIR=$(VERA_LIBDIR) NEPTUNE_MODE=$(MAKE_STRING)
313NIU_RANDOMS:
314 cd ${DV_ROOT}/verif/env/common/vera/niu_randoms; gmake VERA_LIBDIR=$(VERA_LIBDIR) NEPTUNE_MODE=$(MAKE_STRING)
315NIU_COVERAGE:
316 cd ${DV_ROOT}/verif/env/common/vera/niu_coverage; gmake VERA_LIBDIR=$(VERA_LIBDIR) NEPTUNE_MODE=$(MAKE_STRING)
317NIU_TOKENS:
318 cd ${DV_ROOT}/verif/env/niu/vera/niu_tokens; gmake VERA_LIBDIR=$(VERA_LIBDIR) NEPTUNE_MODE=$(MAKE_STRING)
319NIU_DMC_UTILS:
320 cd ${DV_ROOT}/verif/env/niu/vera/dmc_utils; gmake VERA_LIBDIR=$(VERA_LIBDIR) NEPTUNE_MODE=$(MAKE_STRING)
321NIU_RXC_:
322 cd ${DV_ROOT}/verif/env/niu/rxc_sat/vera; gmake VERA_LIBDIR=$(VERA_LIBDIR) NEPTUNE_MODE=$(MAKE_STRING)
323NIU_TEST_UTILS:
324 cd ${DV_ROOT}/verif/env/niu/test_utils/vera; gmake VERA_LIBDIR=$(VERA_LIBDIR) NEPTUNE_MODE=$(MAKE_STRING)
325ifeq ($(NEPTUNE_ENV),CDMSPP)
326NIU_MAC_:
327NIU_MAC_CHECKER:
328else
329NIU_MAC_:
330 cd ${DV_ROOT}/verif/env/niu/mac_sat/vera; gmake VERA_LIBDIR=$(VERA_LIBDIR) NEPTUNE_MODE=$(MAKE_STRING)
331NIU_MAC_CHECKER:
332 cd ${DV_ROOT}/verif/env/niu/mac_sat/vera/lib/niu_mac_checker; gmake VERA_LIBDIR=$(VERA_LIBDIR) NEPTUNE_MODE=$(MAKE_STRING)
333endif
334
335NIU_RXC_CHECKER:
336 cd ${DV_ROOT}/verif/env/niu/rxc_sat/vera/checkers; gmake VERA_LIBDIR=$(VERA_LIBDIR) NEPTUNE_MODE=$(MAKE_STRING)
337
338NIU_RXC_MONITOR:
339 cd ${DV_ROOT}/verif/env/niu/rxc_sat/vera/monitor; gmake VERA_LIBDIR=$(VERA_LIBDIR) NEPTUNE_MODE=$(MAKE_STRING)
340
341ifeq ($(NEPTUNE_ENV),CDMSPP)
342$(VERA_LIBDIR)/vera_top.vro:
343ifdef N2_FC
344else
345ifdef N2_IOS
346else
347 cd ${DV_ROOT}/verif/env/niu/vera/top; gmake VERA_LIBDIR=$(VERA_LIBDIR) NEPTUNE_MODE=$(MAKE_STRING)
348endif
349endif
350else
351$(VERA_LIBDIR)/vera_top.vro:
352 cd ${DV_ROOT}/verif/env/vera/top; gmake VERA_LIBDIR=$(VERA_LIBDIR) NEPTUNE_MODE=$(MAKE_STRING)
353endif
354
355
356################################################################################
357# clean
358################################################################################
359debug:
360 echo "Vera top Makefile tmp_mode = $(TMP_MODE) tmp_mode1 = $(TMP_MODE1) make_string = $(MAKE_STRING) nep_pcie=$(NEP_PCIE) nep_sat = $(NEP_SAT) neptune_mode = $(NEPTUNE_MODE)"
361
362
363clean:
364 rm -rf $(VERA_LIBDIR)/*; cd ${DV_ROOT}/verif/model/verilog/niu/sparse_mem_model/pli/src; gmake clean
365