### file path
https://www.kernel.org/doc/Documentation/kbuild/makefiles.txt
### content
This document describes the Linux kernel Makefiles.
Table of Contents
1 Overview
2 Who does what
3 The kbuild files
3.1 Goal definitions
3.2 Built-in object goals - obj-y
3.3 Loadable module goals - obj-m
3.4 Objects which export symbols
3.5 Library file goals - lib-y
3.6 Descending down in directories
3.7 Compilation flags
3.8 Command line dependency
3.9 Dependency tracking
3.10 Special Rules
3.11 $(CC) support functions
3.12 $(LD) support functions
4 Host Program support
4.1 Simple Host Program
4.2 Composite Host Programs
4.3 Using C++ for host programs
4.4 Controlling compiler options for host programs
4.5 When host programs are actually built
4.6 Using hostprogs-$(CONFIG_FOO)
5 Kbuild clean infrastructure
6 Architecture Makefiles
6.1 Set variables to tweak the build to the architecture
6.2 Add prerequisites to archheaders:
6.3 Add prerequisites to archprepare:
6.4 List directories to visit when descending
6.5 Architecture-specific boot images
6.6 Building non-kbuild targets
6.7 Commands useful for building a boot image
6.8 Custom kbuild commands
6.9 Preprocessing linker scripts
6.10 Generic header files
7 Kbuild syntax for exported headers
7.1 header-y
7.2 genhdr-y
7.3 destination-y
7.4 generic-y
8 Kbuild Variables
9 Makefile language
10 Credits
11 TODO