-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathMakefile
54 lines (44 loc) · 1.6 KB
/
Makefile
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
ROOT_DIR = $(abspath ../../)
SCRIPTS_DIR = $(ROOT_DIR)/scripts
include $(SCRIPTS_DIR)/Makefile.base
LOCALSRCDIR = $(ROOT_DIR)/src:$(ROOT_DIR)/src/includes
LIB_CRC_DIR = $(ROOT_DIR)/lib/blue-crc
LIB_WRAPPER_DIR = $(ROOT_DIR)/lib/blue-wrapper
LIBSRCDIR = $(LIB_CRC_DIR)/src:$(LIB_WRAPPER_DIR)/src
CRC_TAB_SCRIPT = $(ROOT_DIR)/lib/blue-crc/scripts/gen_crc_tab.py
CRC_CONFIG_FILE = $(SCRIPTS_DIR)/crc_ieee_32_1024.json
TARGET = UdpIpEthRx
FILE_PATH = $(ROOT_DIR)/src
TEST_FILE = Test$(TARGET).py
DESIGN_FILE ?= $(TARGET).bsv
TOP ?= mkRaw$(TARGET)
VLOGDIR = generated
VLOG_FILE = $(VLOGDIR)/$(TOP).v
SUPPORT_RDMA ?= True
MACROFLAGS = -D IS_SUPPORT_RDMA=$(SUPPORT_RDMA)
# docker virtual network configuration
IP_ADDR ?=
UDP_PORT ?=
table:
ifeq ($(SUPPORT_RDMA), True)
python3 $(CRC_TAB_SCRIPT) $(CRC_CONFIG_FILE) $(BUILDDIR)
endif
verilog:
mkdir -p $(BUILDDIR)
bsc -elab $(VERILOGFLAGS) $(DIRFLAGS) $(MISCFLAGS) $(RECOMPILEFLAGS) $(RUNTIMEFLAGS) $(TRANSFLAGS) $(MACROFLAGS) -g $(TOP) $(FILE_PATH)/$(DESIGN_FILE)
mkdir -p $(VLOGDIR)
echo "" > $(VLOG_FILE)
bluetcl $(SCRIPTS_DIR)/listVlogFiles.tcl -bdir $(BUILDDIR) -vdir $(BUILDDIR) $(TOP) $(TOP) | grep -i '\.v' | xargs -I {} cat {} >> $(VLOG_FILE)
ifeq ($(SUPPORT_RDMA), True)
find $(LIB_CRC_DIR)/lib/primitives/ -name "*.v" -exec cat {} \; >> $(VLOG_FILE)
endif
cocotb: verilog table
ifeq ($(TARGET), UdpIpArpEthRxTx)
echo "Run run_docker_net_test.sh to test UdpIpArpEthRxTx"
else
python3 $(TEST_FILE) $(SUPPORT_RDMA)
endif
clean:
rm -rf $(VLOGDIR) $(BUILDDIR) __pycache__ .pytest_cache verilog *.mem *.json
.PHONY: table verilog cocotb clean
.DEFAULT_GOAL := verilog