forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
To make it easier for module-init-tools and scripts like mkinitrd to distinguish builtin and missing modules, install a modules.builtin file listing all builtin modules. This is done by generating an additional config file (tristate.conf) with tristate options set to uppercase 'Y' or 'M'. If we source that config file, the builtin modules appear in obj-Y. Signed-off-by: Michal Marek <[email protected]>
- Loading branch information
Showing
7 changed files
with
112 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -22,6 +22,7 @@ | |
*.lst | ||
*.symtypes | ||
*.order | ||
modules.builtin | ||
*.elf | ||
*.bin | ||
*.gz | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
# ========================================================================== | ||
# Generating modules.builtin | ||
# ========================================================================== | ||
|
||
src := $(obj) | ||
|
||
PHONY := __modbuiltin | ||
__modbuiltin: | ||
|
||
-include include/config/auto.conf | ||
# tristate.conf sets tristate variables to uppercase 'Y' or 'M' | ||
# That way, we get the list of built-in modules in obj-Y | ||
-include include/config/tristate.conf | ||
|
||
include scripts/Kbuild.include | ||
|
||
# The filename Kbuild has precedence over Makefile | ||
kbuild-dir := $(if $(filter /%,$(src)),$(src),$(srctree)/$(src)) | ||
kbuild-file := $(if $(wildcard $(kbuild-dir)/Kbuild),$(kbuild-dir)/Kbuild,$(kbuild-dir)/Makefile) | ||
include $(kbuild-file) | ||
|
||
include scripts/Makefile.lib | ||
__subdir-Y := $(patsubst %/,%,$(filter %/, $(obj-Y))) | ||
subdir-Y += $(__subdir-Y) | ||
subdir-ym := $(sort $(subdir-y) $(subdir-Y) $(subdir-m)) | ||
subdir-ym := $(addprefix $(obj)/,$(subdir-ym)) | ||
obj-Y := $(addprefix $(obj)/,$(obj-Y)) | ||
|
||
modbuiltin-subdirs := $(patsubst %,%/modules.builtin, $(subdir-ym)) | ||
modbuiltin-mods := $(filter %.ko, $(obj-Y:.o=.ko)) | ||
modbuiltin-target := $(obj)/modules.builtin | ||
|
||
__modbuiltin: $(modbuiltin-target) $(subdir-ym) | ||
@: | ||
|
||
$(modbuiltin-target): $(subdir-ym) FORCE | ||
$(Q)(for m in $(modbuiltin-mods); do echo kernel/$$m; done; \ | ||
cat /dev/null $(modbuiltin-subdirs)) > $@ | ||
|
||
PHONY += FORCE | ||
|
||
FORCE: | ||
|
||
# Descending | ||
# --------------------------------------------------------------------------- | ||
|
||
PHONY += $(subdir-ym) | ||
$(subdir-ym): | ||
$(Q)$(MAKE) $(modbuiltin)=$@ | ||
|
||
|
||
# Declare the contents of the .PHONY variable as phony. We keep that | ||
# information in a variable se we can use it in if_changed and friends. | ||
|
||
.PHONY: $(PHONY) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters