diff options
-rwxr-xr-x | ext/extmk.rb | 6 | ||||
-rw-r--r-- | template/exts.mk.tmpl | 8 |
2 files changed, 8 insertions, 6 deletions
diff --git a/ext/extmk.rb b/ext/extmk.rb index 8b6b365a99..30ae56e095 100755 --- a/ext/extmk.rb +++ b/ext/extmk.rb @@ -817,9 +817,9 @@ begin if $gnumake == "yes" submake = "$(MAKE) -C $(@D)" else - submake = "cd $(@D) && " - config_string("exec") {|str| submake << str << " "} - submake << "$(MAKE)" + submake = ["cd", (sep ? "$(@D:/=#{sep})" : "$(@D)"), "&&"] + config_string("exec") {|str| submake << str} + submake = (submake << "$(MAKE)").join(" ") end targets.each do |tgt| exts.each do |d| diff --git a/template/exts.mk.tmpl b/template/exts.mk.tmpl index 0abbca1f06..e482808f54 100644 --- a/template/exts.mk.tmpl +++ b/template/exts.mk.tmpl @@ -110,12 +110,14 @@ def self.column w end objext = RbConfig::CONFIG["OBJEXT"] +sep = RbConfig::CONFIG['BUILD_FILE_SEPARATOR'] +sep = nil if sep and sep.empty? if gnumake submake = "$(MAKE) -C $(@D)" else - submake = "cd $(@D) && " - exec = RbConfig::CONFIG["exec"] and !exec.empty? and submake << exec << " " - submake << "$(MAKE)" + submake = ["cd", (sep ? "$(@D:/=#{sep})" : "$(@D)"), "&&"] + exec = RbConfig::CONFIG["exec"] and !exec.empty? and submake << exec + submake = (submake << "$(MAKE)").join(" ") mflags = " $(MFLAGS)" end -%> |