Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [RFCv1 08/11] package: package-based implementation of source, external-deps and legal-info
Date: Sun, 15 Sep 2013 22:09:08 +0200	[thread overview]
Message-ID: <20130915220908.3d826b82@skate> (raw)
In-Reply-To: <CAAXf6LXvWgtX4h_2NH6=zOiaDyXLmzRoAfviaTwbmTdMFKvoyg@mail.gmail.com>

Dear Thomas De Schampheleire,

On Sun, 15 Sep 2013 21:29:58 +0200, Thomas De Schampheleire wrote:

> >  TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS))
> > -TARGETS_SOURCE:=$(patsubst %,%-source,$(TARGETS) $(BASE_TARGETS))
> > +TARGETS_SOURCE:=$(patsubst %,%-all-source,$(TARGETS) $(BASE_TARGETS))
> 
> Am I correct in understanding that, due to the full dependency chain,
> TARGETS_SOURCE will have many duplicate entries?

Well, TARGETS_SOURCE itself will not have many duplicate entries: in
the TARGETS variable, each selected package is only mentioned once, and
TARGETS_SOURCE has the exact same number of entries as TARGETS, except
that each word in TARGETS is replaced by %-all-source (I'm excluding
BASE_TARGETS here, but it only ever contains one entry: 'toolchain').

However, when *evaluating* those targets, we will indeed be looking
multiple times at the same dependencies.

> When executing 'make source', then, each of these targets will be
> executed multiple times, correct? Even though the actual download will
> only be executed once for each package, I wonder if there can be other
> side effects by executing the targets multiple times. Would it make
> sense to do $(shell sort -u ... ) here?

As explained above, no: TARGETS_SOURCE by itself does not contain any
duplicated entry. It's the fact of evaluating each target in
TARGETS_SOURCE that will lead to looking multiple times at the same
things. But I'm not sure how to solve that.

Best regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

  reply	other threads:[~2013-09-15 20:09 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-05 21:27 [Buildroot] [RFCv1 00/11] Convert toolchain backends to packages to fix source/external-deps/legal-info Thomas Petazzoni
2013-09-05 21:27 ` [Buildroot] [RFCv1 01/11] Makefile: make $(BUILD_DIR)/.root rule idempotent Thomas Petazzoni
2013-09-08 12:06   ` Thomas De Schampheleire
2013-09-08 13:13   ` Danomi Manchego
2013-09-08 13:30     ` Thomas Petazzoni
2013-09-08 16:59       ` Danomi Manchego
2013-09-08 17:31         ` Thomas Petazzoni
2013-09-09  8:54   ` Luca Ceresoli
2013-09-09 21:38   ` Peter Korsgaard
2013-09-10  7:23     ` Thomas Petazzoni
2013-09-05 21:27 ` [Buildroot] [RFCv1 02/11] toolchain-crosstool-ng: remove support Thomas Petazzoni
2013-09-06  9:35   ` Yann E. MORIN
2013-09-06 15:53   ` Yann E. MORIN
2013-09-06 15:56     ` Thomas Petazzoni
2013-09-08 12:52   ` Thomas De Schampheleire
2013-09-13 16:10   ` Luca Ceresoli
2013-09-05 21:27 ` [Buildroot] [RFCv1 03/11] toolchain-external: make ext-tool.mk includable in all cases Thomas Petazzoni
2013-09-08 15:31   ` Thomas De Schampheleire
2013-09-05 21:27 ` [Buildroot] [RFCv1 04/11] toolchain: move helpers.mk into toolchain-external/ Thomas Petazzoni
2013-09-08 17:50   ` Thomas De Schampheleire
2013-09-13 16:07   ` Luca Ceresoli
2013-09-05 21:27 ` [Buildroot] [RFCv1 05/11] toolchain: introduce a virtual package Thomas Petazzoni
2013-09-13 16:24   ` Luca Ceresoli
2013-09-15 14:27   ` Thomas De Schampheleire
2013-09-05 21:27 ` [Buildroot] [RFCv1 06/11] toolchain-buildroot: convert to the package infrastructure Thomas Petazzoni
2013-09-15 14:30   ` Thomas De Schampheleire
2013-09-05 21:27 ` [Buildroot] [RFCv1 07/11] toolchain: intermediate .mk files no longer needed Thomas Petazzoni
2013-09-15 14:33   ` Thomas De Schampheleire
2013-09-05 21:27 ` [Buildroot] [RFCv1 08/11] package: package-based implementation of source, external-deps and legal-info Thomas Petazzoni
2013-09-15 19:29   ` Thomas De Schampheleire
2013-09-15 20:09     ` Thomas Petazzoni [this message]
2013-09-16  1:21       ` Thomas De Schampheleire
2013-09-05 21:27 ` [Buildroot] [RFCv1 09/11] package: add a <pkg>_SOURCE_ADDONS variable Thomas Petazzoni
2013-09-16 13:39   ` Thomas De Schampheleire
2013-09-16 18:31     ` Thomas Petazzoni
2013-09-16 19:20       ` Arnout Vandecappelle
2013-09-17  7:21         ` Thomas De Schampheleire
2013-09-27 14:27           ` Luca Ceresoli
2013-09-05 21:27 ` [Buildroot] [RFCv1 10/11] toolchain-external: convert to the package infrastructure Thomas Petazzoni
2013-09-16 13:29   ` Thomas De Schampheleire
2013-09-27 14:21     ` Luca Ceresoli
2013-09-27 14:24   ` Luca Ceresoli
2013-09-05 21:27 ` [Buildroot] [RFCv1 11/11] dependencies: remove useless targets Thomas Petazzoni
2013-09-06  8:28 ` [Buildroot] [RFCv1 00/11] Convert toolchain backends to packages to fix source/external-deps/legal-info Fabio Porcedda
2013-09-06  8:38   ` Thomas Petazzoni
2013-09-06  8:50     ` Fabio Porcedda
2013-09-06 12:37   ` Ryan Barnett
2013-09-06  8:57 ` Jérôme Pouiller
2013-09-06  9:05   ` 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=20130915220908.3d826b82@skate \
    --to=thomas.petazzoni@free-electrons.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox