From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 2/2] Makefile: test if "dot" exists in graph-build and <pkg>-graph-depends
Date: Fri, 13 Jun 2014 19:16:15 +0200 [thread overview]
Message-ID: <20140613171615.GD3496@free.fr> (raw)
In-Reply-To: <1402679208-8304-2-git-send-email-fabio.porcedda@gmail.com>
Fabio, All,
On 2014-06-13 19:06 +0200, Fabio Porcedda spake thusly:
> Because the "dot" command availability was checked only for the
> "graph-depends" target so move the check to the "graph-prerequisites"
> target to be able to check the "dot" command availability for all the
> graph generation targets.
>
> Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Cc: Yann E. MORIN <yann.morin.1998@free.fr>
> ---
> Makefile | 8 ++++++--
> package/pkg-generic.mk | 2 +-
> 2 files changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 86acbbf..3e395b5 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -658,7 +658,11 @@ legal-info: dirs legal-info-clean legal-info-prepare $(TARGETS_LEGAL_INFO) \
> show-targets:
> @echo $(HOST_DEPS) $(TARGETS_HOST_DEPS) $(TARGETS) $(TARGETS_ROOTFS)
>
> -graph-build: $(O)/build/build-time.log
> +graph-prerequisites:
> + @dot -? >/dev/null 2>&1 || \
> + (echo "ERROR: The 'dot' program from Graphviz is needed for graph-depends" >&2; exit 1)
While at it, the usual convention for this construct it to not use a
sub-shell, but use:
thing-to-test || {echo MESSAGE >&2; exit 1;}
Yes, the last semi-colon is needed.
Because some shells might not corectly error out when a sub-shell exits
with a non-zero error code (ie. it was the case in a previous version of
bash.)
> +graph-build: $(O)/build/build-time.log graph-prerequisites
graph-build does not use 'dot', it uses matplotlib internally, so should
probably not depend on graph-prerequisites.
> @install -d $(O)/graphs
> $(foreach o,name build duration,./support/scripts/graph-build-time \
> --type=histogram --order=$(o) --input=$(<) \
> @@ -669,7 +673,7 @@ graph-build: $(O)/build/build-time.log
> --output=$(O)/graphs/build.pie-$(t).$(BR_GRAPH_OUT) \
> $(if $(BR2_GRAPH_ALT),--alternate-colors)$(sep))
>
> -graph-depends:
> +graph-depends: graph-prerequisites
> @dot -? >/dev/null 2>&1 || \
> (echo "ERROR: The 'dot' program from Graphviz is needed for graph-depends" >&2; exit 1)
Then you should probably remove the check here, no?
Regards,
Yann E. MORIN.
> @$(INSTALL) -d $(O)/graphs
> diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
> index ccd7f3b..752392d 100644
> --- a/package/pkg-generic.mk
> +++ b/package/pkg-generic.mk
> @@ -531,7 +531,7 @@ endif
> $(1)-show-depends:
> @echo $$($(2)_FINAL_DEPENDENCIES)
>
> -$(1)-graph-depends:
> +$(1)-graph-depends: graph-prerequisites
> @$(INSTALL) -d $(O)/graphs
> @cd "$(CONFIG_DIR)"; \
> $(TOPDIR)/support/scripts/graph-depends -p $(1) $(BR2_GRAPH_DEPS_OPTS) \
> --
> 2.0.0
>
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
next prev parent reply other threads:[~2014-06-13 17:16 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-13 17:06 [Buildroot] [PATCH 1/2] manual: add prerequisites for graph generation Fabio Porcedda
2014-06-13 17:06 ` [Buildroot] [PATCH 2/2] Makefile: test if "dot" exists in graph-build and <pkg>-graph-depends Fabio Porcedda
2014-06-13 17:16 ` Yann E. MORIN [this message]
2014-06-17 9:13 ` Fabio Porcedda
2014-06-13 17:55 ` Thomas Petazzoni
2014-06-17 9:14 ` Fabio Porcedda
2014-06-13 17:17 ` [Buildroot] [PATCH 1/2] manual: add prerequisites for graph generation Yann E. MORIN
2014-06-17 8:20 ` Fabio Porcedda
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=20140613171615.GD3496@free.fr \
--to=yann.morin.1998@free.fr \
--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.