Commit | Line | Data |
---|---|---|
86530b38 AT |
1 | ################################################################################ |
2 | ## File: Makefile | |
3 | ## Notes: runs with "gmake" only, not with "make" | |
4 | ## Description: | |
5 | ## ----------- | |
6 | ## Top level Makefile for compiling Vera DES environment. | |
7 | ## | |
8 | ################################################################################ | |
9 | ||
10 | ################################################################################ | |
11 | # variable declarations | |
12 | ################################################################################ | |
13 | ||
14 | .SUFFIXES: | |
15 | NEPTUNE_MODE ?= NEPTUNE | |
16 | RXC_SAT ?= RXC_MOD | |
17 | ||
18 | VERA_LIBDIR ?= ./lib | |
19 | ||
20 | VERA_VRH ?= vera -cmp ${NEPTUNE_MODE} -I . -max_error 5 -q -H | |
21 | VERA_VRO ?= vera -cmp ${NEPTUNE_MODE} -I . -max_error 5 -q | |
22 | MAKE_STRING ?= "-D${NEPTUNE_MODE} -D${RXC_SAT}" | |
23 | ||
24 | ||
25 | COMMON_DIR := ${DV_ROOT}/verif/env/common/vera/ | |
26 | ||
27 | PORT_SRC := include/siu_drv_ports.if.vrhpal | |
28 | IF_SRC := | |
29 | PORT_DEST := $(VERA_LIBDIR)/siu_drv_ports.if.vrh | |
30 | IF_DEST := | |
31 | ||
32 | VERA_INCLUDE := $(wildcard include/*vcon*) | |
33 | VERA_INCLUDE += $(wildcard include/*.vrh) | |
34 | VERA_INCLUDE += $(wildcard include/*.vri) | |
35 | VERA_INCLUDE += $(wildcard include/*.vrhpal) | |
36 | VERA_INCLUDE += $(wildcard include/*.vripal) | |
37 | VERA_INCLUDE := $(subst include,$(VERA_LIBDIR),$(VERA_INCLUDE)) | |
38 | ||
39 | CFLAGS ?= NEPTUNE | |
40 | TMP_MODE = $(findstring -DN2, ${NEPTUNE_MODE}) | |
41 | ifeq ($(TMP_MODE),-DN2) | |
42 | MODE = N2 | |
43 | CFLAGS = N2 | |
44 | endif | |
45 | ||
46 | TMP0_MODE = $(findstring MAC_SAT, ${NEPTUNE_MODE}) | |
47 | ifeq (${TMP0_MODE},MAC_SAT) | |
48 | MODE0 = MAC_SAT | |
49 | endif | |
50 | ||
51 | ifdef N2_FC | |
52 | ifdef NIU_GATE | |
53 | SIU_STUB += niu_memcbmgr.vr niu_mem.vr niu_siu_packet.vr meta_monitor.vr hostRdCbMgr.vr | |
54 | else | |
55 | SIU_STUB += niu_mem.vr niu_siu_packet.vr hostRdCbMgr.vr | |
56 | endif | |
57 | else | |
58 | ifdef N2_IOS | |
59 | SIU_STUB += niu_memcbmgr.vr niu_mem.vr niu_siu_packet.vr hostRdCbMgr.vr | |
60 | else | |
61 | ifeq ($(MODE),N2) | |
62 | ifeq ($(MODE0),MAC_SAT) | |
63 | SIU_STUB += niu_memcbmgr.vr niu_mem.vr niu_siu_packet.vr niu_siu_stub.vr meta_driver.vr niu_rxc_mon.vr meta_monitor.vr niu_siu_chk.vr hostRdCbMgr.vr | |
64 | else | |
65 | SIU_STUB += niu_memcbmgr.vr niu_mem.vr niu_siu_packet.vr niu_siu_stub.vr meta_driver.vr niu_rxc_mon.vr meta_monitor.vr niu_siu_chk.vr hostRdCbMgr.vr | |
66 | endif | |
67 | else | |
68 | ifeq ($(MODE0),MAC_SAT) | |
69 | SIU_STUB += niu_memcbmgr.vr niu_mem.vr hostRdCbMgr.vr | |
70 | else | |
71 | SIU_STUB += niu_memcbmgr.vr niu_mem.vr niu_rxc_mon.vr meta_monitor.vr hostRdCbMgr.vr | |
72 | endif | |
73 | endif | |
74 | endif | |
75 | endif | |
76 | ||
77 | SIU_STUB_VRH := $(patsubst %.vr,%.vrh,$(SIU_STUB)) | |
78 | SIU_STUB_VRO := $(patsubst %.vr,%.vro,$(SIU_STUB)) | |
79 | ||
80 | MISC := | |
81 | ||
82 | COMMON := $(SIU_STUB) | |
83 | ||
84 | COMMON_INCLUDE := $(subst $(COMMON_DIR)include,$(VERA_LIBDIR),$(COMMON_INCLUDE)) | |
85 | COMMON_VRH := $(patsubst %.vr,$(VERA_LIBDIR)/%.vrh,$(COMMON)) | |
86 | COMMON_VRO := $(patsubst %.vr,$(VERA_LIBDIR)/%.vro,$(COMMON)) | |
87 | ||
88 | MISC_VRH := $(patsubst %.vr,$(VERA_LIBDIR)/%.vrh,$(MISC)) | |
89 | MISC_VRO := $(patsubst %.vr,$(VERA_LIBDIR)/%.vro,$(MISC)) | |
90 | ||
91 | ################################################################################ | |
92 | # generic rule to make a .vro file | |
93 | ################################################################################ | |
94 | ||
95 | $(VERA_LIBDIR)/%.vrh: $(VERA_LIBDIR)/%.vr | |
96 | cd $(VERA_LIBDIR); $(VERA_VRH) $(notdir $<) $(notdir $(@:%.vrh=%)) | |
97 | ||
98 | $(VERA_LIBDIR)/%.vro: $(VERA_LIBDIR)/%.vr | |
99 | cd $(VERA_LIBDIR); $(VERA_VRO) $(notdir $<) $(notdir $@) | |
100 | ||
101 | $(VERA_LIBDIR)/%: $(COMMON_DIR)/% | |
102 | cp -f $< $@ | |
103 | ||
104 | $(VERA_LIBDIR)/%: $(COMMON_DIR)/include/% | |
105 | cp -f $< $@ | |
106 | ||
107 | $(VERA_LIBDIR)/%: include/% | |
108 | cp -f $< $@ | |
109 | ||
110 | $(VERA_LIBDIR)/%: % | |
111 | cp -f $< $@ | |
112 | ||
113 | ||
114 | ################################################################################ | |
115 | # all | |
116 | ################################################################################ | |
117 | ||
118 | all: dir $(VERA_INCLUDE) \ | |
119 | MEM_PLIS \ | |
120 | $(COMMON_INCLUDE) \ | |
121 | $(COMMON_VRH) $(COMMON_VRO) \ | |
122 | $(COMMON_VH) \ | |
123 | $(MISC_VRH) $(MISC_VRO) | |
124 | ||
125 | ||
126 | ||
127 | dir: | |
128 | if (test ! -d $(VERA_LIBDIR)) then mkdir $(VERA_LIBDIR) ; fi | |
129 | ||
130 | ||
131 | ifdef N2_FC | |
132 | MEM_PLIS: | |
133 | cd ${DV_ROOT}/verif/model/verilog/niu/sparse_mem_model/pli/src; gmake DFLAGS=N2_FC | |
134 | $(PORT_DEST): $(PORT_SRC) | |
135 | pal -r $< > $@ | |
136 | else | |
137 | MEM_PLIS: | |
138 | cd ${DV_ROOT}/verif/model/verilog/niu/sparse_mem_model/pli/src; gmake DFLAGS=$(CFLAGS) | |
139 | $(PORT_DEST): $(PORT_SRC) | |
140 | pal -r $< > $@ | |
141 | endif | |
142 | ||
143 | ################################################################################ | |
144 | # clean | |
145 | ################################################################################ | |
146 | ||
147 | clean: | |
148 | rm -rf $(VERA_LIBDIR)/* |