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 | MAKE_STRING ?= "${NEPTUNE_MODE}" | |
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 | ||
23 | COMMON_DIR := ${DV_ROOT}/verif/env/niu/vera/ | |
24 | ||
25 | PORT_SRC := include/txc_dmc_cache.vripal | |
26 | IF_SRC := | |
27 | PORT_DEST := $(VERA_LIBDIR)/txc_dmc_cache.vri | |
28 | IF_DEST := | |
29 | ||
30 | VERA_INCLUDE := $(wildcard include/*vcon*) | |
31 | VERA_INCLUDE += $(wildcard include/*.vrh) | |
32 | VERA_INCLUDE += $(wildcard include/*.vri) | |
33 | VERA_INCLUDE += $(wildcard include/*.vrhpal) | |
34 | VERA_INCLUDE += $(wildcard include/*.vripal) | |
35 | VERA_INCLUDE := $(subst include,$(VERA_LIBDIR),$(VERA_INCLUDE)) | |
36 | ||
37 | NEP_SAT_MODE = $(findstring NEP_SAT, ${NEPTUNE_MODE}) | |
38 | ||
39 | ifeq ($(NEP_SAT_MODE), NEP_SAT) | |
40 | TMP_MODE = $(findstring NEP_SAT, ${NEPTUNE_MODE}) | |
41 | else | |
42 | TMP_MODE = $(findstring SAT, ${NEPTUNE_MODE}) | |
43 | endif | |
44 | ||
45 | ifeq ($(TMP_MODE),SAT) | |
46 | DMC_STUB += niu_tx_pktconfig.vr niu_txcntrl_wd.vr niu_tx_errors.vr niu_tx_descp.vr niu_txhost_pktgen.vr niu_txcbmgr.vr niu_txport_cb.vr niu_tx_port.vr niu_tx_test_control.vr niu_tx_test_class.vr | |
47 | else | |
48 | DMC_STUB += niu_tx_pktconfig.vr niu_txcntrl_wd.vr niu_tx_errors.vr niu_tx_descp.vr niu_txhost_pktgen.vr niu_txcbmgr.vr niu_txport_cb.vr niu_tx_port.vr niu_tx_test_control.vr niu_tx_test_class.vr | |
49 | endif | |
50 | ||
51 | DMC_STUB_VRH := $(patsubst %.vr,%.vrh,$(DMC_STUB)) | |
52 | DMC_STUB_VRO := $(patsubst %.vr,%.vro,$(DMC_STUB)) | |
53 | ||
54 | MISC := | |
55 | ||
56 | COMMON := $(DMC_STUB) | |
57 | ||
58 | COMMON_INCLUDE := $(subst $(COMMON_DIR)include,$(VERA_LIBDIR),$(COMMON_INCLUDE)) | |
59 | COMMON_VRH := $(patsubst %.vr,$(VERA_LIBDIR)/%.vrh,$(COMMON)) | |
60 | COMMON_VRO := $(patsubst %.vr,$(VERA_LIBDIR)/%.vro,$(COMMON)) | |
61 | ||
62 | MISC_VRH := $(patsubst %.vr,$(VERA_LIBDIR)/%.vrh,$(MISC)) | |
63 | MISC_VRO := $(patsubst %.vr,$(VERA_LIBDIR)/%.vro,$(MISC)) | |
64 | ||
65 | ################################################################################ | |
66 | # generic rule to make a .vro file | |
67 | ################################################################################ | |
68 | ||
69 | $(VERA_LIBDIR)/%.vrh: $(VERA_LIBDIR)/%.vr | |
70 | cd $(VERA_LIBDIR); $(VERA_VRH) $(notdir $<) $(notdir $(@:%.vrh=%)) | |
71 | ||
72 | $(VERA_LIBDIR)/%.vro: $(VERA_LIBDIR)/%.vr | |
73 | cd $(VERA_LIBDIR); $(VERA_VRO) $(notdir $<) $(notdir $@) | |
74 | ||
75 | $(VERA_LIBDIR)/%: $(COMMON_DIR)/% | |
76 | cp -f $< $@ | |
77 | ||
78 | $(VERA_LIBDIR)/%: $(COMMON_DIR)/include/% | |
79 | cp -f $< $@ | |
80 | ||
81 | $(VERA_LIBDIR)/%: include/% | |
82 | cp -f $< $@ | |
83 | ||
84 | $(VERA_LIBDIR)/%: % | |
85 | cp -f $< $@ | |
86 | ||
87 | ||
88 | ################################################################################ | |
89 | # all | |
90 | ################################################################################ | |
91 | ||
92 | all: dir $(VERA_INCLUDE) \ | |
93 | $(PORT_DEST) \ | |
94 | SMX_DRV \ | |
95 | $(COMMON_INCLUDE) \ | |
96 | $(COMMON_VRH) $(COMMON_VRO) \ | |
97 | $(COMMON_VH) \ | |
98 | $(MISC_VRH) $(MISC_VRO) | |
99 | ||
100 | ||
101 | ||
102 | dir: | |
103 | if (test ! -d $(VERA_LIBDIR)) then mkdir $(VERA_LIBDIR) ; fi | |
104 | ||
105 | NIU_PIO: | |
106 | cd ${DV_ROOT}/verif/env/common/vera/niu_pio; gmake VERA_LIBDIR=$(VERA_LIBDIR) | |
107 | NIU_BACKEND: | |
108 | cd ${DV_ROOT}/verif/env/common/vera/niu_backend; gmake VERA_LIBDIR=$(VERA_LIBDIR) | |
109 | NIU_UTIL: | |
110 | cd ${DV_ROOT}/verif/env/common/vera/niu_util; gmake VERA_LIBDIR=$(VERA_LIBDIR) | |
111 | NIU_IPPKTGEN: | |
112 | cd ${DV_ROOT}/verif/env/common/vera/niu_ippktgen; gmake VERA_LIBDIR=$(VERA_LIBDIR) | |
113 | SMX_DRV: | |
114 | cd ${DV_ROOT}/verif/env/niu/vera/smx_drv/; gmake VERA_LIBDIR=$(VERA_LIBDIR) NEPTUNE_MODE=$(MAKE_STRING) | |
115 | ||
116 | ||
117 | $(PORT_DEST): $(PORT_SRC) | |
118 | pal -r $< > $@ | |
119 | ||
120 | ||
121 | ################################################################################ | |
122 | # clean | |
123 | ################################################################################ | |
124 | ||
125 | clean: | |
126 | rm -rf $(VERA_LIBDIR)/* |