diff --git a/emacsd-rules.mk b/emacsd-rules.mk index 0f72bd3..eb774d7 100644 --- a/emacsd-rules.mk +++ b/emacsd-rules.mk @@ -2,10 +2,10 @@ # general emacs lisp pattern rules # ######################################################################### %/elisp-all: - "$(MAKE)" -C $* $(@F) + "$(call fixpath-shell,$(MAKE))" -C $* $(@F) %.elc : %.el - "$(EMACS)"\ + "$(call fixpath-shell,$(EMACS))"\ --eval '(setq vc-handled-backends nil)' -batch -q -no-site-file\ $(addprefix -L ,$(LOAD_PATH)) $(EMACSFLAGS)\ -f batch-byte-compile $(call emacspath,$?) diff --git a/util.mk b/util.mk index e6081ae..3f0a71a 100644 --- a/util.mk +++ b/util.mk @@ -85,6 +85,7 @@ ifneq (,$(or $(ComSpec),$(COMSPEC),$(comspec))) HOSTENV := w32 DIRSEP := $(strip \) NULL := nul + fixpath-shell = $(subst ?,$(sp),$(subst /,\,$(subst $(sp),?,$(1)))) fixpath-make = $(subst \,/,$(subst $(sp),?,$(1))) MD := mkdir endif