The compiler can accept -DKBUILD_MODNAME="foo", it's just a matter of quoting. That way, we reduce the gcc command line a bit.
Unified · Split
| @@ -96,10 +96,10 @@ obj-dirs := $(addprefix $(obj)/,$(obj-dirs)) · 95 unmodified lines | ||
| 96 | 96 | # Note: Files that end up in two or more modules are compiled without the |
| 97 | 97 | # KBUILD_MODNAME definition. The reason is that any made-up name would |
| 98 | 98 | # differ in different configs. |
| 99 | −name-fix = $(subst $(comma),_,$(subst -,_,$1)) | |
| 100 | −basename_flags = -D"KBUILD_BASENAME=KBUILD_STR($(call name-fix,$(basetarget)))" | |
| 99 | +name-fix = $(squote)$(quote)$(subst $(comma),_,$(subst -,_,$1))$(quote)$(squote) | |
| 100 | +basename_flags = -DKBUILD_BASENAME=$(call name-fix,$(basetarget)) | |
| 101 | 101 | modname_flags = $(if $(filter 1,$(words $(modname))),\ |
| 102 | − -D"KBUILD_MODNAME=KBUILD_STR($(call name-fix,$(modname)))") | |
| 102 | + -DKBUILD_MODNAME=$(call name-fix,$(modname))) | |
| 103 | 103 | |
| 104 | 104 | orig_c_flags = $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) $(KBUILD_SUBDIR_CCFLAGS) \ |
| 105 | 105 | $(ccflags-y) $(CFLAGS_$(basetarget).o) |
| @@ -162,7 +162,7 @@ endif · 56 unmodified lines | ||
| 162 | 162 | |
| 163 | 163 | c_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \ |
| 164 | 164 | $(__c_flags) $(modkern_cflags) \ |
| 165 | − -D"KBUILD_STR(s)=\#s" $(basename_flags) $(modname_flags) | |
| 165 | + $(basename_flags) $(modname_flags) | |
| 166 | 166 | |
| 167 | 167 | a_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \ |
| 168 | 168 | $(__a_flags) $(modkern_aflags) |