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