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

