From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 21/35] Makefile: simplify show-targets
Date: Mon, 6 Apr 2015 11:40:17 +0200 [thread overview]
Message-ID: <20150406114017.3eb61812@free-electrons.com> (raw)
In-Reply-To: <20150330212107.GF4318@free.fr>
Dear Yann E. MORIN,
On Mon, 30 Mar 2015 23:21:07 +0200, Yann E. MORIN wrote:
> Thomas, All,
>
> On 2015-03-29 19:33 +0200, Thomas Petazzoni spake thusly:
> > show-targets is only used currently by the graph-depends script, which
> > already recurses into the dependencies of the selected packages to
> > build the dependency graph. Therefore, dumping the contents of
> > $(PACKAGES) and $(ROOTFS_TARGETS) is sufficient: $(HOST_DEPS) and
> > $(TARGET_HOST_DEPS) will contain packages that are dependencies of
> > packages already listed in $(PACKAGES), which graph-depends will
> > discover by itself.
> >
> > This allows to remove one more usage of $(HOST_DEPS) and
> > $(TARGET_HOST_DEPS), which is one more step towards their removal.
>
> This means a lot of host packages no longer show up in show-targets.
This is expected. "make show-targets" has *never* guaranteed you that
it would list *all* packages.
Remember, before this patch series, the main Makefile only had some
logic to do a two-level recursion on the dependencies of host packages.
So what the graph-depends script does is that it takes the output of
"make show-targets" as an initial list of packages, and then walks the
dependency tree by itself by calling "make <pkg>-show-depends"
recursively, starting from the list of packages listed by "make
show-targets".
So, from this commit, "make show-targets" will only list the target
packages selected by menuconfig (i.e all those listed in the
global PACKAGES variable). All other packages will be figured out by
iterating recursively using "make <pkg>-show-depends".
So indeed, this changes the output of "make show-targets", but this
output was wrong. And there is no way to make it correct without
iterating recursively through dependencies.
Note that this target is actually called "make show-targets" and not
"make show-packages". So it does not give the guarantee that all
packages will be listed.
For me, this target is only an internal details of the graph-depends
logic. As long as the global graph-depends graph remains the same, then
I believe this is fine.
Let me know what you think,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
next prev parent reply other threads:[~2015-04-06 9:40 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-29 17:33 [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Thomas Petazzoni
2015-03-29 17:33 ` [Buildroot] [PATCH 01/35] linux: use the package infrastructure to download patches Thomas Petazzoni
2015-03-29 20:47 ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 02/35] pkg-generic: fix the logic showing the "Downloading" message Thomas Petazzoni
2015-03-29 20:48 ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 03/35] pkg-generic: take into account <pkg>_EXTRA_DOWNLOADS to display " Thomas Petazzoni
2015-03-29 20:49 ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 04/35] pkg-generic: refactor the "Downloading" message logic Thomas Petazzoni
2015-03-29 20:50 ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 05/35] pkg-generic: allow full URLs for <pkg>_EXTRA_DOWNLOADS Thomas Petazzoni
2015-03-29 21:08 ` Yann E. MORIN
2015-03-30 7:26 ` Thomas Petazzoni
2015-05-10 18:42 ` Bernd Kuhls
2015-03-29 17:33 ` [Buildroot] [PATCH 06/35] docs/manual: update documentation about <pkg>_SOURCE, <pkg>_PATCH and <pkg>_EXTRA_DOWNLOADS Thomas Petazzoni
2015-03-29 21:10 ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 07/35] perl: use <pkg>_EXTRA_DOWNLOADS Thomas Petazzoni
2015-03-29 21:15 ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 08/35] packages: apply custom patches using *.patch instead of <pkg>-*.patch Thomas Petazzoni
2015-03-29 21:35 ` Yann E. MORIN
2015-03-30 7:29 ` Thomas Petazzoni
2015-03-30 16:22 ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 09/35] docs/manual: update documentation about applying patches Thomas Petazzoni
2015-03-29 21:40 ` Yann E. MORIN
2015-04-06 9:06 ` Thomas Petazzoni
2015-03-29 17:33 ` [Buildroot] [PATCH 10/35] pkg-generic: implement a <pkg>-external-deps target Thomas Petazzoni
2015-03-29 21:44 ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 11/35] pkg-generic: implement <pkg>-all-{source, legal-info, external-deps} targets Thomas Petazzoni
2015-03-29 21:47 ` Yann E. MORIN
2015-03-30 17:45 ` Yann E. MORIN
2015-03-30 18:56 ` Thomas Petazzoni
2015-04-06 9:14 ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 12/35] Makefile: remove dubious comment Thomas Petazzoni
2015-03-29 21:50 ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 13/35] Makefile: directories are not PHONY targets Thomas Petazzoni
2015-03-29 21:56 ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 14/35] pkg-generic: declare phony targets as such Thomas Petazzoni
2015-03-29 22:05 ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 15/35] pkg-kconfig: " Thomas Petazzoni
2015-03-29 22:08 ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 16/35] fs: " Thomas Petazzoni
2015-03-29 22:16 ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 17/35] Makefile: targets are now declared phony by the appropriate infrastructures Thomas Petazzoni
2015-03-29 22:22 ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 18/35] Makefile: rename TARGETS to PACKAGES Thomas Petazzoni
2015-03-30 16:31 ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 19/35] fs: add rootfs dependencies " Thomas Petazzoni
2015-03-30 16:33 ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 20/35] Makefile: use <pkg>-all-legal-info to implement the legal-info target Thomas Petazzoni
2015-03-30 20:59 ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 21/35] Makefile: simplify show-targets Thomas Petazzoni
2015-03-30 21:21 ` Yann E. MORIN
2015-03-30 21:40 ` Yann E. MORIN
2015-04-06 9:40 ` Thomas Petazzoni [this message]
2015-04-06 9:44 ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 22/35] Makefile: use the package infra based external-deps Thomas Petazzoni
2015-03-30 21:43 ` Yann E. MORIN
2015-03-29 17:33 ` [Buildroot] [PATCH 23/35] pkg-download: remove support for the SHOW_EXTERNAL_DEPS DL_MODE Thomas Petazzoni
2015-03-29 17:33 ` [Buildroot] [PATCH 24/35] Makefile: move source-check outside of noconfig_targets Thomas Petazzoni
2015-03-29 17:33 ` [Buildroot] [PATCH 25/35] pkg-download: extend DOWNLOAD_INNER, add a SOURCE_CHECK macro Thomas Petazzoni
2015-03-29 17:33 ` [Buildroot] [PATCH 26/35] pkg-generic: implement source-check targets Thomas Petazzoni
2015-03-29 17:33 ` [Buildroot] [PATCH 27/35] Makefile: implement a package based source-check target Thomas Petazzoni
2015-03-29 17:33 ` [Buildroot] [PATCH 28/35] pkg-generic: remove the .stamp_rsync_sourced fake stamp file Thomas Petazzoni
2015-03-29 17:33 ` [Buildroot] [PATCH 29/35] pkg-generic: don't use DL_MODE in .stamp_downloaded Thomas Petazzoni
2015-03-29 17:33 ` [Buildroot] [PATCH 30/35] pkg-download: get rid of DL_MODE Thomas Petazzoni
2015-03-29 17:33 ` [Buildroot] [PATCH 31/35] pkg-download: fix indentation for SOURCE_CHECK_* macros Thomas Petazzoni
2015-03-29 17:33 ` [Buildroot] [PATCH 32/35] pkg-generic: propagate <pkg>_EXTRA_DOWNLOADS from target to host package Thomas Petazzoni
2015-03-29 17:33 ` [Buildroot] [PATCH 33/35] pkg-generic: introduce a <pkg>_ALL_DOWNLOADS variable and factorize code Thomas Petazzoni
2015-03-29 17:33 ` [Buildroot] [PATCH 34/35] Makefile: implement the 'source' target using the package infrastructure Thomas Petazzoni
2015-03-29 17:33 ` [Buildroot] [PATCH 35/35] Makefile: remove unneeded variables Thomas Petazzoni
2015-03-29 22:28 ` [Buildroot] [PATCH 00/35] Package based 'source', 'legal-info', 'source-check' and 'external-deps' Yann E. MORIN
2015-03-30 7:23 ` Thomas Petazzoni
2015-03-30 21:42 ` Thomas Petazzoni
2015-04-06 9:33 ` 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=20150406114017.3eb61812@free-electrons.com \
--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