Makefile.base: cleanup non selected source object files

This commit is contained in:
Leandro Lanzieri 2021-10-04 11:31:19 +02:00
parent 96eb2c5050
commit 452333cb36
No known key found for this signature in database
GPG Key ID: F4E9A721761C7593

View File

@ -18,7 +18,7 @@ _MOD := $(shell basename $(CURDIR))
MODULE ?= $(_MOD)
.PHONY: all clean $(DIRS:%=ALL--%) $(DIRS:%=CLEAN--%) $(MODULE).module \
compile-commands $(DIRS:%=COMPILE-COMMANDS--%)
compile-commands $(DIRS:%=COMPILE-COMMANDS--%) $(MODULE).cleanup
all: $(MODULE).module ..nothing
@ -113,9 +113,16 @@ include $(RIOTMAKE)/tools/fixdep.inc.mk
$(BINDIR)/$(MODULE)/:
$(Q)mkdir -p $@
OLD_OBJECTS = $(wildcard $(BINDIR)/$(MODULE)/*.o)
OBJECTS_TO_REMOVE = $(filter-out $(OBJ),$(OLD_OBJECTS))
$(MODULE).module compile-commands $(OBJ): | $(BINDIR)/$(MODULE)/
$(MODULE).module: $(OBJ) | $(DIRS:%=ALL--%)
$(MODULE).module: $(OBJ) $(if $(OBJECTS_TO_REMOVE),$(MODULE).cleanup) | $(DIRS:%=ALL--%)
$(MODULE).cleanup:
$(Q)# cleanup non selected source files objects
$(Q)$(RM) $(OBJECTS_TO_REMOVE)
CXXFLAGS = $(filter-out $(CXXUWFLAGS), $(CFLAGS)) $(CXXEXFLAGS)
CCASFLAGS = $(filter-out $(CCASUWFLAGS), $(CFLAGS)) $(CCASEXFLAGS)