aboutsummaryrefslogtreecommitdiff
path: root/Common.mk
diff options
context:
space:
mode:
authorSZEDER Gábor <szeder.dev@gmail.com>2017-08-08 20:23:53 +0200
committerSZEDER Gábor <szeder.dev@gmail.com>2017-08-08 23:41:28 +0200
commita80518e308ab910a90ea0cef1e46a29800edd9a9 (patch)
tree37f3ff94283dbc60a73ea25418fb857eb6af037b /Common.mk
parentc116e48418004e6f2538f711b63abc128c26245c (diff)
Quote the prefix tag in the space_pad_to function
POSIX shells treat an unquoted [abcd] as a pattern bracket expression and apply it for filename expansion. This kicks in and causes troubles in the space_pad_to function when it's called to pad prefix tags like '[AUTODETECT]', because the argument holding such a tag is passed to a shell unquoted. The result is funny output when the directory containing the Makefile also contains any files or directories, whose name is a single upper-case character that can be found in any prefix tags: $ touch A B C D $ make ------------------------- Arduino.mk Configuration: - A C D CURRENT_OS = LINUX - [USER] ARDUINO_DIR = /home/szeder/src/arduino/arduino-1.8.1 - [USER] ARDMK_DIR = /home/szeder/src/arduino/Arduino-Makefile - A C D ARDUINO_VERSION = 181 - A D ARCHITECTURE = avr - A D ARDMK_VENDOR = arduino - A D ARDUINO_SKETCHBOOK = <snip> Prevent this by quoting space_pad_to's parameter when passing it to a shell.
Diffstat (limited to 'Common.mk')
-rw-r--r--Common.mk2
1 files changed, 1 insertions, 1 deletions
diff --git a/Common.mk b/Common.mk
index 7eda5ea..e6e9369 100644
--- a/Common.mk
+++ b/Common.mk
@@ -14,7 +14,7 @@ runscript_if_exists = \
# For message printing: pad the right side of the first argument with spaces to
# the number of bytes indicated by the second argument.
-space_pad_to = $(shell echo $(1) " " | head -c$(2))
+space_pad_to = $(shell echo "$(1) " | head -c$(2))
# Call with some text, and a prefix tag if desired (like [AUTODETECTED]),
show_config_info = $(call arduino_output,- $(call space_pad_to,$(2),20) $(1))