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, $(origin ARCH)), ARCH=$(ARCH)) mrproper'"; \
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.
1168 # Make sure -fstack-check isn't enabled (like gentoo apparently did)
1288 # make the checker run with the right architecture
1327 # makefile but the argument can be passed to make if needed.
1361 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.vmlinux_a
1368 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.vmlinux_o
1382 # For Make > 4.4, the following simple code will work:
1387 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.vmlinux
1390 # make sure no implicit rule kicks in
1408 $(Q)$(MAKE) $(build)=$(@)
1424 $(Q)$(MAKE) $(build)=scripts/mod
1425 $(Q)$(MAKE) $(build)=. prepare
1431 $(Q)$(MAKE) $(build)=rust
1443 $(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/asm \
1446 $(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/uapi/asm \
1521 $(Q)$(MAKE) -f $(srctree)/Makefile HEADER_ARCH= SRCARCH=$(HEADER_ARCH) headers
1523 $(Q)$(MAKE) $(hdr-inst)=include/uapi
1524 $(Q)$(MAKE) $(hdr-inst)=arch/$(SRCARCH)/include/uapi
1533 $(Q)$(MAKE) $(build)=usr usr/gen_init_cpio
1537 $(Q)$(MAKE) $(build)=scripts scripts/unifdef
1541 $(Q)$(MAKE) $(build)=scripts scripts/gen_packed_field_checks
1547 # If DKMS is installed, 'make install' will eventually recurse back
1560 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.vdsoinst
1588 $(Q)$(MAKE) O=$(abspath $(objtree)) subdir=tools -C $(srctree)/tools/ \
1605 $(Q)$(MAKE) -sC $(srctree)/tools/bpf/resolve_btfids O=$(resolve_btfids_O) clean
1614 $(Q)$(MAKE) -sC $(abs_srctree)/tools/objtool O=$(objtool_O) srctree=$(abs_srctree) $(patsubst objtool_%,%,$@)
1623 $(Q)$(MAKE) -sC $(srctree)/tools/bootconfig O=$(bootconfig_O) clean
1628 $(Q)$(MAKE) O=$(abspath $(objtree)) subdir=tools -C $(srctree)/tools/
1632 $(Q)$(MAKE) O=$(abspath $(objtree)) subdir=tools -C $(srctree)/tools/ $*
1639 $(Q)unset sub_make_done; $(MAKE) -C $(srctree)/tools/testing/selftests run_tests
1642 $(Q)unset sub_make_done; $(MAKE) -C $(srctree)/tools/testing/selftests $*
1649 $(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig
1661 $(Q)$(MAKE) $(build)=$(dtbindingtree) \
1667 $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
1670 $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
1674 $(Q)$(MAKE) $(build)=$(dtstree) need-dtbslist=1
1677 # INSTALL_DTBS_PATH contains $(KERNELRELEASE). However, we do not want to make
1692 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.dtbinst obj=$(dtstree)
1706 $(Q)$(MAKE) $(build)=scripts/dtc
1714 $(Q)$(MAKE) $(build)=$(dtbindingtree) $@
1717 $(Q)$(MAKE) $(build)=$(dtbindingtree)
1721 $(Q)$(MAKE) $(build)=$(dtbindingtree) $@
1738 # make sure the checksums are up to date before we record them.
1757 $(Q)$(MAKE) $(build)=scripts scripts/module.lds
1763 # make clean Delete most generated files
1765 # make mrproper Delete the current configuration, and all generated files
1766 # make distclean Remove editor backup files, patch leftover files and the like
1768 # Directories & files removed with 'make clean'
1777 # Directories & files removed with 'make mrproper'
1799 $(Q)$(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) clean)
1810 $(Q)$(MAKE) $(clean)=$(patsubst _mrproper_%,%,$@)
1837 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.package $@
1839 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.package $@
1857 @$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help
1876 @echo ' kernelrelease - Output the release version string (use with make -s)'
1877 @echo ' kernelversion - Output the version stored in Makefile (use with make -s)'
1878 @echo ' image_name - Output the image name (use with make -s)'
1938 @echo ' use "make tools/help"'
1939 @echo ' or "cd tools; make help"'
1942 @$(MAKE) -f $(srctree)/scripts/Makefile.package help
1945 @$(MAKE) -f $(srctree)/Documentation/Makefile dochelp
1961 @echo ' make V=n [targets] 1: verbose build'
1964 @echo ' make O=dir [targets] Locate all output files in "dir", including .config'
1965 @echo ' make C=1 [targets] Check re-compiled c source with $$CHECK'
1967 @echo ' make C=2 [targets] Force check of all c source with $$CHECK'
1968 @echo ' make RECORDMCOUNT_WARN=1 [targets] Warn about ignored mcount sections'
1969 @echo ' make W=n [targets] Enable extra build checks, n=1,2,3,c,e where'
1976 @echo ' make UT=1 [targets] Warn if a tracepoint is defined but not used.'
1979 echo ' make CHECK_DTBS=1 [targets] Check all generated dtb files against schema'; \
1983 @echo 'Execute "make" or "make all" to build all targets marked with [*] '
2009 $(Q)$(MAKE) $(build)=Documentation $@
2025 $(Q)$(MAKE) $(build)=rust $@
2030 $(Q)$(MAKE) $(build)=rust $@
2063 $(Q)$(MAKE) $(build)=scripts/gdb
2077 # read-only, and no consistency checks are made and the make
2079 # in the basis kernel ordinary make commands (without M=...) must be used.
2109 @echo ' Syntax: make -C path/to/kernel/src M=$$PWD target'
2135 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst \
2140 # 'make modules_install modules_sign' is equivalent to 'make modules_install'.
2160 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modfinal
2179 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
2185 # make foo/bar/baz.s
2191 # make foo/bar/baz/
2209 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
2211 $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modfinal
2225 # make menuconfig etc.
2229 $(Q)$(MAKE) $(build)=$@ need-builtin=1 need-modorder=1 $(single-goals)
2234 $(Q)$(MAKE) $(clean)=$(patsubst _clean_%,%,$@)
2274 $(Q)$(MAKE) $(build)=$(objtree)/rust src=$(srctree)/rust $@
2276 $(Q)$(MAKE) $(build)=rust $@
2397 endif # need-sub-make