When installing modules (when --enable-modules is specified for
./configure), Makefile uses the following construct to replace all
slashes with dashes in module name:

 ${s//\//-}

This is a bash-specific substitution mechanism.  POSIX does not
have it, and some operating systems (for example Debian) does not
implement this construct in default shell (for example dash).

Use more traditional way to perform the substitution: use `tr' tool.


Signed-off-By: Michael Tokarev <m...@tls.msk.ru>

diff --git a/Makefile b/Makefile
index ec74039..d622799 100644
--- a/Makefile
+++ b/Makefile
@@ -376,7 +376,7 @@ endif
 ifneq ($(CONFIG_MODULES),)
        $(INSTALL_DIR) "$(DESTDIR)$(qemu_moddir)"
        for s in $(patsubst %.mo,%$(DSOSUF),$(modules-m)); do \
-               $(INSTALL_PROG) $(STRIP_OPT) $$s 
"$(DESTDIR)$(qemu_moddir)/$${s//\//-}"; \
+               $(INSTALL_PROG) $(STRIP_OPT) $$s 
"$(DESTDIR)$(qemu_moddir)/$$(echo $$s | tr / -)"; \
        done
 endif
 ifneq ($(HELPERS-y),)

Reply via email to