lkml.org 
[lkml]   [2012]   [Apr]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:perf/urgent] perf tools: Fix parsers' rules to dependencies
    Commit-ID:  2a5204fed0f313f9b55a7b4d5f48ca484446d095
    Gitweb: http://git.kernel.org/tip/2a5204fed0f313f9b55a7b4d5f48ca484446d095
    Author: Jiri Olsa <jolsa@redhat.com>
    AuthorDate: Wed, 11 Apr 2012 12:39:51 +0200
    Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
    CommitDate: Sat, 14 Apr 2012 13:49:43 -0300

    perf tools: Fix parsers' rules to dependencies

    Currently the parsers objects (bison/flex related) are each time perf
    is built. No matter the generated files are already in place, the
    parser generation is executed every time.

    Changing the rules to have proper flex/bison objects generation
    dependencies.

    The parsers code is not rebuilt until the flex/bison source files
    are touched. Also when flex/bison source is changed, only dependent
    objects are rebuilt.

    Signed-off-by: Jiri Olsa <jolsa@redhat.com>
    Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Ingo Molnar <mingo@elte.hu>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Link: http://lkml.kernel.org/r/1334140791-3024-1-git-send-email-jolsa@redhat.com
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    ---
    tools/perf/Makefile | 19 ++++++++-----------
    1 files changed, 8 insertions(+), 11 deletions(-)

    diff --git a/tools/perf/Makefile b/tools/perf/Makefile
    index a20d0c5..03059e7 100644
    --- a/tools/perf/Makefile
    +++ b/tools/perf/Makefile
    @@ -237,21 +237,20 @@ export PERL_PATH
    FLEX = $(CROSS_COMPILE)flex
    BISON= $(CROSS_COMPILE)bison

    -event-parser:
    - $(QUIET_BISON)$(BISON) -v util/parse-events.y -d -o $(OUTPUT)util/parse-events-bison.c
    +$(OUTPUT)util/parse-events-flex.c: util/parse-events.l
    $(QUIET_FLEX)$(FLEX) --header-file=$(OUTPUT)util/parse-events-flex.h -t util/parse-events.l > $(OUTPUT)util/parse-events-flex.c

    -$(OUTPUT)util/parse-events-flex.c: event-parser
    -$(OUTPUT)util/parse-events-bison.c: event-parser
    +$(OUTPUT)util/parse-events-bison.c: util/parse-events.y
    + $(QUIET_BISON)$(BISON) -v util/parse-events.y -d -o $(OUTPUT)util/parse-events-bison.c

    -pmu-parser:
    - $(QUIET_BISON)$(BISON) -v util/pmu.y -d -o $(OUTPUT)util/pmu-bison.c
    +$(OUTPUT)util/pmu-flex.c: util/pmu.l
    $(QUIET_FLEX)$(FLEX) --header-file=$(OUTPUT)util/pmu-flex.h -t util/pmu.l > $(OUTPUT)util/pmu-flex.c

    -$(OUTPUT)util/pmu-flex.c: pmu-parser
    -$(OUTPUT)util/pmu-bison.c: pmu-parser
    +$(OUTPUT)util/pmu-bison.c: util/pmu.y
    + $(QUIET_BISON)$(BISON) -v util/pmu.y -d -o $(OUTPUT)util/pmu-bison.c

    -$(OUTPUT)util/parse-events.o: event-parser pmu-parser
    +$(OUTPUT)util/parse-events.o: $(OUTPUT)util/parse-events-flex.c $(OUTPUT)util/parse-events-bison.c
    +$(OUTPUT)util/pmu.o: $(OUTPUT)util/pmu-flex.c $(OUTPUT)util/pmu-bison.c

    LIB_FILE=$(OUTPUT)libperf.a

    @@ -852,8 +851,6 @@ help:
    @echo ' html - make html documentation'
    @echo ' info - make GNU info documentation (access with info <foo>)'
    @echo ' pdf - make pdf documentation'
    - @echo ' event-parser - make event parser code'
    - @echo ' pmu-parser - make pmu format parser code'
    @echo ' TAGS - use etags to make tag information for source browsing'
    @echo ' tags - use ctags to make tag information for source browsing'
    @echo ' cscope - use cscope to make interactive browsing database'

    \
     
     \ /
      Last update: 2012-04-15 10:41    [W:3.314 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site