# NAME # BUILD_DIR # SRCS # ENTITY_RUN all: analyze $(BUILD_DIR): mkdir -p $@ analyze: $(BUILD_DIR) $(SRCS) ghdl -a --work=$(NAME) --workdir=$(BUILD_DIR) $(SRCS) run: analyze -ghdl -r --work=$(NAME) --workdir=$(BUILD_DIR) $(ENTITY_RUN) --wave=$(BUILD_DIR)/$(NAME).ghw --assert-level=error >$(BUILD_DIR)/$(NAME).log sim: run exec gtkwave -f $(BUILD_DIR)/$(NAME).ghw & synth: analyze ghdl --synth --work=$(NAME) --workdir=$(BUILD_DIR) $(ENTITY_SYN) clean: rm -f $(BUILD_DIR)/$(NAME)*.cf mrproper: rm -rf $(BUILD_DIR)