]> err.no Git - linux-2.6/blobdiff - Documentation/kbuild/makefiles.txt
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux...
[linux-2.6] / Documentation / kbuild / makefiles.txt
index 1ca535bcc8c7d3adeae372d74bdea0fc801a9198..f099b814d383c49d44667954fe9e625c90c9a6e4 100644 (file)
@@ -276,40 +276,39 @@ more details, with real examples.
 
 --- 3.7 Compilation flags
 
-    EXTRA_CFLAGS, EXTRA_AFLAGS, EXTRA_LDFLAGS
+    ccflags-y, asflags-y and ldflags-y
+       The three flags listed above applies only to the kbuild makefile
+       where they are assigned. They are used for all the normal
+       cc, as and ld invocation happenign during a recursive build.
+       Note: Flags with the same behaviour were previously named:
+       EXTRA_CFLAGS, EXTRA_AFLAGS and EXTRA_LDFLAGS.
+       They are yet supported but their use are deprecated.
 
-       All the EXTRA_ variables apply only to the kbuild makefile
-       where they are assigned. The EXTRA_ variables apply to all
-       commands executed in the kbuild makefile.
-
-       $(EXTRA_CFLAGS) specifies options for compiling C files with
-       $(CC).
+       ccflags-y specifies options for compiling C files with $(CC).
 
        Example:
                # drivers/sound/emu10k1/Makefile
-               EXTRA_CFLAGS += -I$(obj)
-               ifdef DEBUG
-                   EXTRA_CFLAGS += -DEMU10K1_DEBUG
-               endif
+               ccflags-y += -I$(obj)
+               ccflags-$(DEBUG) += -DEMU10K1_DEBUG
 
 
        This variable is necessary because the top Makefile owns the
        variable $(KBUILD_CFLAGS) and uses it for compilation flags for the
        entire tree.
 
-       $(EXTRA_AFLAGS) is a similar string for per-directory options
+       asflags-y is a similar string for per-directory options
        when compiling assembly language source.
 
        Example:
                #arch/x86_64/kernel/Makefile
-               EXTRA_AFLAGS := -traditional
+               asflags-y := -traditional
 
 
-       $(EXTRA_LDFLAGS) is a string for per-directory options to $(LD).
+       ldflags-y is a string for per-directory options to $(LD).
 
        Example:
                #arch/m68k/fpsp040/Makefile
-               EXTRA_LDFLAGS := -x
+               ldflags-y := -x
 
     CFLAGS_$@, AFLAGS_$@
 
@@ -424,6 +423,7 @@ more details, with real examples.
        as-instr checks if the assembler reports a specific instruction
        and then outputs either option1 or option2
        C escapes are supported in the test instruction
+       Note: as-instr-option uses KBUILD_AFLAGS for $(AS) options
 
     cc-option
        cc-option is used to check if $(CC) supports a given option, and not
@@ -494,9 +494,9 @@ more details, with real examples.
 
        Example:
                #fs/reiserfs/Makefile
-               EXTRA_CFLAGS := $(call cc-ifversion, -lt, 0402, -O1)
+               ccflags-y := $(call cc-ifversion, -lt, 0402, -O1)
 
-       In this example, EXTRA_CFLAGS will be assigned the value -O1 if the
+       In this example, ccflags-y will be assigned the value -O1 if the
        $(CC) version is less than 4.2.
        cc-ifversion takes all the shell operators:
        -eq, -ne, -lt, -le, -gt, and -ge
@@ -782,7 +782,7 @@ When kbuild executes, the following steps are followed (roughly):
        Example:
                #arch/s390/Makefile
                LDFLAGS         := -m elf_s390
-       Note: EXTRA_LDFLAGS can be used to further customise
+       Note: ldflags-y can be used to further customise
        the flags used. See chapter 3.7.
 
     LDFLAGS_MODULE     Options for $(LD) when linking modules
@@ -819,14 +819,14 @@ When kbuild executes, the following steps are followed (roughly):
        In this example, the binary $(obj)/image is a binary version of
        vmlinux. The usage of $(call if_changed,xxx) will be described later.
 
-    AFLAGS             $(AS) assembler flags
+    KBUILD_AFLAGS              $(AS) assembler flags
 
        Default value - see top level Makefile
        Append or modify as required per architecture.
 
        Example:
                #arch/sparc64/Makefile
-               AFLAGS += -m64 -mcpu=ultrasparc
+               KBUILD_AFLAGS += -m64 -mcpu=ultrasparc
 
     KBUILD_CFLAGS              $(CC) compiler flags
 
@@ -1098,8 +1098,8 @@ When kbuild executes, the following steps are followed (roughly):
        specified options when building the target vmlinux.lds.
 
        When building the *.lds target, kbuild uses the variables:
-       CPPFLAGS        : Set in top-level Makefile
-       EXTRA_CPPFLAGS  : May be set in the kbuild makefile
+       KBUILD_CPPFLAGS : Set in top-level Makefile
+       cppflags-y      : May be set in the kbuild makefile
        CPPFLAGS_$(@F)  : Target specific flags.
                          Note that the full filename is used in this
                          assignment.