# 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