]> granicus.if.org Git - esp-idf/commitdiff
make/ldgen: Fix generation of ldgen.section_infos file when shell is bash
authorAngus Gratton <angus@espressif.com>
Wed, 5 Dec 2018 07:29:44 +0000 (18:29 +1100)
committerAngus Gratton <gus@projectgus.com>
Wed, 5 Dec 2018 23:20:35 +0000 (10:20 +1100)
bash doesn't escape by default from "echo", so use "printf"

Closes https://github.com/espressif/esp-idf/pull/2797
Closes https://github.com/espressif/esp-idf/issues/2796

make/ldgen.mk

index 53a20b705447cdd101fbb5322f20d729f7101085..bc7fdc681aba44f053b3a73aeab7d0dea7f3ca8d 100644 (file)
@@ -6,17 +6,13 @@ LDGEN_FRAGMENT_FILES = $(COMPONENT_LDFRAGMENTS)
 # Target to generate linker script generator from fragments presented by each of
 # the components
 define ldgen_process_template
-ifeq ($(OS), Windows_NT)
-$(BUILD_DIR_BASE)/ldgen.section_infos: $(LDGEN_SECTIONS_INFO_FILES)
-       echo -ne "$(foreach section_info,$(LDGEN_SECTIONS_INFO_FILES),$(section_info)\n)" > $(BUILD_DIR_BASE)/ldgen.section_infos
+$(BUILD_DIR_BASE)/ldgen.section_infos: $(LDGEN_SECTIONS_INFO_FILES) $(IDF_PATH)/make/ldgen.mk
+       printf "$(foreach section_info,$(LDGEN_SECTIONS_INFO_FILES),$(section_info)\n)" > $(BUILD_DIR_BASE)/ldgen.section_infos
        sed -i 's|^[[:blank:]]*||g' $(BUILD_DIR_BASE)/ldgen.section_infos
+ifeq ($(OS), Windows_NT)
        mv $(BUILD_DIR_BASE)/ldgen.section_infos $(BUILD_DIR_BASE)/ldgen.section_infos.temp
        cygpath -w -f $(BUILD_DIR_BASE)/ldgen.section_infos.temp > $(BUILD_DIR_BASE)/ldgen.section_infos
        rm -f $(BUILD_DIR_BASE)/ldgen.section_infos.temp
-else
-$(BUILD_DIR_BASE)/ldgen.section_infos: $(LDGEN_SECTIONS_INFO_FILES)
-       echo "$(foreach section_info,$(LDGEN_SECTIONS_INFO_FILES),$(section_info)\n)" > $(BUILD_DIR_BASE)/ldgen.section_infos
-       sed -i 's|^[[:blank:]]*||g' $(BUILD_DIR_BASE)/ldgen.section_infos
 endif
 
 $(2): $(1) $(LDGEN_FRAGMENT_FILES) $(SDKCONFIG) $(BUILD_DIR_BASE)/ldgen.section_infos