[Buildroot] [PATCH] package/linux-tools: change method for including linux-tool sub-makefiles
Markus Mayer
mmayer at broadcom.com
Tue Jul 18 18:11:37 UTC 2017
Make inclusion ordering of all linux-tool-*.mk sub-makefiles explicit
instead of relying on alphabetical sort order. This is done by
renaming the Linux tools sub-makefiles to the format linux-tool-*.mk.in.
This causes the top-level Makefile to ignore the Linux tools
sub-makefiles.
Until now, the main Makefile included all linux-tool-*.mk files, as
well as linux-tools.mk, and it relied on alphabetical sorting to
include them in the proper order (linux-tool-*.mk before
linux-tools.mk).
Signed-off-by: Markus Mayer <mmayer at broadcom.com>
---
This patch is the result of the discussion that can be found at
http://lists.busybox.net/pipermail/buildroot/2017-July/thread.html#196876
docs/manual/adding-packages-linux-kernel-spec-infra.txt | 4 ++--
...{linux-tool-cpupower.mk => linux-tool-cpupower.mk.in} | 0
.../{linux-tool-gpio.mk => linux-tool-gpio.mk.in} | 0
.../{linux-tool-iio.mk => linux-tool-iio.mk.in} | 0
.../{linux-tool-perf.mk => linux-tool-perf.mk.in} | 0
...inux-tool-selftests.mk => linux-tool-selftests.mk.in} | 0
package/linux-tools/linux-tools.mk | 16 +++++++---------
7 files changed, 9 insertions(+), 11 deletions(-)
rename package/linux-tools/{linux-tool-cpupower.mk => linux-tool-cpupower.mk.in} (100%)
rename package/linux-tools/{linux-tool-gpio.mk => linux-tool-gpio.mk.in} (100%)
rename package/linux-tools/{linux-tool-iio.mk => linux-tool-iio.mk.in} (100%)
rename package/linux-tools/{linux-tool-perf.mk => linux-tool-perf.mk.in} (100%)
rename package/linux-tools/{linux-tool-selftests.mk => linux-tool-selftests.mk.in} (100%)
diff --git a/docs/manual/adding-packages-linux-kernel-spec-infra.txt b/docs/manual/adding-packages-linux-kernel-spec-infra.txt
index 6deb6d4..b948e20 100644
--- a/docs/manual/adding-packages-linux-kernel-spec-infra.txt
+++ b/docs/manual/adding-packages-linux-kernel-spec-infra.txt
@@ -40,8 +40,8 @@ Unlike other packages, the +linux-tools+ package options appear in the
+linux+ kernel menu, under the `Linux Kernel Tools` sub-menu, not under
the `Target packages` main menu.
-Then for each linux tool, add a new +.mk+ file named
-+package/linux-tools/linux-tool-foo.mk+. It would basically look like:
+Then for each linux tool, add a new +.mk.in+ file named
++package/linux-tools/linux-tool-foo.mk.in+. It would basically look like:
------------------------------
01: ################################################################################
diff --git a/package/linux-tools/linux-tool-cpupower.mk b/package/linux-tools/linux-tool-cpupower.mk.in
similarity index 100%
rename from package/linux-tools/linux-tool-cpupower.mk
rename to package/linux-tools/linux-tool-cpupower.mk.in
diff --git a/package/linux-tools/linux-tool-gpio.mk b/package/linux-tools/linux-tool-gpio.mk.in
similarity index 100%
rename from package/linux-tools/linux-tool-gpio.mk
rename to package/linux-tools/linux-tool-gpio.mk.in
diff --git a/package/linux-tools/linux-tool-iio.mk b/package/linux-tools/linux-tool-iio.mk.in
similarity index 100%
rename from package/linux-tools/linux-tool-iio.mk
rename to package/linux-tools/linux-tool-iio.mk.in
diff --git a/package/linux-tools/linux-tool-perf.mk b/package/linux-tools/linux-tool-perf.mk.in
similarity index 100%
rename from package/linux-tools/linux-tool-perf.mk
rename to package/linux-tools/linux-tool-perf.mk.in
diff --git a/package/linux-tools/linux-tool-selftests.mk b/package/linux-tools/linux-tool-selftests.mk.in
similarity index 100%
rename from package/linux-tools/linux-tool-selftests.mk
rename to package/linux-tools/linux-tool-selftests.mk.in
diff --git a/package/linux-tools/linux-tools.mk b/package/linux-tools/linux-tools.mk
index 7fa8d19..2827ade 100644
--- a/package/linux-tools/linux-tools.mk
+++ b/package/linux-tools/linux-tools.mk
@@ -10,15 +10,13 @@
#
# So, all tools refer to $(LINUX_DIR) instead of $(@D).
-# Note: we need individual tools .mk files to be included *before* this one
-# to guarantee that each tool has a chance to register itself before we build
-# the list of build and install hooks, below.
-#
-# This is currently guaranteed by the naming of each file:
-# - they get included by the top-level Makefile, with $(sort $(wildcard ...))
-# - make's $(sort) function will aways sort in the C locale
-# - the files names correctly sort out in the C locale so that each tool's
-# .mk file is included before this one.
+# Note: we need individual tools makefiles to be included *before* we build
+# the list of build and install hooks below to guarantee that each tool has
+# a chance to register itself. Therefore, the makefiles are named
+# linux-tool-*.mk.in, so they won't be picked up by the top-level Makefile,
+# but can be included here, guaranteeing proper ordering.
+
+include $(sort $(wildcard package/linux-tools/*.mk.in))
# We only need the kernel to be extracted, not actually built
LINUX_TOOLS_PATCH_DEPENDENCIES = linux
--
2.7.4
More information about the buildroot
mailing list