Commit | Line | Data |
---|---|---|
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 | ################################################################################ | |
10 | ||
11 | ################################################################################ | |
12 | # variable declarations | |
13 | ################################################################################ | |
14 | ||
15 | .SUFFIXES: | |
16 | ||
17 | NEPTUNE_MODE ?= NEPTUNE | |
18 | HT_MODE ?= NO_HT | |
19 | RXC_SAT ?= NO_RXC_SAT | |
20 | MAKE_STRING ?= "${NEPTUNE_MODE} -D${HT_MODE} -D${RXC_SAT}" | |
21 | VERA_LIBDIR ?= ./lib | |
22 | MAC_LIBDIR ?= ${DV_ROOT}/verif/env/niu_mac_sat/vera/lib | |
23 | ||
24 | VERA_VRH ?= vera -cmp ${NEPTUNE_MODE} -I . -max_error 5 -q -H | |
25 | VERA_VRO ?= vera -cmp ${NEPTUNE_MODE} -I . -max_error 5 -q | |
26 | ||
27 | COMMON_DIR := ${DV_ROOT}/verif/env/common/vera/ | |
28 | MAC_DIR := ${DV_ROOT}/verif/env/niu/mac_sat/vera/ | |
29 | ||
30 | VERA_INCLUDE := $(wildcard include/*port*) | |
31 | VERA_INCLUDE += $(wildcard include/*if.vrh*) $(wildcard include/*.vrh*) | |
32 | VERA_INCLUDE += $(wildcard include/*.vri) | |
33 | VERA_INCLUDE += $(wildcard include/*bind*) | |
34 | VERA_INCLUDE := $(subst include,$(VERA_LIBDIR),$(VERA_INCLUDE)) | |
35 | ||
36 | MISC := | |
37 | ||
38 | TMP_MODE = $(findstring MAC_SAT, ${NEPTUNE_MODE}) | |
39 | ifeq ($(TMP_MODE),MAC_SAT) | |
40 | COMMON := ip_ingress_classes.vr ip_ingress_db.vr ip_util.vr rxc_class.vr | |
41 | else | |
42 | COMMON := ip_ingress_classes.vr ip_ingress_db.vr ip_util.vr rxc_class.vr fflp_model.vr pkt_configurator.vr | |
43 | endif | |
44 | ||
45 | MAC := | |
46 | ||
47 | COMMON_INCLUDE := $(wildcard $(COMMON_DIR)include/*.vri) | |
48 | COMMON_INCLUDE := $(subst $(COMMON_DIR)include,$(VERA_LIBDIR),$(COMMON_INCLUDE)) | |
49 | ||
50 | COMMON_VRH := $(patsubst %.vr,$(VERA_LIBDIR)/%.vrh,$(COMMON)) | |
51 | COMMON_VRO := $(patsubst %.vr,$(VERA_LIBDIR)/%.vro,$(COMMON)) | |
52 | ||
53 | MAC_INCLUDE := $(wildcard $(MAC_DIR)include/*.vri) | |
54 | MAC_INCLUDE := $(subst $(MAC_DIR)include,$(VERA_LIBDIR),$(MAC_INCLUDE)) | |
55 | ||
56 | MAC_VRH := $(patsubst %.vr,$(MAC_DIR)/%.vrh,$(MAC)) | |
57 | MAC_VRO := $(patsubst %.vr,$(MAC_DIR)/%.vro,$(MAC)) | |
58 | ||
59 | MISC_VRH := $(patsubst %.vr,$(VERA_LIBDIR)/%.vrh,$(MISC)) | |
60 | MISC_VRO := $(patsubst %.vr,$(VERA_LIBDIR)/%.vro,$(MISC)) | |
61 | ||
62 | ################################################################################ | |
63 | # generic rule to make a .vro file | |
64 | ################################################################################ | |
65 | ||
66 | $(VERA_LIBDIR)/%.vrh: $(VERA_LIBDIR)/%.vr | |
67 | cd $(VERA_LIBDIR); $(VERA_VRH) $(notdir $<) $(notdir $(@:%.vrh=%)) | |
68 | ||
69 | $(MAC_DIR)/%.vrh: $(MAC_DIR)/%.vr | |
70 | cd $(MAC_DIR); $(VERA_VRH) $(notdir $<) $(notdir $(@:%.vrh=%)) | |
71 | ||
72 | $(VERA_LIBDIR)/%.vro: $(VERA_LIBDIR)/%.vr | |
73 | cd $(VERA_LIBDIR); $(VERA_VRO) $(notdir $<) $(notdir $@) | |
74 | ||
75 | $(MAC_DIR)/%.vro: $(MAC_DIR)/%.vr | |
76 | cd $(MAC_DIR); $(VERA_VRO) $(notdir $<) $(notdir $@) | |
77 | ||
78 | $(VERA_LIBDIR)/%: $(COMMON_DIR)/% | |
79 | cp -f $< $@ | |
80 | ||
81 | $(VERA_LIBDIR)/%: $(MAC_DIR)/% | |
82 | cp -f $< $@ | |
83 | ||
84 | $(VERA_LIBDIR)/%.vri: $(MAC_DIR)/lib/%.vri | |
85 | cp -f $< $@ | |
86 | ||
87 | $(VERA_LIBDIR)/%: $(COMMON_DIR)/include/% | |
88 | cp -f $< $@ | |
89 | ||
90 | $(VERA_LIBDIR)/%: $(MAC_DIR)/include/% | |
91 | cp -f $< $@ | |
92 | ||
93 | $(VERA_LIBDIR)/%: include/% | |
94 | cp -f $< $@ | |
95 | ||
96 | $(VERA_LIBDIR)/%: % | |
97 | cp -f $< $@ | |
98 | ||
99 | ################################################################################ | |
100 | # all | |
101 | ################################################################################ | |
102 | ||
103 | all: dir $(VERA_INCLUDE) \ | |
104 | $(COMMON_INCLUDE) \ | |
105 | $(COMMON_VRH) $(COMMON_VRO) | |
106 | ||
107 | dir: | |
108 | if (test ! -d $(VERA_LIBDIR)) then mkdir $(VERA_LIBDIR) ; fi | |
109 | ||
110 | ################################################################################ | |
111 | # clean | |
112 | ################################################################################ | |
113 | ||
114 | clean: | |
115 | rm -rf $(VERA_LIBDIR)/* |