diff --git a/Common/make/ghdl.mk b/Common/make/ghdl.mk index b42ac18..5e8a51b 100644 --- a/Common/make/ghdl.mk +++ b/Common/make/ghdl.mk @@ -20,8 +20,23 @@ RUN_OPTS += --stop-time=$(RUN_TIME) GHDL_OPTS += --work=$(WORK_LIB) --workdir=$(WORK_DIR) --std=$(LANG_STD) --ieee=$(IEEE_STD) # ------------------------------------------------- +# Make unique +# ------------------------------------------------- +define uniq = + $(eval seen :=) + $(foreach _,$1,$(if $(filter $_,${seen}),,$(eval seen += $_))) + ${seen} +endef +SRCS := $(abspath $(SRCS)) +SRCS := $(call uniq,$(SRCS)) +SRCS := $(filter-out ,$(SRCS)) +#$(info ----------------------) +#$(info $(SRCS)) +#$(info ----------------------) +# ------------------------------------------------- # GHDL binary +# ------------------------------------------------- GHDL := ghdl GHDL_GCC := ghdl-gcc @@ -34,7 +49,9 @@ GTK_OPTS-$(WITH_VCD) := --vcd=$(SIM_FILE-y) GTK_OPTS-$(WITH_FST) := --fst=$(SIM_FILE-y) GTK_OPTS-$(WITH_GHW) := --wave=$(SIM_FILE-y) +# ------------------------------------------------- # Targets +# ------------------------------------------------- all: analyze $(WORK_DIR):