From f122fa70e30a7d7744b38fa22bd1d5aa949e8277 Mon Sep 17 00:00:00 2001 From: Wojciech Kosior Date: Thu, 24 Dec 2020 09:22:34 +0100 Subject: prepare makefile infrastructure for writing examples --- Makefile.example | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 Makefile.example (limited to 'Makefile.example') diff --git a/Makefile.example b/Makefile.example new file mode 100644 index 0000000..e44cf9c --- /dev/null +++ b/Makefile.example @@ -0,0 +1,39 @@ +# This Makefile is to be included by Makefile of each example + +ifndef PROJ_DIR +PROJ_DIR := ../../ +endif + +def : simulate + +include $(PROJ_DIR)/Makefile.util + +DESIGN_DIR := $(PROJ_DIR)/design/ +FONT := $(DESIGN_DIR)/font.mem + +IVFLAGS += -I$(PROJ_DIR)/include/ + +ROM_DEFINES = \ + -DROM_WORDS_COUNT=$(call FILE_LINES,instructions.mem) \ + -DEMBEDDED_ROM_FILE=\"instructions.mem\" \ + -DFONT_FILE=\"$(FONT)\" + +example.vvp : $(DESIGN_DIR)/*.v soc_with_peripherals.v flash_memory.v sram.v \ + vga_display.v example_toplevel.v $(FONT) messages.vh \ + instructions.mem + $(IV) $(IVFLAGS) $(SIMFLAGS) -DSIMULATION $(ROM_DEFINES) \ + -s example $(filter %.v,$^) -o $@ + +simulate : example.vvp + $(VVP) $< + +design.v : instructions.mem $(DESIGN_DIR)/*.v $(FONT) + $(IV) $(IVFLAGS) $(ROM_DEFINES) -E $(filter %.v,$^) -o $@ + +clean : + find . -name "*.vvp" -delete + rm $(call FIND_GENERATED_FILES,.) $(addprefix design.,v json asc bin) \ + $(addsuffix .log,yosys pnr) VGAdump.mem VGAdump.ppm \ + 2>/dev/null || true + +.PHONY : def simulate clean -- cgit v1.2.3