Hazard3/test/sim/common/src_only_app.mk

51 lines
1.2 KiB
Makefile
Raw Normal View History

2021-05-21 09:34:16 +08:00
ifndef SRCS
$(error Must define list of test sources as SRCS)
endif
ifndef APP
$(error Must define application name as APP)
endif
CCFLAGS ?=
LDSCRIPT ?= ../common/memmap.ld
2023-03-20 08:00:51 +08:00
CROSS_PREFIX ?= /opt/riscv/gcc-riscv32-corev/bin/riscv32-corev-elf-
2021-05-21 09:34:16 +08:00
TBDIR ?= ../tb_cxxrtl
INCDIR ?= ../common
MAX_CYCLES ?= 100000
TMP_PREFIX ?= tmp/
2021-05-21 09:34:16 +08:00
###############################################################################
.SUFFIXES:
.PHONY: all run view tb clean clean_tb
all: run
run: $(TMP_PREFIX)$(APP).bin
$(TBDIR)/tb --bin $(TMP_PREFIX)$(APP).bin --vcd $(TMP_PREFIX)$(APP)_run.vcd --cycles $(MAX_CYCLES)
2021-05-21 09:34:16 +08:00
view: run
gtkwave $(TMP_PREFIX)$(APP)_run.vcd
2021-05-21 09:34:16 +08:00
bin: $(TMP_PREFIX)$(APP).bin
2021-05-21 09:34:16 +08:00
tb:
$(MAKE) -C $(TBDIR) tb
clean:
rm -rf $(TMP_PREFIX)
2021-05-21 09:34:16 +08:00
clean_tb: clean
$(MAKE) -C $(TBDIR) clean
###############################################################################
$(TMP_PREFIX)$(APP).bin: $(TMP_PREFIX)$(APP).elf
2021-05-21 09:34:16 +08:00
$(CROSS_PREFIX)objcopy -O binary $^ $@
$(CROSS_PREFIX)objdump -h $^ > $(TMP_PREFIX)$(APP).dis
$(CROSS_PREFIX)objdump -d $^ >> $(TMP_PREFIX)$(APP).dis
2021-05-21 09:34:16 +08:00
$(TMP_PREFIX)$(APP).elf: $(SRCS) $(wildcard %.h)
mkdir -p $(TMP_PREFIX)
$(CROSS_PREFIX)gcc $(CCFLAGS) $(SRCS) -T $(LDSCRIPT) $(addprefix -I,$(INCDIR)) -o $@