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