From d69291c3a1eb3f8a3a4762bf17ab9b213fa98372 Mon Sep 17 00:00:00 2001 From: Kaspar Schleiser <kaspar@schleiser.de> Date: Sat, 9 Sep 2017 01:10:59 +0200 Subject: [PATCH] make: handle optional features in Makefile.dep --- Makefile.dep | 9 +++++++++ makefiles/modules.inc.mk | 2 -- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Makefile.dep b/Makefile.dep index 364fb05545..302f028543 100644 --- a/Makefile.dep +++ b/Makefile.dep @@ -698,6 +698,15 @@ endif # include package dependencies -include $(USEPKG:%=$(RIOTPKG)/%/Makefile.dep) +# remove required features from optional features +FEATURES_OPTIONAL := $(filter-out $(FEATURES_REQUIRED),$(FEATURES_OPTIONAL)) + +# add all optional but provided features to the list of used features +FEATURES_USED := $(sort $(FEATURES_REQUIRED) $(filter $(FEATURES_OPTIONAL),$(FEATURES_PROVIDED))) + +# all periph features correspond to a periph submodule +USEMODULE += $(filter periph_%,$(FEATURES_USED)) + # recursively catch transitive dependencies USEMODULE := $(sort $(USEMODULE)) USEPKG := $(sort $(USEPKG)) diff --git a/makefiles/modules.inc.mk b/makefiles/modules.inc.mk index 3b9744d042..ebaa211407 100644 --- a/makefiles/modules.inc.mk +++ b/makefiles/modules.inc.mk @@ -1,5 +1,3 @@ -USEMODULE := $(filter-out $(filter-out $(FEATURES_PROVIDED), $(FEATURES_OPTIONAL)), $(sort $(USEMODULE))) - ED = $(addprefix FEATURE_,$(sort $(filter $(FEATURES_PROVIDED), $(FEATURES_REQUIRED)))) ED += $(addprefix MODULE_,$(sort $(USEMODULE) $(USEPKG))) EXTDEFINES = $(addprefix -D,$(shell echo '$(ED)' | tr 'a-z-' 'A-Z_')) -- GitLab