From 89918a2fad4b3e31e286c194767fff0968885071 Mon Sep 17 00:00:00 2001 From: Pavel Pisa Date: Mon, 19 Oct 2020 00:28:31 +0200 Subject: [PATCH] NuttX: allow to specify xxx_PROGBUILTIN_EXCLUDE list of user and or NuttX programs to be excluded. Usually all available NuttX apps and user build programs are linked into target image ("all" specification used). But sometimes some program causes problems or contributes too much to target binary image size. Such programs can be excluded from final linking. Signed-off-by: Pavel Pisa --- snippets/nuttx-compile.omk | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/snippets/nuttx-compile.omk b/snippets/nuttx-compile.omk index ba83ca8..5538451 100644 --- a/snippets/nuttx-compile.omk +++ b/snippets/nuttx-compile.omk @@ -19,6 +19,8 @@ # from base: SOURCES_DIR # from Makefile.omk: lib_LOADLIBES # xxx_PROGBUILTIN - list of builtin programs linked into final system image +# when "all" is used then all programs provided by build are linked +# xxx_PROGBUILTIN_EXCLUDE - list of builtin user or NuttX provided programs which are excluded # xxx_KMODBUILTIN - list of builtin programs linked into final system image # Output variables: @@ -146,19 +148,22 @@ EMBEDROMFS += $$($(1)_EMBEDROMFS) ifneq ($$($(1)_PROGBUILTIN),) ifneq ($$($(1)_PROGBUILTIN),all) -$(1)_PROGBUILTIN_LIST = $$($(1)_PROGBUILTIN) +$(1)_PROGBUILTIN_TMP = $$($(1)_PROGBUILTIN) else -$(1)_PROGBUILTIN_TMP = $$(wildcard $$(USER_REGISTRY_DIR)/*.pbi) -$(1)_PROGBUILTIN_LIST = $$($(1)_PROGBUILTIN_TMP:$$(USER_REGISTRY_DIR)/%.pbi=%) +$(1)_PROGBUILTIN_TMP1 = $$(wildcard $$(USER_REGISTRY_DIR)/*.pbi) +$(1)_PROGBUILTIN_TMP = $$($(1)_PROGBUILTIN_TMP1:$$(USER_REGISTRY_DIR)/%.pbi=%) endif +$(1)_PROGBUILTIN_LIST = $$(filter-out $$($(1)_PROGBUILTIN_EXCLUDE),$$($(1)_PROGBUILTIN_TMP)) $(1)_PROGBUILTIN_OTHER=$$(filter-out $(1),$$($(1)_PROGBUILTIN_LIST)) $(1)_PROGBUILTIN_PBI=$$($(1)_PROGBUILTIN_OTHER:%=$$(USER_REGISTRY_DIR)/%.pbi) $(1)_PROGBUILTIN_LDAT=$$($(1)_PROGBUILTIN_LIST:%=$$(USER_REGISTRY_DIR)/%.ldat) $(1)_PROGBUILTIN_PDAT=$$($(1)_PROGBUILTIN_LIST:%=$$(USER_REGISTRY_DIR)/%.pdat) \ - $$(wildcard $(NUTTXREGISTRY)/*.pdat) + $$(filter-out $$($(1)_PROGBUILTIN_EXCLUDE:%=$(NUTTXREGISTRY)/%.pdat),\ + $$(wildcard $(NUTTXREGISTRY)/*.pdat)) $(1)_PROGBUILTIN_BDAT=$$($(1)_PROGBUILTIN_LIST:%=$$(USER_REGISTRY_DIR)/%.bdat) \ - $$(wildcard $(NUTTXREGISTRY)/*.bdat) + $$(filter-out $$($(1)_PROGBUILTIN_EXCLUDE:%=$(NUTTXREGISTRY)/%.bdat),\ + $$(wildcard $(NUTTXREGISTRY)/*.bdat)) ifneq ($$($(1)_KMODBUILTIN),all) $(1)_KMODBUILTIN_LIBS = $$($(1)_KMODBUILTIN:%=$$(KERN_MODULES_DIR)/lib%.ka) -- 2.39.2