[Buildroot] [PATCH 2/2] Makefile: test if "dot" exists in graph-build and <pkg>-graph-depends
Fabio Porcedda
fabio.porcedda at gmail.com
Tue Jun 17 09:13:34 UTC 2014
On Fri, Jun 13, 2014 at 7:16 PM, Yann E. MORIN <yann.morin.1998 at free.fr> wrote:
> 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 at gmail.com>
>> Cc: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
>> Cc: Yann E. MORIN <yann.morin.1998 at 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.)
Thanks, fixed.
>> +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.
Thanks, fixed.
>> @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?
Thanks, fixed.
<snip>
Best regards
--
Fabio Porcedda
More information about the buildroot
mailing list