- 125 PHONY := _all
- 126 _all:
- ......
- 192 PHONY += all
- 193 ifeq ($(KBUILD_EXTMOD),)
- 194 _all: all
- 195 else
- 196 _all: modules
- 197 endif
- ......
- 608 all: vmlinux
- 905 export KBUILD_VMLINUX_INIT := $(head-y) $(init-y)
- 906 export KBUILD_VMLINUX_MAIN := $(core-y) $(libs-y) $(drivers-y)
- $(net-y)
- 907 export KBUILD_LDS := arch/$(SRCARCH)/kernel/vmlinux.lds
- 908 export LDFLAGS_vmlinux
- 909 # used by scripts/pacmage/Makefile
- 910 export KBUILD_ALLDIRS := $(sort $(filter-out arch/%,$(vmlinuxalldirs)) arch Documentation include samples scripts tools virt)
- 911
- 912 vmlinux-deps := $(KBUILD_LDS) $(KBUILD_VMLINUX_INIT) $(KBUILD_VMLINUX_MAIN)
- 913
- 914 # Final link of vmlinux
- 915 cmd_link-vmlinux = $(CONFIG_SHELL) $< $(LD) $(LDFLAGS)
- $(LDFLAGS_vmlinux)
- 916 quiet_cmd_link-vmlinux = LINK $@
- 917
- 918 # Include targets which we want to
- 919 # execute if the rest of the kernel build went well.
- 920 vmlinux: scripts/link-vmlinux.sh $(vmlinux-deps) FORCE
- 921 ifdef CONFIG_HEADERS_CHECK
- 922 $(Q)$(MAKE) -f $(srctree)/Makefile headers_check
- 923 endif
- 924 ifdef CONFIG_SAMPLES
- 925 $(Q)$(MAKE) $(build)=samples
- 926 endif
- 927 ifdef CONFIG_BUILD_DOCSRC
- 928 $(Q)$(MAKE) $(build)=Documentation
- 929 endif
- 930 ifdef CONFIG_GDB_SCRIPTS
- 931 $(Q)ln -fsn `cd $(srctree) && /bin/pwd`/scripts/gdb/vmlinuxgdb.py
- 932 endif
- 933 +$(call if_changed,link-vmlinux)
上面的代码可以看出:
vmlinux-deps= $(KBUILD_LDS) $(KBUILD_VMLINUX_INIT) $(KBUILD_VMLINUX_MAIN)