[lkml]   [2012]   [Apr]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[PATCH 07/13] perf tools: Fix parsers' rules to dependencies
    From: Jiri Olsa <>

    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

    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 <>
    Cc: Corey Ashford <>
    Cc: Frederic Weisbecker <>
    Cc: Ingo Molnar <>
    Cc: Paul Mackerras <>
    Cc: Peter Zijlstra <>
    Signed-off-by: Arnaldo Carvalho de Melo <>
    tools/perf/Makefile | 19 ++++++++-----------
    1 file changed, 8 insertions(+), 11 deletions(-)

    diff --git a/tools/perf/Makefile b/tools/perf/Makefile
    index 4ca77cc..b28b610 100644
    --- a/tools/perf/Makefile
    +++ b/tools/perf/Makefile
    @@ -204,21 +204,20 @@ export PERL_PATH

    - $(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

    - $(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


    @@ -807,8 +806,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-11 23:09    [W:0.021 / U:12.616 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site