From d14033c744b11d86069d9e71ab60eeb407faec61 Mon Sep 17 00:00:00 2001 From: Christian Tacke Date: Mon, 26 Feb 2018 20:43:00 +0100 Subject: [PATCH] genlink: provide LIBDEPS for libopencm3 itself If $(OPENCM3_DIR)/lib/libopencm3_*.a exists, it will be linked in. If we do that, we should also add it to the deps. That way a newer *.a will result in a relink. To use this, you should add a dependency to $(LIBDEPS) where you are using $(LDFLAGS) and $(LDLIBS) now. eg, old (wouldn't relink if the library changed) $(PROJECT).elf: $(OBJS) $(LDSCRIPT) @printf " LD\t$@\n" $(Q)$(LD) $(TGT_LDFLAGS) $(LDFLAGS) $(OBJS) $(LDLIBS) -o $@ new (will relink when the library changes) $(PROJECT).elf: $(OBJS) $(LDSCRIPT) $(LIBDEPS) @printf " LD\t$@\n" $(Q)$(LD) $(TGT_LDFLAGS) $(LDFLAGS) $(OBJS) $(LDLIBS) -o $@ Tested-by: Karl Palsson Originally tracked via: https://github.com/libopencm3/libopencm3/pull/887 --- mk/genlink-config.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mk/genlink-config.mk b/mk/genlink-config.mk index b2dfb3c6..6935ec9b 100644 --- a/mk/genlink-config.mk +++ b/mk/genlink-config.mk @@ -56,9 +56,11 @@ endif # where those are provided by different means ifneq (,$(wildcard $(OPENCM3_DIR)/lib/libopencm3_$(genlink_family).a)) LDLIBS += -lopencm3_$(genlink_family) +LIBDEPS += $(OPENCM3_DIR)/lib/libopencm3_$(genlink_family).a else ifneq (,$(wildcard $(OPENCM3_DIR)/lib/libopencm3_$(genlink_subfamily).a)) LDLIBS += -lopencm3_$(genlink_subfamily) +LIBDEPS += $(OPENCM3_DIR)/lib/libopencm3_$(genlink_subfamily).a else $(warning $(OPENCM3_DIR)/lib/libopencm3_$(genlink_family).a library variant for the selected device does not exist.) endif