fs: introduce variable with all recursive dependencies
authorYann E. MORIN <yann.morin.1998@free.fr>
Mon, 15 Apr 2019 19:47:29 +0000 (21:47 +0200)
committerArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Mon, 15 Apr 2019 21:29:57 +0000 (23:29 +0200)
This allows getting all the recursive dependencies of filesystems,
ike we have for packages, and allows us to treat both in a similar
fashion.

Reported-by: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
fs/common.mk

index 286d671d062737e3aace9fe6bb216ba056d2a854..5ec28ca183e3c7885c29211efd2d2574612ed108 100644 (file)
@@ -49,6 +49,18 @@ ROOTFS_COMMON_DEPENDENCIES = \
        $(BR2_TAR_HOST_DEPENDENCY) \
        $(if $(PACKAGES_USERS)$(ROOTFS_USERS_TABLES),host-mkpasswd)
 
+ROOTFS_COMMON_FINAL_RECURSIVE_DEPENDENCIES = $(sort \
+       $(if $(filter undefined,$(origin ROOTFS_COMMON_FINAL_RECURSIVE_DEPENDENCIES__X)), \
+               $(eval ROOTFS_COMMON_FINAL_RECURSIVE_DEPENDENCIES__X := \
+                       $(foreach p, \
+                               $(ROOTFS_COMMON_DEPENDENCIES), \
+                               $(p) \
+                               $($(call UPPERCASE,$(p))_FINAL_RECURSIVE_DEPENDENCIES) \
+                       ) \
+               ) \
+       ) \
+       $(ROOTFS_COMMON_FINAL_RECURSIVE_DEPENDENCIES__X))
+
 rootfs-common-show-dependency-tree: $(patsubst %,%-show-dependency-tree,$(ROOTFS_COMMON_DEPENDENCIES))
        $(info rootfs-common: host)
        $(info rootfs-common -> $(foreach d,$(ROOTFS_COMMON_DEPENDENCIES),$(d)))
@@ -88,6 +100,18 @@ ROOTFS_$(2)_TARGET_DIR = $$(ROOTFS_$(2)_DIR)/target
 
 ROOTFS_$(2)_DEPENDENCIES += rootfs-common
 
+ROOTFS_$(2)_FINAL_RECURSIVE_DEPENDENCIES = $$(sort \
+       $$(if $$(filter undefined,$$(origin ROOTFS_$(2)_FINAL_RECURSIVE_DEPENDENCIES__X)), \
+               $$(eval ROOTFS_$(2)_FINAL_RECURSIVE_DEPENDENCIES__X := \
+                       $$(foreach p, \
+                               $$(ROOTFS_$(2)_DEPENDENCIES), \
+                               $$(p) \
+                               $$($$(call UPPERCASE,$$(p))_FINAL_RECURSIVE_DEPENDENCIES) \
+                       ) \
+               ) \
+       ) \
+       $$(ROOTFS_$(2)_FINAL_RECURSIVE_DEPENDENCIES__X))
+
 rootfs-$(1)-show-dependency-tree: $$(patsubst %,%-show-dependency-tree,$$(ROOTFS_$(2)_DEPENDENCIES))
        $$(info rootfs-$(1): host)
        $$(info rootfs-$(1) -> $$(foreach d,$$(ROOTFS_$(2)_DEPENDENCIES),$$(d)))