diff options
| author | Sam Ravnborg <sam@mars.ravnborg.org> | 2006-06-24 16:50:18 -0400 |
|---|---|---|
| committer | Sam Ravnborg <sam@mars.ravnborg.org> | 2006-06-24 17:13:59 -0400 |
| commit | e5c44fd88c146755da6941d047de4d97651404a9 (patch) | |
| tree | e97c72787b08f9576eb14242483b09ce8850934e /scripts | |
| parent | 216b2f1f718d653795024a085636d063693dd9a9 (diff) | |
kbuild: fix make -rR breakage
make failed to supply the filename when using make -rR and using $(*F)
to get target filename without extension.
This bug was not reproduceable in small scale but using:
$(basename $(notdir $@)) fixes it with same functionality.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/Kbuild.include | 5 | ||||
| -rw-r--r-- | scripts/Makefile.build | 2 | ||||
| -rw-r--r-- | scripts/Makefile.host | 6 | ||||
| -rw-r--r-- | scripts/Makefile.lib | 6 | ||||
| -rw-r--r-- | scripts/Makefile.modpost | 2 |
5 files changed, 14 insertions, 7 deletions
diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include index b0d067be7390..ac5f275b0283 100644 --- a/scripts/Kbuild.include +++ b/scripts/Kbuild.include | |||
| @@ -13,6 +13,11 @@ space := $(empty) $(empty) | |||
| 13 | depfile = $(subst $(comma),_,$(@D)/.$(@F).d) | 13 | depfile = $(subst $(comma),_,$(@D)/.$(@F).d) |
| 14 | 14 | ||
| 15 | ### | 15 | ### |
| 16 | # basetarget equals the filename of the target with no extension. | ||
| 17 | # So 'foo/bar.o' becomes 'bar' | ||
| 18 | basetarget = $(basename $(notdir $@)) | ||
| 19 | |||
| 20 | ### | ||
| 16 | # Escape single quote for use in echo statements | 21 | # Escape single quote for use in echo statements |
| 17 | escsq = $(subst $(squote),'\$(squote)',$1) | 22 | escsq = $(subst $(squote),'\$(squote)',$1) |
| 18 | 23 | ||
diff --git a/scripts/Makefile.build b/scripts/Makefile.build index 53e53a2e80ae..e8e7d27cfc9a 100644 --- a/scripts/Makefile.build +++ b/scripts/Makefile.build | |||
| @@ -117,7 +117,7 @@ $(real-objs-m:.o=.lst): quiet_modtag := [M] | |||
| 117 | $(obj-m) : quiet_modtag := [M] | 117 | $(obj-m) : quiet_modtag := [M] |
| 118 | 118 | ||
| 119 | # Default for not multi-part modules | 119 | # Default for not multi-part modules |
| 120 | modname = $(*F) | 120 | modname = $(basetarget) |
| 121 | 121 | ||
| 122 | $(multi-objs-m) : modname = $(modname-multi) | 122 | $(multi-objs-m) : modname = $(modname-multi) |
| 123 | $(multi-objs-m:.o=.i) : modname = $(modname-multi) | 123 | $(multi-objs-m:.o=.i) : modname = $(modname-multi) |
diff --git a/scripts/Makefile.host b/scripts/Makefile.host index 2b066d12af2c..18ecd4d5df7f 100644 --- a/scripts/Makefile.host +++ b/scripts/Makefile.host | |||
| @@ -80,8 +80,10 @@ obj-dirs += $(host-objdirs) | |||
| 80 | ##### | 80 | ##### |
| 81 | # Handle options to gcc. Support building with separate output directory | 81 | # Handle options to gcc. Support building with separate output directory |
| 82 | 82 | ||
| 83 | _hostc_flags = $(HOSTCFLAGS) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS_$(*F).o) | 83 | _hostc_flags = $(HOSTCFLAGS) $(HOST_EXTRACFLAGS) \ |
| 84 | _hostcxx_flags = $(HOSTCXXFLAGS) $(HOST_EXTRACXXFLAGS) $(HOSTCXXFLAGS_$(*F).o) | 84 | $(HOSTCFLAGS_$(basetarget).o) |
| 85 | _hostcxx_flags = $(HOSTCXXFLAGS) $(HOST_EXTRACXXFLAGS) \ | ||
| 86 | $(HOSTCXXFLAGS_$(basetarget).o) | ||
| 85 | 87 | ||
| 86 | ifeq ($(KBUILD_SRC),) | 88 | ifeq ($(KBUILD_SRC),) |
| 87 | __hostc_flags = $(_hostc_flags) | 89 | __hostc_flags = $(_hostc_flags) |
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 2cb4935e85d1..fc498fee68ed 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib | |||
| @@ -82,12 +82,12 @@ obj-dirs := $(addprefix $(obj)/,$(obj-dirs)) | |||
| 82 | # than one module. In that case KBUILD_MODNAME will be set to foo_bar, | 82 | # than one module. In that case KBUILD_MODNAME will be set to foo_bar, |
| 83 | # where foo and bar are the name of the modules. | 83 | # where foo and bar are the name of the modules. |
| 84 | name-fix = $(subst $(comma),_,$(subst -,_,$1)) | 84 | name-fix = $(subst $(comma),_,$(subst -,_,$1)) |
| 85 | basename_flags = -D"KBUILD_BASENAME=KBUILD_STR($(call name-fix,$(*F)))" | 85 | basename_flags = -D"KBUILD_BASENAME=KBUILD_STR($(call name-fix,$(basetarget)))" |
| 86 | modname_flags = $(if $(filter 1,$(words $(modname))),\ | 86 | modname_flags = $(if $(filter 1,$(words $(modname))),\ |
| 87 | -D"KBUILD_MODNAME=KBUILD_STR($(call name-fix,$(modname)))") | 87 | -D"KBUILD_MODNAME=KBUILD_STR($(call name-fix,$(modname)))") |
| 88 | 88 | ||
| 89 | _c_flags = $(CFLAGS) $(EXTRA_CFLAGS) $(CFLAGS_$(*F).o) | 89 | _c_flags = $(CFLAGS) $(EXTRA_CFLAGS) $(CFLAGS_$(basetarget).o) |
| 90 | _a_flags = $(AFLAGS) $(EXTRA_AFLAGS) $(AFLAGS_$(*F).o) | 90 | _a_flags = $(AFLAGS) $(EXTRA_AFLAGS) $(AFLAGS_$(basetarget).o) |
| 91 | _cpp_flags = $(CPPFLAGS) $(EXTRA_CPPFLAGS) $(CPPFLAGS_$(@F)) | 91 | _cpp_flags = $(CPPFLAGS) $(EXTRA_CPPFLAGS) $(CPPFLAGS_$(@F)) |
| 92 | 92 | ||
| 93 | # If building the kernel in a separate objtree expand all occurrences | 93 | # If building the kernel in a separate objtree expand all occurrences |
diff --git a/scripts/Makefile.modpost b/scripts/Makefile.modpost index 576cce5e387f..e83613e0e827 100644 --- a/scripts/Makefile.modpost +++ b/scripts/Makefile.modpost | |||
| @@ -72,7 +72,7 @@ $(modules:.ko=.mod.c): __modpost ; | |||
| 72 | # Step 5), compile all *.mod.c files | 72 | # Step 5), compile all *.mod.c files |
| 73 | 73 | ||
| 74 | # modname is set to make c_flags define KBUILD_MODNAME | 74 | # modname is set to make c_flags define KBUILD_MODNAME |
| 75 | modname = $(*F) | 75 | modname = $(basetarget) |
| 76 | 76 | ||
| 77 | quiet_cmd_cc_o_c = CC $@ | 77 | quiet_cmd_cc_o_c = CC $@ |
| 78 | cmd_cc_o_c = $(CC) $(c_flags) $(CFLAGS_MODULE) \ | 78 | cmd_cc_o_c = $(CC) $(c_flags) $(CFLAGS_MODULE) \ |
