If I use this Makefile ... ---------------- bash$ cat Makefile FOO := $(shell echo $(ENTRIES) ; ) BAR := $(shell echo $(ENTRIES) )
all: @echo FOO = $(FOO) @echo BAR = $(BAR) .PHONY: all ---------------- ... and set ENTRIES with embedded newlines, then this happens: ---------------- bash$ make 'ENTRIES= blartz blurfl ' FOO = blartzblurfl BAR = blartz blurfl ---------------- Why is the embedded whitespace removed in the first (FOO) case? It seems related to the semicolon shell metacharacter ... ---------------- bash$ make --version GNU Make 4.3 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2020 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. ---------------- Thanks, -- Bob