linux/Documentation/kbuild/kbuild.txt
<<
>>
Prefs
   1Environment variables
   2
   3KCPPFLAGS
   4--------------------------------------------------
   5Additional options to pass when preprocessing. The preprocessing options
   6will be used in all cases where kbuild does preprocessing including
   7building C files and assembler files.
   8
   9KAFLAGS
  10--------------------------------------------------
  11Additional options to the assembler.
  12
  13KCFLAGS
  14--------------------------------------------------
  15Additional options to the C compiler.
  16
  17KBUILD_VERBOSE
  18--------------------------------------------------
  19Set the kbuild verbosity. Can be assigned same values as "V=...".
  20See make help for the full list.
  21Setting "V=..." takes precedence over KBUILD_VERBOSE.
  22
  23KBUILD_EXTMOD
  24--------------------------------------------------
  25Set the directory to look for the kernel source when building external
  26modules.
  27The directory can be specified in several ways:
  281) Use "M=..." on the command line
  292) Environmnet variable KBUILD_EXTMOD
  303) Environmnet variable SUBDIRS
  31The possibilities are listed in the order they take precedence.
  32Using "M=..." will always override the others.
  33
  34KBUILD_OUTPUT
  35--------------------------------------------------
  36Specify the output directory when building the kernel.
  37The output directory can also be specificed using "O=...".
  38Setting "O=..." takes precedence over KBUILD_OUTPUT.
  39
  40ARCH
  41--------------------------------------------------
  42Set ARCH to the architecture to be built.
  43In most cases the name of the architecture is the same as the
  44directory name found in the arch/ directory.
  45But some architectures such as x86 and sparc have aliases.
  46x86: i386 for 32 bit, x86_64 for 64 bit
  47sparc: sparc for 32 bit, sparc64 for 64 bit
  48
  49CROSS_COMPILE
  50--------------------------------------------------
  51Specify an optional fixed part of the binutils filename.
  52CROSS_COMPILE can be a part of the filename or the full path.
  53
  54CROSS_COMPILE is also used for ccache is some setups.
  55
  56CF
  57--------------------------------------------------
  58Additional options for sparse.
  59CF is often used on the command-line like this:
  60
  61    make CF=-Wbitwise C=2
  62
  63INSTALL_PATH
  64--------------------------------------------------
  65INSTALL_PATH specifies where to place the updated kernel and system map
  66images. Default is /boot, but you can set it to other values.
  67
  68INSTALLKERNEL
  69--------------------------------------------------
  70Install script called when using "make install".
  71The default name is "installkernel".
  72
  73The script will be called with the following arguments:
  74    $1 - kernel version
  75    $2 - kernel image file
  76    $3 - kernel map file
  77    $4 - default install path (use root directory if blank)
  78
  79The implmentation of "make install" is architecture specific
  80and it may differ from the above.
  81
  82INSTALLKERNEL is provided to enable the possibility to
  83specify a custom installer when cross compiling a kernel.
  84
  85MODLIB
  86--------------------------------------------------
  87Specify where to install modules.
  88The default value is:
  89
  90     $(INSTALL_MOD_PATH)/lib/modules/$(KERNELRELEASE)
  91
  92The value can be overridden in which case the default value is ignored.
  93
  94INSTALL_MOD_PATH
  95--------------------------------------------------
  96INSTALL_MOD_PATH specifies a prefix to MODLIB for module directory
  97relocations required by build roots.  This is not defined in the
  98makefile but the argument can be passed to make if needed.
  99
 100INSTALL_MOD_STRIP
 101--------------------------------------------------
 102INSTALL_MOD_STRIP, if defined, will cause modules to be
 103stripped after they are installed.  If INSTALL_MOD_STRIP is '1', then
 104the default option --strip-debug will be used.  Otherwise,
 105INSTALL_MOD_STRIP will used as the options to the strip command.
 106
 107INSTALL_FW_PATH
 108--------------------------------------------------
 109INSTALL_FW_PATH specifies where to install the firmware blobs.
 110The default value is:
 111
 112    $(INSTALL_MOD_PATH)/lib/firmware
 113
 114The value can be overridden in which case the default value is ignored.
 115
 116INSTALL_HDR_PATH
 117--------------------------------------------------
 118INSTALL_HDR_PATH specifies where to install user space headers when
 119executing "make headers_*".
 120The default value is:
 121
 122    $(objtree)/usr
 123
 124$(objtree) is the directory where output files are saved.
 125The output directory is often set using "O=..." on the commandline.
 126
 127The value can be overridden in which case the default value is ignored.
 128
 129KBUILD_MODPOST_WARN
 130--------------------------------------------------
 131KBUILD_MODPOST_WARN can be set to avoid errors in case of undefined
 132symbols in the final module linking stage. It changes such errors
 133into warnings.
 134
 135KBUILD_MODPOST_NOFINAL
 136--------------------------------------------------
 137KBUILD_MODPOST_NOFINAL can be set to skip the final link of modules.
 138This is solely useful to speed up test compiles.
 139
 140KBUILD_EXTRA_SYMBOLS
 141--------------------------------------------------
 142For modules that use symbols from other modules.
 143See more details in modules.txt.
 144
 145ALLSOURCE_ARCHS
 146--------------------------------------------------
 147For tags/TAGS/cscope targets, you can specify more than one arch
 148to be included in the databases, separated by blank space. E.g.:
 149
 150    $ make ALLSOURCE_ARCHS="x86 mips arm" tags
 151
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.