at v2.6.34 1.7 kB view raw
1# ========================================================================== 2# Generating modules.builtin 3# ========================================================================== 4 5src := $(obj) 6 7PHONY := __modbuiltin 8__modbuiltin: 9 10-include include/config/auto.conf 11# tristate.conf sets tristate variables to uppercase 'Y' or 'M' 12# That way, we get the list of built-in modules in obj-Y 13-include include/config/tristate.conf 14 15include scripts/Kbuild.include 16 17# The filename Kbuild has precedence over Makefile 18kbuild-dir := $(if $(filter /%,$(src)),$(src),$(srctree)/$(src)) 19kbuild-file := $(if $(wildcard $(kbuild-dir)/Kbuild),$(kbuild-dir)/Kbuild,$(kbuild-dir)/Makefile) 20include $(kbuild-file) 21 22include scripts/Makefile.lib 23__subdir-Y := $(patsubst %/,%,$(filter %/, $(obj-Y))) 24subdir-Y += $(__subdir-Y) 25subdir-ym := $(sort $(subdir-y) $(subdir-Y) $(subdir-m)) 26subdir-ym := $(addprefix $(obj)/,$(subdir-ym)) 27obj-Y := $(addprefix $(obj)/,$(obj-Y)) 28 29modbuiltin-subdirs := $(patsubst %,%/modules.builtin, $(subdir-ym)) 30modbuiltin-mods := $(filter %.ko, $(obj-Y:.o=.ko)) 31modbuiltin-target := $(obj)/modules.builtin 32 33__modbuiltin: $(modbuiltin-target) $(subdir-ym) 34 @: 35 36$(modbuiltin-target): $(subdir-ym) FORCE 37 $(Q)(for m in $(modbuiltin-mods); do echo kernel/$$m; done; \ 38 cat /dev/null $(modbuiltin-subdirs)) > $@ 39 40PHONY += FORCE 41 42FORCE: 43 44# Descending 45# --------------------------------------------------------------------------- 46 47PHONY += $(subdir-ym) 48$(subdir-ym): 49 $(Q)$(MAKE) $(modbuiltin)=$@ 50 51 52# Declare the contents of the .PHONY variable as phony. We keep that 53# information in a variable se we can use it in if_changed and friends. 54 55.PHONY: $(PHONY)