From 202664bac0f8fb406c04852776a9170612e85178 Mon Sep 17 00:00:00 2001 From: Angus Gratton Date: Tue, 17 Sep 2019 13:47:05 +1000 Subject: [PATCH] build: In GNU Make, use "cygpath -m" to avoid backslashes Fixes issues where backslashes in KCONFIG paths are later expanded as shell escape sequences. --- make/ldgen.mk | 6 +++--- make/project_config.mk | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/make/ldgen.mk b/make/ldgen.mk index ebc7449c86..ddc318c798 100644 --- a/make/ldgen.mk +++ b/make/ldgen.mk @@ -8,7 +8,7 @@ LDGEN_FRAGMENT_FILES = $(COMPONENT_LDFRAGMENTS) ifeq ($(OS),Windows_NT) define ldgen_process_template $(BUILD_DIR_BASE)/ldgen.section_infos: $(LDGEN_SECTIONS_INFO_FILES) $(IDF_PATH)/make/ldgen.mk - printf "$(foreach info,$(LDGEN_SECTIONS_INFO_FILES),$(subst \,/,$(shell cygpath -w $(info)))\n)" > $(BUILD_DIR_BASE)/ldgen.section_infos + printf "$(foreach info,$(LDGEN_SECTIONS_INFO_FILES),$(subst \,/,$(shell cygpath -m $(info)))\n)" > $(BUILD_DIR_BASE)/ldgen.section_infos $(2): $(1) $(LDGEN_FRAGMENT_FILES) $(SDKCONFIG) $(BUILD_DIR_BASE)/ldgen.section_infos @echo 'Generating $(notdir $(2))' @@ -19,8 +19,8 @@ $(2): $(1) $(LDGEN_FRAGMENT_FILES) $(SDKCONFIG) $(BUILD_DIR_BASE)/ldgen.section_ --output $(2) \ --sections $(BUILD_DIR_BASE)/ldgen.section_infos \ --kconfig $(IDF_PATH)/Kconfig \ - --env "COMPONENT_KCONFIGS=$(foreach k, $(COMPONENT_KCONFIGS), $(shell cygpath -w $(k)))" \ - --env "COMPONENT_KCONFIGS_PROJBUILD=$(foreach k, $(COMPONENT_KCONFIGS_PROJBUILD), $(shell cygpath -w $(k)))" \ + --env "COMPONENT_KCONFIGS=$(foreach k, $(COMPONENT_KCONFIGS), $(shell cygpath -m $(k)))" \ + --env "COMPONENT_KCONFIGS_PROJBUILD=$(foreach k, $(COMPONENT_KCONFIGS_PROJBUILD), $(shell cygpath -m $(k)))" \ --env "IDF_CMAKE=n" endef else # Windows_NT diff --git a/make/project_config.mk b/make/project_config.mk index 0046c44fbf..cea29ca0e9 100644 --- a/make/project_config.mk +++ b/make/project_config.mk @@ -6,8 +6,8 @@ COMPONENT_KCONFIGS_PROJBUILD := $(foreach component,$(COMPONENT_PATHS),$(wildcar ifeq ($(OS),Windows_NT) # kconfiglib requires Windows-style paths for kconfig files -COMPONENT_KCONFIGS := $(shell cygpath -w $(COMPONENT_KCONFIGS)) -COMPONENT_KCONFIGS_PROJBUILD := $(shell cygpath -w $(COMPONENT_KCONFIGS_PROJBUILD)) +COMPONENT_KCONFIGS := $(shell cygpath -m $(COMPONENT_KCONFIGS)) +COMPONENT_KCONFIGS_PROJBUILD := $(shell cygpath -m $(COMPONENT_KCONFIGS_PROJBUILD)) endif #For doing make menuconfig etc