From 7c85e6e0e95013677bc2cdc0bccbabc589d7931d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABtan=20Harter?= Date: Fri, 3 Nov 2017 17:53:00 +0100 Subject: [PATCH] Makefile.base: fix AR keeping removed source files objects AR incrementally adds file without removing files. If a c file is deleted or disabled(submodule removal) it is not removed from archive and still ends up in the final elf file. This fix removes the need to do 'make clean' for this case. However it will break cases where an APPLICATION and a MODULE or two modules have the same name and only worked because source files names where different. --- Makefile.base | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Makefile.base b/Makefile.base index 0c5da103d1..ef5d77effe 100644 --- a/Makefile.base +++ b/Makefile.base @@ -68,7 +68,9 @@ $(BINDIR)/$(MODULE)/: $(BINDIR)/$(MODULE).a $(OBJ): | $(BINDIR)/$(MODULE)/ $(BINDIR)/$(MODULE).a: $(OBJ) | ${DIRS:%=ALL--%} - $(Q)$(AR) $(ARFLAGS) $@ $? + @# Recreate archive to cleanup deleted/non selected source files objects + $(Q)$(RM) $@ + $(Q)$(AR) $(ARFLAGS) $@ $^ CXXFLAGS = $(filter-out $(CXXUWFLAGS), $(CFLAGS)) $(CXXEXFLAGS) CCASFLAGS = $(filter-out $(CCASUWFLAGS), $(CFLAGS)) $(CCASEXFLAGS)