From: Arnout Vandecappelle <arnout@mind.be>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] graph-depends: fix when $(O) is a relative path
Date: Mon, 23 Jun 2014 21:16:58 +0200 [thread overview]
Message-ID: <53A87D2A.50501@mind.be> (raw)
In-Reply-To: <20140623170350.GB3400@free.fr>
On 23/06/14 19:03, Yann E. MORIN wrote:
> Arnout, All,
>
> On 2014-06-23 07:28 +0200, Arnout Vandecappelle spake thusly:
>> On 20/06/14 22:55, Yann E. MORIN wrote:
>>> On 2014-06-19 00:10 +0200, Arnout Vandecappelle (Essensium/Mind) spake thusly:
>>>> The graph-depends commands cd into the CONFIG_DIR and run the script
>>>> from there. However, this means that when $(O) is a relative path, it
>>>> will no longer be correct. Therefore, use $(BASE_DIR) instead of $(O).
>>>>
>>>> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
>>> I tried with thisscript, and did not notice any difference between the
>>> two runs, one with master, the second with the patch applied:
> [--SNIP long script--]
>> First of all, for me all these cases succeed both with and without the patch.
>
> You mean all the 6 cases do work for you? Weird.
>
> I don't see how it can work, since calling this
> make -C buildroot O=somewhere goal
>
> will not have the --no-print-directory option, and thus make would print
> its usual "Entering/Leaving directory blabla" which confuses
> graph-depends.py
Oh sorry, I didn't look at the output, just that it doesn't error out.
>
> There is not much we can do about that, since our out-of-tree Makefile
> wrapper is never called.
>
> Even worse, if you do
> make -C buildroot O=somewhere defconfig
> make -C somewhere graph-depends
>
> then even though we do use our Makefile wrapper in this case, the
> --no-print-directory option is not used! So make would still print its
> "Entering/Leaving directory blabla" (and thus graph-depends will get
> confused.)
So why don't we just add --no-print-directory to the recursive make invocation
from the script? Patch follows...
>
>> Using any other combination of . and .. a $(O)
>> triggers the problem. So try
>>
>> do_prep br-7
>> make -C br-7 O=./br.build-7 defconfig
>> make -C br-7 O=./br.build-7 graph-depends
This one I didn't actually run like this, but like:
make O=br.build-7 defconfig
make O=br.build-7 graph-depends
(from the buildroot directory). For that one, I checked that the PDF was OK, and
then I just wrote it with -C in the mail. Stupid of me.
Regards,
Arnout
>
> OK, that's a use-case I was missing.
>
>> The graph-depends will fail with:
>>
>> tee: br.build-7/graphs/graph-depends.dot: No such file or directory
>> Getting targets
>> Getting dependencies for ['host-binutils', 'host-gmp', 'host-mpc', 'host-mpfr',
>> 'uclibc', 'host-fakeroot', 'host-gcc-final', 'host-makedevs',
>> 'toolchain-buildroot', 'toolchain', 'busybox', 'rootfs-tar']
>> Getting dependencies for ['host-m4', 'linux-headers', 'host-gcc-initial']
>> br.build-7/graphs/graph-depends.pdf: No such file or directory
>> Makefile:677: recipe for target 'graph-depends' failed
>> make: *** [graph-depends] Error 1
>
> OK, it fails here, too, but your patch does not change anything: it
> fails without your patch, and it fails with your patch applied.
>
> I'm using make-3.81, if that shall be a differentiator.
>
> Regards,
> Yann E. MORIN.
>
--
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: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
next prev parent reply other threads:[~2014-06-23 19:16 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-18 22:10 [Buildroot] [PATCH] graph-depends: fix when $(O) is a relative path Arnout Vandecappelle
2014-06-20 20:04 ` Yann E. MORIN
2014-06-20 20:07 ` Arnout Vandecappelle
2014-06-20 20:14 ` Yann E. MORIN
2014-06-23 20:51 ` Yann E. MORIN
2014-06-20 20:55 ` Yann E. MORIN
2014-06-23 5:28 ` Arnout Vandecappelle
2014-06-23 17:03 ` Yann E. MORIN
2014-06-23 19:16 ` Arnout Vandecappelle [this message]
2014-06-23 20:48 ` Yann E. MORIN
2014-06-29 8:52 ` Thomas Petazzoni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53A87D2A.50501@mind.be \
--to=arnout@mind.be \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.