[lkml]   [2008]   [May]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[PATCH 1/4] kbuild: Create new CFLAGS_REMOVE_(basename).o option
    We currently have a way to add special CFLAGS to code, but we do not have a 
    way to remove them if needed.

    With the case of ftrace, some files should simply not be profiled. Adding
    the -pg flag to these files is simply a waste, and adding "notrace" to each
    and every function is ugly.

    Currently we put in "Makefile turd" [1] to stop the compiler from adding -pg
    to certain files. This was clumsy and awkward.

    This patch now adds the revese of CFLAGS_(basename).o with
    CFLAGS_REMOVE_(basename).o. This allows developers to prevent certain
    CFLAGS from being used to compile files. For example, we can now do

    CFLAGS_REMOVE_string.o = -pg

    to remove the -pg option from the string.o file in the lib directory.

    Note: a space delimited list of options may be added to the REMOVE macro.

    [1] - what David Miller called the workaronud to remove -pg

    Signed-off-by: Steven Rostedt <>
    scripts/Makefile.lib | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    Index: linux-sched-devel.git/scripts/Makefile.lib
    --- linux-sched-devel.git.orig/scripts/Makefile.lib 2008-05-14 18:12:22.000000000 -0700
    +++ linux-sched-devel.git/scripts/Makefile.lib 2008-05-14 18:12:26.000000000 -0700
    @@ -96,7 +96,8 @@ basename_flags = -D"KBUILD_BASENAME=KBUI
    modname_flags = $(if $(filter 1,$(words $(modname))),\
    -D"KBUILD_MODNAME=KBUILD_STR($(call name-fix,$(modname)))")

    -_c_flags = $(KBUILD_CFLAGS) $(ccflags-y) $(CFLAGS_$(basetarget).o)
    +orig_c_flags = $(KBUILD_CFLAGS) $(ccflags-y) $(CFLAGS_$(basetarget).o)
    +_c_flags = $(filter-out $(CFLAGS_REMOVE_$(basetarget).o), $(orig_c_flags))
    _a_flags = $(KBUILD_AFLAGS) $(asflags-y) $(AFLAGS_$(basetarget).o)
    _cpp_flags = $(KBUILD_CPPFLAGS) $(cppflags-y) $(CPPFLAGS_$(@F))


     \ /
      Last update: 2008-05-15 03:41    [W:0.021 / U:9.888 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site