diff options
author | Sam Ravnborg <sam@neptun.ravnborg.org> | 2006-10-01 05:35:24 -0400 |
---|---|---|
committer | Sam Ravnborg <sam@neptun.ravnborg.org> | 2006-10-01 05:35:24 -0400 |
commit | ea837f1c050344c3f884531a195c6e339b1a54e8 (patch) | |
tree | 269e1188358452e7f4fda5052ab6363d7e5b5b87 /scripts/Makefile.modpost | |
parent | e94c5bde703f2f9f86d098b6bf8275c64fab10eb (diff) |
kbuild: make modpost processing configurable
On request from Al Viro make modpost processing configurable.
KBUILD_MODPOST_WARN can be set to make modpost warn instead of
error out in case on unresolved symbols in final module link.
KBUILD_MODPOST_NOFINAL can be set to avoid the final and timeconsuming
.c file generation and link of .ko files. This is solely useful for
speeding up when doing compile checks with for example allmodconfig
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'scripts/Makefile.modpost')
-rw-r--r-- | scripts/Makefile.modpost | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/scripts/Makefile.modpost b/scripts/Makefile.modpost index 4b2721ca97da..6c5469b1473b 100644 --- a/scripts/Makefile.modpost +++ b/scripts/Makefile.modpost | |||
@@ -32,6 +32,10 @@ | |||
32 | # Step 4 is solely used to allow module versioning in external modules, | 32 | # Step 4 is solely used to allow module versioning in external modules, |
33 | # where the CRC of each module is retrieved from the Module.symers file. | 33 | # where the CRC of each module is retrieved from the Module.symers file. |
34 | 34 | ||
35 | # KBUILD_MODPOST_WARN can be set to avoid error out in case of undefined | ||
36 | # symbols in the final module linking stage | ||
37 | # KBUILD_MODPOST_NOFINAL can be set to skip the final link of modules. | ||
38 | # This is solely usefull to speed up test compiles | ||
35 | PHONY := _modpost | 39 | PHONY := _modpost |
36 | _modpost: __modpost | 40 | _modpost: __modpost |
37 | 41 | ||
@@ -46,7 +50,8 @@ modulesymfile := $(KBUILD_EXTMOD)/Module.symvers | |||
46 | __modules := $(sort $(shell grep -h '\.ko' /dev/null $(wildcard $(MODVERDIR)/*.mod))) | 50 | __modules := $(sort $(shell grep -h '\.ko' /dev/null $(wildcard $(MODVERDIR)/*.mod))) |
47 | modules := $(patsubst %.o,%.ko, $(wildcard $(__modules:.ko=.o))) | 51 | modules := $(patsubst %.o,%.ko, $(wildcard $(__modules:.ko=.o))) |
48 | 52 | ||
49 | _modpost: $(modules) | 53 | # Stop after building .o files if NOFINAL is set. Makes compile tests quicker |
54 | _modpost: $(if $(KBUILD_MODPOST_NOFINAL), $(modules:.ko:.o),$(modules)) | ||
50 | 55 | ||
51 | 56 | ||
52 | # Step 2), invoke modpost | 57 | # Step 2), invoke modpost |
@@ -58,7 +63,7 @@ quiet_cmd_modpost = MODPOST $(words $(filter-out vmlinux FORCE, $^)) modules | |||
58 | $(if $(KBUILD_EXTMOD),-i,-o) $(kernelsymfile) \ | 63 | $(if $(KBUILD_EXTMOD),-i,-o) $(kernelsymfile) \ |
59 | $(if $(KBUILD_EXTMOD),-I $(modulesymfile)) \ | 64 | $(if $(KBUILD_EXTMOD),-I $(modulesymfile)) \ |
60 | $(if $(KBUILD_EXTMOD),-o $(modulesymfile)) \ | 65 | $(if $(KBUILD_EXTMOD),-o $(modulesymfile)) \ |
61 | $(if $(KBUILD_EXTMOD),-w) \ | 66 | $(if $(KBUILD_EXTMOD)$(KBUILD_MODPOST_WARN),-w) \ |
62 | $(wildcard vmlinux) $(filter-out FORCE,$^) | 67 | $(wildcard vmlinux) $(filter-out FORCE,$^) |
63 | 68 | ||
64 | PHONY += __modpost | 69 | PHONY += __modpost |
@@ -92,7 +97,7 @@ targets += $(modules:.ko=.mod.o) | |||
92 | 97 | ||
93 | # Step 6), final link of the modules | 98 | # Step 6), final link of the modules |
94 | quiet_cmd_ld_ko_o = LD [M] $@ | 99 | quiet_cmd_ld_ko_o = LD [M] $@ |
95 | cmd_ld_ko_o = $(LD) $(LDFLAGS) $(LDFLAGS_MODULE) -o $@ \ | 100 | cmd_ld_ko_o = $(LD) $(LDFLAGS) $(LDFLAGS_MODULE) -o $@ \ |
96 | $(filter-out FORCE,$^) | 101 | $(filter-out FORCE,$^) |
97 | 102 | ||
98 | $(modules): %.ko :%.o %.mod.o FORCE | 103 | $(modules): %.ko :%.o %.mod.o FORCE |