Lines Matching full:make
9 # To see a list of typical targets execute "make help"
15 $(error GNU Make >= 4.0 is required. Your Make version is $(MAKE_VERSION))
32 # turn into vmlinux), we will call a sub make in that other dir, and
47 # Do not use make's built-in rules and variables
74 # $(Q)$(MAKE) $(build)=scripts/basic
80 # Use 'make V=1' to see the full commands
94 # If the user is running make -s (silent mode), suppress echoing of
106 # Use 'make C=1' to enable checking of only re-compiled files.
107 # Use 'make C=2' to enable checking of *all* source files, regardless
124 # Use 'make CLIPPY=1' to enable it.
131 # Use make M=dir or set the environment variable KBUILD_EXTMOD to specify the
165 # cd /dir/to/store/output/files; make -f /dir/to/kernel/source/Makefile
171 # Use "make O=dir/to/store/output/files/"
175 # export KBUILD_OUTPUT=dir/to/store/output/files/; make
191 # If Make is invoked from the kernel directory (either kernel
197 # Make changes the working directory.
229 need-sub-make := 1
234 # You may end up recursing into __sub-make twice. This is needed due to the
235 # behavior change in GNU Make 4.4.1.
236 need-sub-make := 1
239 ifeq ($(need-sub-make),1)
241 PHONY += $(MAKECMDGOALS) __sub-make
243 $(filter-out $(this-makefile), $(MAKECMDGOALS)) __all: __sub-make
246 # Invoke a second make in the output directory, passing relevant variables
247 __sub-make:
248 $(Q)$(MAKE) $(no-print-directory) -C $(abs_output) \
251 else # need-sub-make
253 # We process the rest of the Makefile if this is the final invocation of make
283 # To make sure we do not include .config for any of the *config targets
285 # It is allowed to specify more targets when calling make, including
287 # For example 'make oldconfig all'.
288 # Detect when mixed targets is specified, and make a second invocation
289 # of make so .config is not included in this case either (for *config).
347 # For "make -j clean all", "make -j mrproper defconfig all", etc.
374 $(MAKE) -f $(srctree)/Makefile $$i; \
393 # ARCH can be set during invocation of make:
394 # make ARCH=arm64
396 # The default ARCH is the host where make is executed.
402 # make CROSS_COMPILE=aarch64-linux-gnu-
524 # Make variables (CC, etc...)
650 export PERL PYTHON3 CHECK CHECKFLAGS MAKE UTS_MACHINE HOSTCXX
676 $(Q)$(MAKE) $(build)=scripts/basic
680 # Before starting out-of-tree build, make sure the source tree is clean.
682 # separate output directory. This allows convenient use of make in the
713 …echo >&2 "*** The source tree is not clean, please run 'make$(if $(findstring command line, $(orig…
722 echo >&2 "*** Please run 'make -C $(abs_srctree) M=$(realpath $(srcroot)) clean'"; \
753 # *config targets only - make sure prerequisites are updated, and descend
754 # in scripts/kconfig to make the *config target
758 # used for 'make defconfig'
763 $(Q)$(MAKE) $(build)=scripts/kconfig $@
766 $(Q)$(MAKE) $(build)=scripts/kconfig $@
790 # If we have only "make modules", don't compile built-in objects.
795 # If we have "make <whatever> modules", compile modules
797 # Just "make" or "make all" shall build modules as well
834 # This allow a user to issue only 'make' to build a kernel including modules
847 # make UT=1
880 # Read in dependencies to all Kconfig* files, make sure to run syncconfig if
889 @echo >&2 '*** Please run some configurator (e.g. "make oldconfig" or'
890 @echo >&2 '*** "make menuconfig" or "make xconfig").'
899 # The syncconfig should be executed only once to make all the targets.
900 # (Note: use the grouped target '&:' when we bump to GNU Make 4.3)
906 $(Q)$(MAKE) -f $(srctree)/Makefile syncconfig
922 @echo >&2 '*** Run "make oldconfig && make prepare" on kernel source to fix it.'
954 # Disable optimizations that make assembler listings hard to read.
1157 # Make sure -fstack-check isn't enabled (like gentoo apparently did)
1277 # make the checker run with the right architecture
1316 # makefile but the argument can be passed to make if needed.
1350 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.vmlinux_a
1357 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.vmlinux_o
1371 # For Make > 4.4, the following simple code will work:
1376 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.vmlinux
1379 # make sure no implicit rule kicks in
1397 $(Q)$(MAKE) $(build)=$(@)
1413 $(Q)$(MAKE) $(build)=scripts/mod
1414 $(Q)$(MAKE) $(build)=. prepare
1420 $(Q)$(MAKE) $(build)=rust
1432 $(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/asm \
1435 $(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/uapi/asm \
1510 $(Q)$(MAKE) -f $(srctree)/Makefile HEADER_ARCH= SRCARCH=$(HEADER_ARCH) headers
1512 $(Q)$(MAKE) $(hdr-inst)=include/uapi
1513 $(Q)$(MAKE) $(hdr-inst)=arch/$(SRCARCH)/include/uapi
1522 $(Q)$(MAKE) $(build)=usr usr/gen_init_cpio
1526 $(Q)$(MAKE) $(build)=scripts scripts/unifdef
1530 $(Q)$(MAKE) $(build)=scripts scripts/gen_packed_field_checks
1536 # If DKMS is installed, 'make install' will eventually recurse back
1549 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.vdsoinst
1578 $(Q)$(MAKE) -sC $(srctree)/tools/bpf/resolve_btfids O=$(resolve_btfids_O) clean
1587 …$(Q)$(MAKE) -sC $(abs_srctree)/tools/objtool O=$(objtool_O) srctree=$(abs_srctree) $(patsubst objt…
1592 $(Q)$(MAKE) O=$(abspath $(objtree)) subdir=tools -C $(srctree)/tools/
1596 $(Q)$(MAKE) O=$(abspath $(objtree)) subdir=tools -C $(srctree)/tools/ $*
1603 $(Q)unset sub_make_done; $(MAKE) -C $(srctree)/tools/testing/selftests run_tests
1606 $(Q)unset sub_make_done; $(MAKE) -C $(srctree)/tools/testing/selftests $*
1613 $(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig
1625 $(Q)$(MAKE) $(build)=$(dtbindingtree) \
1631 $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
1634 $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
1638 $(Q)$(MAKE) $(build)=$(dtstree) need-dtbslist=1
1641 # INSTALL_DTBS_PATH contains $(KERNELRELEASE). However, we do not want to make
1656 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.dtbinst obj=$(dtstree)
1670 $(Q)$(MAKE) $(build)=scripts/dtc
1678 $(Q)$(MAKE) $(build)=$(dtbindingtree) $@
1681 $(Q)$(MAKE) $(build)=$(dtbindingtree)
1685 $(Q)$(MAKE) $(build)=$(dtbindingtree) $@
1702 # make sure the checksums are up to date before we record them.
1721 $(Q)$(MAKE) $(build)=scripts scripts/module.lds
1727 # make clean Delete most generated files
1729 # make mrproper Delete the current configuration, and all generated files
1730 # make distclean Remove editor backup files, patch leftover files and the like
1732 # Directories & files removed with 'make clean'
1741 # Directories & files removed with 'make mrproper'
1763 $(Q)$(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) clean)
1774 $(Q)$(MAKE) $(clean)=$(patsubst _mrproper_%,%,$@)
1801 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.package $@
1803 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.package $@
1821 @$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help
1840 @echo ' kernelrelease - Output the release version string (use with make -s)'
1841 @echo ' kernelversion - Output the version stored in Makefile (use with make -s)'
1842 @echo ' image_name - Output the image name (use with make -s)'
1902 @echo ' use "make tools/help"'
1903 @echo ' or "cd tools; make help"'
1906 @$(MAKE) -f $(srctree)/scripts/Makefile.package help
1909 @$(MAKE) -f $(srctree)/Documentation/Makefile dochelp
1925 @echo ' make V=n [targets] 1: verbose build'
1928 @echo ' make O=dir [targets] Locate all output files in "dir", including .config'
1929 @echo ' make C=1 [targets] Check re-compiled c source with $$CHECK'
1931 @echo ' make C=2 [targets] Force check of all c source with $$CHECK'
1932 @echo ' make RECORDMCOUNT_WARN=1 [targets] Warn about ignored mcount sections'
1933 @echo ' make W=n [targets] Enable extra build checks, n=1,2,3,c,e where'
1940 @echo ' make UT=1 [targets] Warn if a tracepoint is defined but not used.'
1943 echo ' make CHECK_DTBS=1 [targets] Check all generated dtb files against schema'; \
1947 @echo 'Execute "make" or "make all" to build all targets marked with [*] '
1973 $(Q)$(MAKE) $(build)=Documentation $@
1989 $(Q)$(MAKE) $(build)=rust $@
1994 $(Q)$(MAKE) $(build)=rust $@
2027 $(Q)$(MAKE) $(build)=scripts/gdb
2041 # read-only, and no consistency checks are made and the make
2043 # in the basis kernel ordinary make commands (without M=...) must be used.
2073 @echo ' Syntax: make -C path/to/kernel/src M=$$PWD target'
2099 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst \
2104 # 'make modules_install modules_sign' is equivalent to 'make modules_install'.
2124 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modfinal
2143 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
2149 # make foo/bar/baz.s
2155 # make foo/bar/baz/
2173 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
2175 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modfinal
2189 # make menuconfig etc.
2193 $(Q)$(MAKE) $(build)=$@ need-builtin=1 need-modorder=1 $(single-goals)
2198 $(Q)$(MAKE) $(clean)=$(patsubst _clean_%,%,$@)
2238 $(Q)$(MAKE) $(build)=$(objtree)/rust src=$(srctree)/rust $@
2240 $(Q)$(MAKE) $(build)=rust $@
2361 endif # need-sub-make