From: Arnout Vandecappelle <arnout@mind.be>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v2 2/3] package: fix generic extract target for top-level parallel make
Date: Thu, 22 Aug 2013 17:59:04 +0200 [thread overview]
Message-ID: <52163548.2020108@mind.be> (raw)
In-Reply-To: <CAHkwnC_6k4tY_KRudG7yWp1gOi5WZnYKDwWv2gh_xBtCQhJesQ@mail.gmail.com>
On 22/08/13 09:44, Fabio Porcedda wrote:
> On Wed, Aug 21, 2013 at 9:24 PM, Arnout Vandecappelle <arnout@mind.be> wrote:
>> On 18/07/13 11:12, Fabio Porcedda wrote:
>>>
[snip]
>>>
>>> $(1)-patch: $(1)-extract $$($(2)_TARGET_PATCH)
>>>
>>> -$(1)-extract: $(1)-source \
>>> - $$($(2)_TARGET_EXTRACT)
>>> +$$($(2)_TARGET_EXTRACT): $$($(2)_TARGET_SOURCE)
>>> +$(1)-extract: $$($(2)_TARGET_EXTRACT)
>>>
>>> $(1)-depends: $$($(2)_DEPENDENCIES)
>>>
>>>
>>
>> On second observation, I don't really like this change, because it makes
>> the extract and patch parts asymmetrical with the others. I would prefer one
>> patch that changes it for all the targets. But then, the behaviour does
>> change, because rebuilding one package will also trigger a rebuild of the
>> packages that depend on it. Which may be a good thing, of course...
>
> Do you mean a single patch that changes all the targets? IMHO the
> patch becomes too complex, but if is the preferred way i'm fine with
> that.
Yes. I estimate it will modify about 50 lines, so I don't see a problem.
>
> To be able to change the others targets i need to add stamp file for
> every target inside $$($(2)_DEPENDENCIES,
> i need to do that because a file cannot depends on a non existing file.
That's not true. Take the following Makefile:
----------------
%.source:
touch $@
%.extract: %.source
touch $@
%.config: %.extract
touch $@
%.build: %.config
touch $@
X_DEPS = y z
x.config: $(X_DEPS)
x: x.build
Y_DEPS = z
y.config: $(Y_DEPS)
y: y.build
z.config: $(Z_DEPS)
z: z.build
.PRECIOUS: %.source %.extract
----------------
Type 'make x', and all the build, config, extract, source files will be
touched in the right order.
The .PRECIOUS line may not be needed in practice, I added it here
because there are no explicit rules involving *.source and *.extract,
therefore these files will be deleted after a successful build.
> If there is any chance that such modification is going to be accepted
> i restart to work on the second part.
>
>> Also, I think it would be nicer / clearer to put these dependencies in the
>> %-rules at the top of the file, rather than specifying them per package.
>
> Do you mean to put together all those rules between the %-rules
> section and inner-generic-package function?
> or to scatter them in the %-rules section?
No, I mean to do it like the example above: use the % rules to specify
the dependencies between the stamp files, rather than an explicit rule
for each package.
Regards,
Arnout
>
> Best regards
>
--
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:[~2013-08-22 15:59 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-18 9:12 [Buildroot] [PATCH v2 0/3] Fix for top-level parallel make part 1 Fabio Porcedda
2013-07-18 9:12 ` [Buildroot] [PATCH v2 1/3] package/Makefile.in: add a way to don't force jobs in sub-make Fabio Porcedda
2013-08-21 19:17 ` Arnout Vandecappelle
2013-07-18 9:12 ` [Buildroot] [PATCH v2 2/3] package: fix generic extract target for top-level parallel make Fabio Porcedda
2013-08-21 19:24 ` Arnout Vandecappelle
2013-08-22 7:44 ` Fabio Porcedda
2013-08-22 15:59 ` Arnout Vandecappelle [this message]
2013-08-23 11:31 ` Fabio Porcedda
2013-08-26 8:29 ` Fabio Porcedda
2013-08-27 6:01 ` Arnout Vandecappelle
2013-08-28 8:26 ` Fabio Porcedda
2013-08-23 7:36 ` Thomas Petazzoni
2013-08-23 8:00 ` Fabio Porcedda
2013-08-23 11:14 ` Thomas Petazzoni
2013-07-18 9:12 ` [Buildroot] [PATCH v2 3/3] package: fix generic patch " Fabio Porcedda
2013-07-18 9:38 ` [Buildroot] [PATCH v2 0/3] Fix for top-level parallel make part 1 Thomas Petazzoni
2013-07-19 15:41 ` Fabio Porcedda
2013-07-27 11:18 ` Thomas Petazzoni
2013-07-30 9:34 ` Fabio Porcedda
2013-07-30 10:01 ` Thomas Petazzoni
2013-07-30 10:16 ` Fabio Porcedda
2013-07-30 11:29 ` Thomas Petazzoni
2013-08-12 16:48 ` Arnout Vandecappelle
2013-08-20 12:14 ` Fabio Porcedda
2013-08-20 17:35 ` Arnout Vandecappelle
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=52163548.2020108@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.