rules: attempt rebuild of library of not found
Based on https://github.com/libopencm3/libopencm3-examples/pull/90
This commit is contained in:
@@ -167,6 +167,12 @@ else
|
|||||||
include $(OPENCM3_DIR)/mk/genlink-rules.mk
|
include $(OPENCM3_DIR)/mk/genlink-rules.mk
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
$(OPENCM3_DIR)/lib/lib$(LIBNAME).a:
|
||||||
|
ifeq (,$(wildcard $@))
|
||||||
|
$(warning $(LIBNAME).a not found, attempting to rebuild in $(OPENCM3_DIR))
|
||||||
|
$(MAKE) -C $(OPENCM3_DIR)
|
||||||
|
endif
|
||||||
|
|
||||||
# Define a helper macro for debugging make errors online
|
# Define a helper macro for debugging make errors online
|
||||||
# you can type "make print-OPENCM3_DIR" and it will show you
|
# you can type "make print-OPENCM3_DIR" and it will show you
|
||||||
# how that ended up being resolved by all of the included
|
# how that ended up being resolved by all of the included
|
||||||
@@ -193,7 +199,7 @@ print-%:
|
|||||||
@#printf " OBJDUMP $(*).list\n"
|
@#printf " OBJDUMP $(*).list\n"
|
||||||
$(Q)$(OBJDUMP) -S $(*).elf > $(*).list
|
$(Q)$(OBJDUMP) -S $(*).elf > $(*).list
|
||||||
|
|
||||||
%.elf %.map: $(OBJS) $(LDSCRIPT)
|
%.elf %.map: $(OBJS) $(LDSCRIPT) $(OPENCM3_DIR)/lib/lib$(LIBNAME).a
|
||||||
@#printf " LD $(*).elf\n"
|
@#printf " LD $(*).elf\n"
|
||||||
$(Q)$(LD) $(TGT_LDFLAGS) $(LDFLAGS) $(OBJS) $(LDLIBS) -o $(*).elf
|
$(Q)$(LD) $(TGT_LDFLAGS) $(LDFLAGS) $(OBJS) $(LDLIBS) -o $(*).elf
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user