• Namhyung Kim's avatar
    perf tools: Do not include PERF-VERSION-FILE to Makefile · 3cecaa20
    Namhyung Kim authored
    When make runs it tries to update the Makefile rules by reading all of
    included Makefiles.  During the perf build it checks PERF-VERSION-FILE
    to get the current version number.  But it triggers Makefile update so
    that make runs again with the update Makefile and, in turn, users will
    see duplicate CHK message on the second path.
    
    Running make with -d option for debugging tells me this:
    
    GNU Make 3.82
    Built for x86_64-redhat-linux-gnu
    Copyright (C) 2010  Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    Reading makefiles...
    Reading makefile `Makefile'...
    Reading makefile `../scripts/Makefile.include' (search path) (no ~ expansion)...
    Reading makefile `config/utilities.mak' (search path) (no ~ expansion)...
    Reading makefile `PERF-VERSION-FILE' (search path) (don't care) (no ~ expansion)...
    Reading makefile `config/feature-tests.mak' (search path) (don't care) (no ~ expansion)...
        CHK -fstack-protector-all
        CHK -Wstack-protector
        CHK -Wvolatile-register-var
    ...
    Updating makefiles....
     Considering target file `PERF-VERSION-FILE'.
     Must remake target `PERF-VERSION-FILE'.
    Invoking recipe from Makefile:52 to update target `PERF-VERSION-FILE'.
    Putting child 0x14037a0 (PERF-VERSION-FILE) PID 31925 on the chain.
    Live child 0x14037a0 (PERF-VERSION-FILE) PID 31925
    PERF_VERSION = 3.8.rc3.gf751db6
    Reaping winning child 0x14037a0 PID 31925
    Removing child 0x14037a0 PID 31925 from chain.
     Successfully remade target file `PERF-VERSION-FILE'.
    ...
    Re-executing[1]: make -d                       <------------ here
    GNU Make 3.82
    Built for x86_64-redhat-linux-gnu
    Copyright (C) 2010  Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    Reading makefiles...
    Reading makefile `Makefile'...
    Reading makefile `../scripts/Makefile.include' (search path) (no ~ expansion)...
    Reading makefile `config/utilities.mak' (search path) (no ~ expansion)...
    Reading makefile `PERF-VERSION-FILE' (search path) (don't care) (no ~ expansion)...
    Reading makefile `config/feature-tests.mak' (search path) (don't care) (no ~ expansion)...
        CHK -fstack-protector-all
        CHK -Wstack-protector
        CHK -Wvolatile-register-var
    ...
    
    Actually PERF-VERSION-FILE is used only for perf.c to #define
    PERF_VERSION macro.  So make it like a C header file and include it
    during compiling the perf.c file will remove the need of being
    included into Makefile.  Hench no need to update the Makefile and no
    CHK lines anymore.
    Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Link: http://lkml.kernel.org/r/1358337594-10916-1-git-send-email-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    3cecaa20
PERF-VERSION-GEN 729 Bytes