Skip to contentSkip to conversation

Fix makefile include order by using sort/wildcard.

PATCH New Peter Seiderer 5 participants 6 messages Nov 21, 2017 – Nov 30, 2017 Kbuild

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Fix makefile include order by using sort/wildcard.

Use ordered 'include $(sort $(wildcard ...))' instead of unordered direct 'include */*.mk'.

Fixes [1] reported by Petr Vorel:

make: *** No rule to make target 'toolchain-external-custom', needed by '.../build/toolchain-external/.stamp_configured'. Stop.

[1] http://lists.busybox.net/pipermail/buildroot/2017-November/206969.html

---
 Makefile                                           | 6 +++---
 package/gstreamer/gstreamer.mk                     | 2 +-
 package/gstreamer1/gstreamer1.mk                   | 2 +-
 toolchain/toolchain-external/toolchain-external.mk | 2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)
Makefile +3 -3
index 55409b99af..9d9737332d 100644
@@ -483,13 +483,13 @@ include system/system.mk
 include package/Makefile.in
 # arch/arch.mk.* must be after package/Makefile.in because it may need to
 # complement variables defined therein, like BR_NO_CHECK_HASH_FOR.
--include $(wildcard arch/arch.mk.*)
+-include $(sort $(wildcard arch/arch.mk.*))
 include support/dependencies/dependencies.mk
 
 PACKAGES += $(DEPENDENCIES_HOST_PREREQ)
 
-include toolchain/*.mk
-include toolchain/*/*.mk
+include $(sort $(wildcard toolchain/*.mk))
+include $(sort $(wildcard toolchain/*/*.mk))
 
 # Include the package override file if one has been provided in the
 # configuration.
package/gstreamer/gstreamer.mk +1 -1
index bc886c78a2..22240bceea 100644
@@ -1 +1 @@
-include package/gstreamer/*/*.mk
+include $(sort $(wildcard package/gstreamer/*/*.mk))
package/gstreamer1/gstreamer1.mk +1 -1
index 5b748e33fb..8530ff027a 100644
@@ -1 +1 @@
-include package/gstreamer1/*/*.mk
+include $(sort $(wildcard package/gstreamer1/*/*.mk))
toolchain/toolchain-external/toolchain-external.mk +1 -1
index 48de1e71f2..dd07884c7e 100644
@@ -25,4 +25,4 @@ $(error No prefix selected for external toolchain package $(BR2_PACKAGE_PROVIDES
 endif
 endif
 
-include toolchain/toolchain-external/*/*.mk
+include $(sort $(wildcard toolchain/toolchain-external/*/*.mk))
Signature · 1 line
2.15.0
#1 lore raw

PATCH 1/1 Fix makefile include order by using sort/wildcard.

Quoted 11 lines

Use ordered 'include $(sort $(wildcard ...))' instead of unordered direct 'include */*.mk'.

Fixes [1] reported by Petr Vorel:

make: *** No rule to make target 'toolchain-external-custom', needed by '.../build/toolchain-external/.stamp_configured'. Stop.

[1] http://lists.busybox.net/pipermail/buildroot/2017-November/206969.html

---

Works as expected.

NOTE: I posted in original thread [1] which make version is affected by this behaviour.

Kind regards,
Petr

[1]: http://lists.busybox.net/pipermail/buildroot/2017-November/207453.html

#2 lore raw

PATCH 1/1 Fix makefile include order by using sort/wildcard.

In reply to Peter Seiderer
Quoted 10 lines · Peter Seiderer

Use ordered 'include $(sort $(wildcard ...))' instead of unordered direct 'include */*.mk'.

Fixes [1] reported by Petr Vorel:

make: *** No rule to make target 'toolchain-external-custom', needed by '.../build/toolchain-external/.stamp_configured'. Stop.

[1] http://lists.busybox.net/pipermail/buildroot/2017-November/206969.html

There was one more include that wasn't sorted:

