私はMinGW 3.18をWindows XP SP2、GNU make 3.82で使用しています。MinGW/GNU Make - "複数のターゲットパターン"
スクリプトで返された値をパスに組み込み、エラーを受け取ろうとしています。
これは動作します:
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]
:あなたは、外部シェルを呼び出すしたい場合は
は、あなたが
shell
機能を使用する必要がありますか?それで私は泣きたい! –同じ値に設定されていますか?例えば、コマンドを見つけることができない場合、コロンを含む '/ bin/sh:get_version.sh:command not found'にセットされ、その正確な問題が引き起こされます。 –