2016-06-24 1 views
0

私は通話機能を書きたい、このGNU makeを:呼び出し関数内ifeq

define run 
    @echo "running" > $1 
ifeq ("$(var)" "var1") 
    @echo "var1" > $1 
else 
    @echo "var2" > $1 
endif 
endef 

ような何か問題は、私は、コール関数の内部ifeq使用方法メイク文書から把握することはできませんよである、またはifeqを使うよりも良い解決策があれば。

+0

'call 'と一緒に使う関数は一つのことです。レシピ内で展開されるコマンドの「缶詰」シーケンスは別のものです。彼らは異なる構文を持っています。実際に何をしようとしていますか? – Beta

+0

レシピ内で展開するために、缶詰のコマンドシーケンスを使用したいと思います。 –

答えて

0

缶詰のコマンドシーケンスに条件を入れるのは苦痛です。条件付き外部を解決する方がずっと簡単です。

define run 
@echo "running" > $(log) 
@echo $(var) > $(log) 
endef 

targ: log := 23B.log 
targ: var := var1 
targ: 
    $(run) 
関連する問題