]> rtime.felk.cvut.cz Git - omk.git/blobdiff - snippets/nuttx-compile.omk
NuttX: allow to specify xxx_PROGBUILTIN_EXCLUDE list of user and or NuttX programs...
[omk.git] / snippets / nuttx-compile.omk
index ba83ca84718888feae594288eb5b94b0785a9fd1..5538451a8dbe6de9f65e7a37f341418202191d56 100644 (file)
@@ -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)