的Makefile文件:Makefile中尾隨空白變量
#there is a whitespace after "/my/path/to"
FOO = "/my/path/to"
BAR = "dir"
INCLUDE_DIRS = $(FOO)/$(BAR) "/another/path"
INCLUDES = $(foreach dir,$(INCLUDE_DIRS),-I$(dir))
all:
@echo $(INCLUDES)
使用GNU使我想到我的$(含)爲:
-I/my/path/to/dir -I/another/path
然而,如果線路
FOO = "/my/path/to"
以空白結尾(這是一個常見的「錯誤」),變量FOO將包含空格,並且生成的INCLUDES將包含三個目錄(所述兩個第一beeing第一個分裂):
-I/my/path/to -I/dir -I/another/path
我發現的唯一的解決方案是使用帶功能:
FOO = $(strip "/my/path/to")
但是不是有更自然的語法,或以任何方式避免這個陷阱?
我喜歡這個解決方案,將使用它,謝謝! – user744629 2012-02-03 14:17:21