This rule has three dependencies: scripts_basic, outputmakefile, and force. Let's take a look at these three dependencies:
1. Force
First, analyze the dependency, and its rule definition is in row 1485:
Phony + = force
Force:
This rule does not have commands or dependencies, and its target is not an existing file name. When executing this rule, the target force will always be regarded as the latest. In this way, when it is dependent on other rules, because the dependency is always considered to have been updated, the commands defined in the rule will always be executed.
2. scripts_basic
The rule for this dependency is defined in row 347:
The first rule executed in the scripts/makefile. Build File,
The dependencies in the rule are represented by several variables $ (builtin-target) $ (Lib-target) $ (extra-y) $ (subdir-ym) $ (always. The rule command is a colon command ":", and the colon (:) command is a built-in bash command, which is usually considered as a true command. Bash help explanation (help :): no effect; the command does nothing. A zero exit code is returned. (no effect, this command is a null operation, and the exit status is always 0 ).
_ Build: $ (builtin-target) $ (Lib-target) $ (extra-y) $ (subdir-ym) $ (always)
@:
Build some dependency targets. Here we mainly build the targets specified by the $ (always) variable. Other variables are not defined in scripts/basic/makefile.
3. outputmakefile
Go back to the top-level makefile and check the rules.
The command for this rule runs a shell script scripts/mkmakefile and passes four parameters. This script generates a MAKEFILE file in the directory specified by the $ (objtree) parameter. Because kbuild_src is empty, this script will not be executed.
This command still runs the makefile scripts/makefile. Build File. And execute the menuconfig rules in it. According to the above analysis, the makefile. Build will contain the scripts/kconfig/MAKEFILE file. Then execute the rule with menuconfig as the target and define it in line 13 of scripts/kconfig/makefile.
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.