diff --git a/Common/make/ghdl.mk b/Common/make/ghdl.mk index ee7761f..5d3ab26 100644 --- a/Common/make/ghdl.mk +++ b/Common/make/ghdl.mk @@ -3,6 +3,10 @@ # SRCS # ENTITY_RUN +GHDL := ghdl +GHDL_GCC := ghdl-gcc + +RUN_OPTS := --vcd=$(BUILD_DIR)/$(NAME).vcd --wave=$(BUILD_DIR)/$(NAME).ghw --assert-level=error all: analyze @@ -10,16 +14,20 @@ $(BUILD_DIR): mkdir -p $@ analyze: $(BUILD_DIR) $(SRCS) - ghdl -a --work=$(NAME) --workdir=$(BUILD_DIR) $(SRCS) + $(GHDL) -a --work=$(NAME) --workdir=$(BUILD_DIR) $(SRCS) + +anaborate: $(BUILD_DIR) $(SRCS) + $(GHDL_GCC) -c -o $(BUILD_DIR)/$(NAME) --work=$(NAME) --workdir=$(BUILD_DIR) $(SRCS) -e $(ENTITY_RUN) + -$(BUILD_DIR)/$(NAME) $(RUN_OPTS) >$(BUILD_DIR)/$(NAME).log run: analyze - -ghdl -r --work=$(NAME) --workdir=$(BUILD_DIR) $(ENTITY_RUN) --vcd=$(BUILD_DIR)/$(NAME).vcd --wave=$(BUILD_DIR)/$(NAME).ghw --assert-level=error >$(BUILD_DIR)/$(NAME).log + -$(GHDL) -r --work=$(NAME) --workdir=$(BUILD_DIR) $(ENTITY_RUN) $(RUN_OPTS) >$(BUILD_DIR)/$(NAME).log sim: run exec gtkwave -f $(BUILD_DIR)/$(NAME).ghw & synth: analyze - ghdl --synth --work=$(NAME) --workdir=$(BUILD_DIR) $(ENTITY_SYN) + $(GHDL) --synth --work=$(NAME) --workdir=$(BUILD_DIR) $(ENTITY_SYN) clean: rm -f $(BUILD_DIR)/$(NAME)*.cf