[Buildroot] [PATCH v10 8/8] Makefile: update comment about top-level parallel Makefile

Fabio Porcedda fabio.porcedda at gmail.com
Tue Jan 7 10:05:52 UTC 2014


On Fri, Dec 20, 2013 at 4:48 PM, Arnout Vandecappelle <arnout at mind.be> wrote:
> On 20/12/13 14:56, Fabio Porcedda wrote:
>>
>> On Thu, Dec 19, 2013 at 6:37 PM, Arnout Vandecappelle<arnout at mind.be>
>> wrote:
>>>
>>> >On 18/12/13 11:36, Fabio Porcedda wrote:
>>>>
>>>> >>
>>>> >>After the latest patches top-level parallel Makefile is working but
>>>> >>there is still an issue when a package has an unspecified optional
>>>> >>dependency so change the comment to explain that.
>>>> >>
>>>> >>Signed-off-by: Fabio Porcedda<fabio.porcedda at gmail.com>
>>>> >>---
>>>> >>   Makefile | 15 ++++++++++++++-
>>>> >>   1 file changed, 14 insertions(+), 1 deletion(-)
>>>> >>
>>>> >>diff --git a/Makefile b/Makefile
>>>> >>index ef2582e..27a6a65 100644
>>>> >>--- a/Makefile
>>>> >>+++ b/Makefile
>>>> >>@@ -42,7 +42,20 @@ export HOSTARCH := $(shell uname -m | \
>>>> >>             -e s/macppc/powerpc/\
>>>> >>             -e s/sh.*/sh/)
>>>> >>
>>>> >>-# This top-level Makefile can*not*  be executed in parallel
>>>>
>>>> >>+# Parallel execution of this Makefile is disabled because it could
>>>> >>+# change the build result if a package has an unspecified optional
>>>> >>+# dependency.
>>>
>>> >
>>> >
>>> >  ... or if two packages manipulate the same file in the target
>>> > directory.
>>
>> Ok, added.
>>
>>> >
>>>>
>>>> >>+# Parallel execution changes the packages building order, that can be
>>>> >>+# a problem when a package has an unspecified optional dependency,
>>>> >>+# because if that dependency is present when the package is built, it
>>>> >>+# is used, otherwise it isn't (but compilation happily proceeds).
>>>> >> This
>>>
>>> >
>>> >
>>> >  This is a repeat of the first sentence.
>>
>> So i just remove it?
>>
>
>  Probably better to remove the first sentence, the second one is more
> descriptive.

This is the fixed comment:

# Parallel execution of this Makefile is disabled because it changes
# the packages building order, that can be a problem when a package
# has an unspecified optional dependency, because if that dependency
# is present when the package is built, it is used, otherwise it isn't
# (but compilation happily proceeds). This means that the packages
# building order is relevant in that case, and the end result will
# differ if the order is swapped due to parallel building.  Also
# changing the building order can be a problem if two packages
# manipulate the same file in the target directory.
# Taking into account the above warnings, if you still want to execute
# this top-level Makefile in parallel comment the following line and
# execute:
#    make BR2_JLEVEL= -j$((`getconf _NPROCESSORS_ONLN`+1))

Regards
-- 
Fabio Porcedda


More information about the buildroot mailing list