2016-12-16 6 views
1

私は例えば、それは空の値を持つことになりますので、偽のターゲットを呼び出す前に評価すべきではない変数を持っている:ターゲットが呼び出されたときに変数を更新する方法は?

VAR = /home/directory/file 

.PHONY: target 
target: 
    $(mkdir -p /home/directory) 
    $(touch /home/directory/file) 
+0

このメイクファイルは何もしません。 '$(mkdir -p/home/directory)'を使いたくなく、 'mkdir -p/home/directory'という名前のmake変数を展開しようとします。存在しないので、空の文字列に展開され、無視されます。シェルコマンドを '$(...)'には含めないで直接書いてください。 – MadScientist

+0

これはXYの問題だと思います。私はあなたがやろうとしていることはおそらく素晴らしいことではないと思っていますが、あなたの実際の目標について十分な詳細を教えてくれませんでした。 – MadScientist

答えて

1

が右target:evalを置く:

target: 
    $(eval VAR = /home/directory/file) 

最初の行(VAR = ...)を削除します。

関連する問題