我在Windows XP SP2下使用MinGW 3.18,GNU make 3.82。
我正在尝试将脚本返回的值合并到路径中并收到错误。
这有效:
PROD_DIR=$(ROOT_DIR)/PROD
version=1.1.1
PROD_SOURCE_files = \
file1 \
file2
PROD_TARGET_files = $(patsubst %,$(PROD_DIR)/$(version)/%,$(PROD_SOURCE_files))
这不是:
PROD_DIR=$(ROOT_DIR)/PROD
version=`get_version.sh`
PROD_SOURCE_files = \
file1 \
file2
PROD_TARGET_files = $(patsubst %,$(PROD_DIR)/$(version)/%,$(PROD_SOURCE_files))
Makefile:1359: *** multiple target patterns. Stop.
(第1359行是PROD_TARGET_files的定义)
我已经仔细检查了$(版本),它在两种情况下都具有相同的值,显然没有前导/尾随空格或换行符:
@echo [$(version)]
[1.1.1]
答案 0 :(得分:3)