Lines Matching full:build

12 # expect to learn how to build the kernel reading this file.
25 # We are using a recursive build, so we need to do a little thinking
63 # Most of build commands in Kbuild start with "cmd_". You can optionally define
74 # $(Q)$(MAKE) $(build)=scripts/basic
132 # directory of external module to build. Setting M= takes precedence.
192 # source directory or kernel build directory), external modules
286 # mixing *config targets and build targets.
303 config-build :=
304 mixed-build :=
307 single-build :=
329 config-build := 1
331 mixed-build := 1
336 # We cannot build single targets and the others at the same time
338 single-build := 1
340 mixed-build := 1
347 mixed-build := 1
354 mixed-build := 1
358 ifdef mixed-build
360 # We're called with mixed targets (*config and build targets).
374 else # !mixed-build
461 # the KERNELDOC macro needs to be exported, as scripts/Makefile.build
650 # Rules shared between *config targets and build targets
655 $(Q)$(MAKE) $(build)=scripts/basic
659 # Before starting out-of-tree build, make sure the source tree is clean.
706 { echo "# this is build directory, ignore it"; echo "*"; } > .gitignore
727 ifdef config-build
739 $(Q)$(MAKE) $(build)=scripts/kconfig $@
742 $(Q)$(MAKE) $(build)=scripts/kconfig $@
744 else #!config-build
746 # Build targets only - this includes vmlinux, arch-specific targets, clean
760 # Decide whether to build built-in, modular, or both.
773 # Just "make" or "make all" shall build modules as well
798 # This allow a user to issue only 'make' to build a kernel including modules
831 # The actual configuration files used during the build are stored in
1104 # Do not add $(call cc-option,...) below this line. When you build the kernel
1113 KBUILD_LDFLAGS_MODULE += --build-id=sha1
1114 LDFLAGS_vmlinux += --build-id=sha1
1158 # Default kernel image to build when no specific target is given.
1171 # INSTALL_DTBS_PATH specifies a prefix for relocations required by build roots.
1179 # relocations required by build roots. This is not defined in the
1190 build-dir := .
1208 # we have to build modules as well to determine what those symbols are.
1261 # Carefully list dependencies so we do not try to build scripts twice
1265 $(Q)$(MAKE) $(build)=$(@)
1281 $(Q)$(MAKE) $(build)=scripts/mod
1282 $(Q)$(MAKE) $(build)=. prepare
1288 $(Q)$(MAKE) $(build)=rust
1390 $(Q)$(MAKE) $(build)=scripts scripts/unifdef
1394 $(Q)$(MAKE) $(build)=scripts scripts/gen_packed_field_checks
1401 # to this Makefile to build and install external modules.
1428 # The tools build system is not a part of Kbuild and tends to introduce
1480 $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
1483 $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
1487 $(Q)$(MAKE) $(build)=$(dtstree) need-dtbslist=1
1519 $(Q)$(MAKE) $(build)=scripts/dtc
1527 $(Q)$(MAKE) $(build)=Documentation/devicetree/bindings $@
1530 $(Q)$(MAKE) $(build)=Documentation/devicetree/bindings
1534 $(Q)$(MAKE) $(build)=Documentation/devicetree/bindings $@
1541 # By default, build modules as well
1552 # Build modules
1566 $(Q)$(MAKE) $(build)=scripts scripts/module.lds
1573 # Leave enough to build external modules
1597 # clean - Delete most, but leave enough to build external modules
1657 @echo ' enough build support to build external modules'
1664 @echo ' all - Build all targets marked with [*]'
1665 @echo '* vmlinux - Build the bare kernel'
1666 @echo '* modules - Build all modules'
1669 @echo ' dir/ - Build all files in dir and below'
1670 @echo ' dir/file.[ois] - Build specified target only'
1671 @echo ' dir/file.ll - Build the LLVM assembly file'
1673 @echo ' dir/file.lst - Build specified mixed source/assembly target only'
1674 @echo ' (requires a recent binutils and recent build (System.map))'
1675 @echo ' dir/file.ko - Build module including final link'
1683 @echo ' headers - Build ready-to-install UAPI headers in usr/include'
1701 @echo ' kselftest - Build and run kernel selftest'
1702 @echo ' Build, install, and boot kernel before'
1705 @echo ' kselftest-all - Build kernel selftest'
1706 @echo ' kselftest-install - Build and install kernel selftest'
1723 @echo ' dir/file.[os] - Build specified target only'
1724 @echo ' dir/file.rsi - Build macro expanded source, similar to C preprocessing.'
1727 @echo ' dir/file.ll - Build the LLVM assembly file'
1731 echo '* dtbs - Build device tree blobs for enabled boards'; \
1734 echo ' dt_binding_schemas - Build processed device tree binding schemas'; \
1754 printf " %-27s - Build for %s\\n" $(b) $(subst _defconfig,,$(b));) \
1762 @echo ' make V=n [targets] 1: verbose build'
1770 @echo ' make W=n [targets] Enable extra build checks, n=1,2,3,c,e where'
1782 @echo 'Execute "make" or "make all" to build all targets marked with [*] '
1796 printf " %-24s - Build for %s\\n" $*/$(b) $(subst _defconfig,,$(b));) \
1806 $(Q)$(MAKE) $(build)=Documentation $@
1822 $(Q)$(MAKE) $(build)=rust $@
1827 $(Q)$(MAKE) $(build)=rust $@
1851 $(Q)$(MAKE) $(build)=scripts/gdb
1873 build-dir := .
1883 echo >&2 "warning: the compiler differs from the one used to build the kernel"; \
1893 @echo ' modules - default target, build the module(s)'
1904 @echo >&2 '*** You cannot build or install external modules.'
1935 modules.order: $(build-dir)
1959 modpost: $(if $(single-build),, $(if $(KBUILD_BUILTIN), vmlinux.o)) \
1965 # To build individual files in subdirectories, you can do like this:
1971 # To build only under specific subdirectories, you can do like this:
1975 ifdef single-build
1984 $(single-no-ko): $(build-dir)
1997 single-goals := $(addprefix $(build-dir)/, $(single-no-ko))
2005 # Preset locale variables to speed up the build process. Limit locale
2009 PHONY += $(build-dir)
2010 $(build-dir): prepare
2011 $(Q)$(MAKE) $(build)=$@ need-builtin=1 need-modorder=1 $(single-goals)
2055 $(Q)$(MAKE) $(build)=$(objtree)/rust src=$(srctree)/rust $@
2057 $(Q)$(MAKE) $(build)=rust $@
2150 endif # config-build
2151 endif # mixed-build