-include $(foreach dir,$(BR2_EXTERNAL_DIRS),$(dir)/docs/*/*.mk)

I've fixed that one as well, I've extended the commit log a little, and applied to master, thanks.

Regards,
Arnout

Quoted 53 lines
---
 Makefile                                           | 6 +++---
 package/gstreamer/gstreamer.mk                     | 2 +-
 package/gstreamer1/gstreamer1.mk                   | 2 +-
 toolchain/toolchain-external/toolchain-external.mk | 2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)
Makefile +3 -3
index 55409b99af..9d9737332d 100644
@@ -483,13 +483,13 @@ include system/system.mk
 include package/Makefile.in
 # arch/arch.mk.* must be after package/Makefile.in because it may need to
 # complement variables defined therein, like BR_NO_CHECK_HASH_FOR.
--include $(wildcard arch/arch.mk.*)
+-include $(sort $(wildcard arch/arch.mk.*))
 include support/dependencies/dependencies.mk
 
 PACKAGES += $(DEPENDENCIES_HOST_PREREQ)
 
-include toolchain/*.mk
-include toolchain/*/*.mk
+include $(sort $(wildcard toolchain/*.mk))
+include $(sort $(wildcard toolchain/*/*.mk))
 
 # Include the package override file if one has been provided in the
 # configuration.
package/gstreamer/gstreamer.mk +1 -1
index bc886c78a2..22240bceea 100644
@@ -1 +1 @@
-include package/gstreamer/*/*.mk
+include $(sort $(wildcard package/gstreamer/*/*.mk))
package/gstreamer1/gstreamer1.mk +1 -1
index 5b748e33fb..8530ff027a 100644
@@ -1 +1 @@
-include package/gstreamer1/*/*.mk
+include $(sort $(wildcard package/gstreamer1/*/*.mk))
toolchain/toolchain-external/toolchain-external.mk +1 -1
index 48de1e71f2..dd07884c7e 100644
@@ -25,4 +25,4 @@ $(error No prefix selected for external toolchain package $(BR2_PACKAGE_PROVIDES
 endif
 endif
 
-include toolchain/toolchain-external/*/*.mk
+include $(sort $(wildcard toolchain/toolchain-external/*/*.mk))
Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#3 lore raw

PATCH 1/1 Fix makefile include order by using sort/wildcard.

Quoted 13 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Arnout" == Arnout Vandecappelle <[email protected]> writes:

Quoted 10 lines · Peter Seiderer

Use ordered 'include $(sort $(wildcard ...))' instead of unordered direct 'include */*.mk'.

Fixes [1] reported by Petr Vorel:

make: *** No rule to make target 'toolchain-external-custom', needed by '.../build/toolchain-external/.stamp_configured'. Stop.

[1] http://lists.busybox.net/pipermail/buildroot/2017-November/206969.html

Quoted 8 lines
Quoted 1 line

There was one more include that wasn't sorted:

-include $(foreach dir,$(BR2_EXTERNAL_DIRS),$(dir)/docs/*/*.mk)

I've fixed that one as well, I've extended the commit log a little, and applied to master, thanks.

Committed to 2017.02.x and 2017.08.x, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#4 lore raw

PATCH 1/1 Fix makefile include order by using sort/wildcard.

Hi Peter,

Quoted 15 lines · Peter Korsgaard
Quoted 14 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Arnout" == Arnout Vandecappelle <[email protected]> writes:

Quoted 11 lines · Peter Seiderer

Use ordered 'include $(sort $(wildcard ...))' instead of unordered direct 'include */*.mk'.

Fixes [1] reported by Petr Vorel:

make: *** No rule to make target 'toolchain-external-custom', needed by '.../build/toolchain-external/.stamp_configured'. Stop.

[1] http://lists.busybox.net/pipermail/buildroot/2017-November/206969.html

Quoted 8 lines
Quoted 6 lines

There was one more include that wasn't sorted:

-include $(foreach dir,$(BR2_EXTERNAL_DIRS),$(dir)/docs/*/*.mk)

I've fixed that one as well, I've extended the commit log a little, and applied to master, thanks.

Committed to 2017.02.x and 2017.08.x, thanks.

Not in 2017.02.x as of commit 22b996fef069fe (ffmpeg: bump version to 3.2.9).

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
#5 lore raw

PATCH 1/1 Fix makefile include order by using sort/wildcard.

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Baruch" == Baruch Siach <[email protected]> writes:

Hi,

Quoted 6 lines
Quoted 4 lines
Quoted 2 lines

I've fixed that one as well, I've extended the commit log a little, and applied to master, thanks.

Committed to 2017.02.x and 2017.08.x, thanks.

Not in 2017.02.x as of commit 22b996fef069fe (ffmpeg: bump version to 3.2.9).

Hmm, indeed not - I wonder what happened. I've added it now.

Thanks!

Signature · 1 line
Bye, Peter Korsgaard