Hazard3/test/sim/common/src_only_app.mk

49 lines
1.1 KiB
Makefile

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
CROSS_PREFIX ?= riscv32-unknown-elf-
TBDIR ?= ../tb_cxxrtl
INCDIR ?= ../common
MAX_CYCLES ?= 100000
###############################################################################
.SUFFIXES:
.PHONY: all run view tb clean clean_tb
all: run
run: $(APP).bin
$(TBDIR)/tb $(APP).bin $(APP)_run.vcd --cycles $(MAX_CYCLES)
view: run
gtkwave $(APP)_run.vcd
bin: $(APP).bin
tb:
$(MAKE) -C $(TBDIR) tb
clean:
rm -f $(APP).elf $(APP).bin $(APP).dis $(APP)_run.vcd
clean_tb: clean
$(MAKE) -C $(TBDIR) clean
###############################################################################
$(APP).bin: $(APP).elf
$(CROSS_PREFIX)objcopy -O binary $^ $@
$(CROSS_PREFIX)objdump -h $(APP).elf > $(APP).dis
$(CROSS_PREFIX)objdump -d $(APP).elf >> $(APP).dis
$(APP).elf: $(SRCS) $(wildcard %.h)
$(CROSS_PREFIX)gcc $(CCFLAGS) $(SRCS) -T $(LDSCRIPT) $(addprefix -I,$(INCDIR)) -o $(APP).elf