xref: /XiangShan/Makefile (revision b543b09fe259d66bc6815a12b33d14da14834c9f)
1TOP = TopMain
2BUILD_DIR = ./build
3TOP_V = $(BUILD_DIR)/$(TOP).v
4SCALA_FILE = $(shell find ./src/main/scala -name '*.scala')
5
6SIMTOP = top.TestMain
7IMAGE = ""
8SIMCMD = test:runMain $(SIMTOP) -td $(BUILD_DIR) --image $(IMAGE)
9
10.DEFAULT_GOAL = verilog
11
12LIBDEVICE_PATH = ./src/test/cpp/libdevice
13libdevice:
14	make -C $(LIBDEVICE_PATH)
15
16$(TOP_V): $(SCALA_FILE)
17	mkdir -p $(@D)
18	sbt 'runMain top.$(TOP) -td $(@D) --output-file $@'
19
20verilog: $(TOP_V)
21
22test: libdevice
23	sbt '$(SIMCMD) --tr-rollback-buffers 0'
24
25emu: libdevice
26	sbt '$(SIMCMD) --backend-name verilator --generate-vcd-output off'
27
28clean:
29	rm -rf $(BUILD_DIR)
30
31.PHONY: libdevice verilog test emu clean
32