xref: /XiangShan/Makefile (revision d22ebddacfe11a7f886d41c1fdfdd3383a6985df)
184e9d6ebSZihao YuTOP = TopMain
284e9d6ebSZihao YuBUILD_DIR = ./build
384e9d6ebSZihao YuTOP_V = $(BUILD_DIR)/$(TOP).v
484e9d6ebSZihao YuSCALA_FILE = $(shell find ./src/main/scala -name '*.scala')
584e9d6ebSZihao Yu
60991dc5eSZihao YuSIMTOP = top.TestMain
707379a26SZihao YuIMAGE = ""
80991dc5eSZihao YuSIMCMD = test:runMain $(SIMTOP) -td $(BUILD_DIR) --image $(IMAGE)
907379a26SZihao Yu
100016469dSZihao Yu.DEFAULT_GOAL = verilog
110016469dSZihao Yu
12*d22ebddaSZihao Yuhelp:
13*d22ebddaSZihao Yu	sbt 'runMain top.$(TOP) --help'
14*d22ebddaSZihao Yu
1599efa5ccSZihao YuLIBDEVICE_PATH = ./src/test/cpp/libdevice
1699efa5ccSZihao Yulibdevice:
1799efa5ccSZihao Yu	make -C $(LIBDEVICE_PATH)
1899efa5ccSZihao Yu
1984e9d6ebSZihao Yu$(TOP_V): $(SCALA_FILE)
2084e9d6ebSZihao Yu	mkdir -p $(@D)
2184e9d6ebSZihao Yu	sbt 'runMain top.$(TOP) -td $(@D) --output-file $@'
2206977425SZihao Yu	sed -i -e 's/_\(aw\|ar\|w\|r\|b\)_\(\|bits_\)/_\1/g' $@
2384e9d6ebSZihao Yu
240016469dSZihao Yuverilog: $(TOP_V)
250016469dSZihao Yu
2699efa5ccSZihao Yutest: libdevice
27824ec125SZihao Yu	sbt '$(SIMCMD) --tr-rollback-buffers 0'
2884e9d6ebSZihao Yu
2999efa5ccSZihao Yuemu: libdevice
300991dc5eSZihao Yu	sbt '$(SIMCMD) --backend-name verilator --generate-vcd-output off'
3101b556cdSZihao Yu
3284e9d6ebSZihao Yuclean:
33ce52d698SZihao Yu	rm -rf $(BUILD_DIR)
340016469dSZihao Yu
35*d22ebddaSZihao Yu.PHONY: libdevice verilog test emu clean help
36