0

私はメイクファイルを理解しようとしていますが、次の行が何をするのか誰か教えてもらえますか:

@echo cp -f --preserve=mode,timestamps $(call $1,$<) $(call $1,$@)

$1特にandcallここの意味がわかりません。

4

2 に答える 2

0

完全に文脈から外れているため、これが何をするのかを知る方法はありません。

この値は の別のインスタンスに渡されることになっているようです$(call ...)。たとえば、メイクファイルに次のものが含まれているとします。

QUOTE = '$1'
COPY = @echo cp -f --preserve=mode,timestamps $(call $1,$<) $(call $1,$@)

その後、次のように表示されます。

foo: bar ; $(call COPY,QUOTE)

最初の呼び出しは、で置き換えられたCOPY値に展開されるため、次のようになります。$1QUOTE

@echo cp -f --preserve=mode,timestamps $(call QUOTE,bar) $(call QUOTE,foo)

それが拡張され、最終的には次のようになります。

@echo cp -f --preserve=mode,timestamps 'bar' 'foo'

しかし、これ以上の情報がなければ、これ以上は言えません。

于 2013-06-28T15:08:38.137 に答える