1ifneq ($(DEVICE_PREFIX),) 2RELEASE_ARGS += --xstop-prefix $(DEVICE_PREFIX) 3DEBUG_ARGS += --xstop-prefix $(DEVICE_PREFIX) 4PLDM_ARGS += --xstop-prefix $(DEVICE_PREFIX) 5endif 6 7STANDALONE_DEVICES = StandAloneCLINT StandAlonePLIC StandAloneDebugModule 8STANDALONE_DEVICES_PATH = $(shell for module in $(STANDALONE_DEVICES); do echo $(RTL_DIR)/$$module/$(DEVICE_PREFIX)$$module.$(RTL_SUFFIX); done) 9 10ifeq ($(DEVICE_TL),1) 11DEVICE_ARGS += --use-tl 12endif 13ifeq ($(DEVICE_AXI4),1) 14DEVICE_ARGS += --use-axi4 15endif 16 17ifneq ($(DEVICE_HART_NUM),) 18NUM_CORES = $(DEVICE_HART_NUM) 19endif 20 21DEVICE_BASE_ADDR ?= -1 22DEVICE_ADDR_WIDTH ?= -1 23DEVICE_DATA_WIDTH ?= 64 24 25$(STANDALONE_DEVICES): $(RTL_DIR)/$(GOALS)/$(DEVICE_PREFIX)$(GOALS).$(RTL_SUFFIX) 26 27$(STANDALONE_DEVICES_PATH): $(SCALA_FILE) 28 echo $@ 29 echo $(notdir $(@D)) 30 mkdir -p $(@D) 31 $(TIME_CMD) mill -i xiangshan.runMain device.standalone.Main \ 32 -td $(@D) --num-cores $(NUM_CORES) $(RELEASE_ARGS) $(DEVICE_ARGS) \ 33 --standalone-device $(GOALS) --device-base-addr $(DEVICE_BASE_ADDR) \ 34 --device-addr-width $(DEVICE_ADDR_WIDTH) --device-data-width $(DEVICE_DATA_WIDTH) 35 @git log -n 1 >> .__head__ 36 @git diff >> .__diff__ 37 @sed -i 's/^/\/\// ' .__head__ 38 @sed -i 's/^/\/\//' .__diff__ 39 @cat .__head__ .__diff__ $@ > .__out__ 40 @mv .__out__ $@ 41 @rm .__head__ .__diff__ 42