私はメイクファイルを理解しようとしていますが、次の行が何をするのか誰か教えてもらえますか:
@echo cp -f --preserve=mode,timestamps $(call $1,$<) $(call $1,$@)
$1
特にandcall
ここの意味がわかりません。
完全に文脈から外れているため、これが何をするのかを知る方法はありません。
この値は の別のインスタンスに渡されることになっているようです$(call ...)
。たとえば、メイクファイルに次のものが含まれているとします。
QUOTE = '$1'
COPY = @echo cp -f --preserve=mode,timestamps $(call $1,$<) $(call $1,$@)
その後、次のように表示されます。
foo: bar ; $(call COPY,QUOTE)
最初の呼び出しは、で置き換えられたCOPY
値に展開されるため、次のようになります。$1
QUOTE
@echo cp -f --preserve=mode,timestamps $(call QUOTE,bar) $(call QUOTE,foo)
それが拡張され、最終的には次のようになります。
@echo cp -f --preserve=mode,timestamps 'bar' 'foo'
しかし、これ以上の情報がなければ、これ以上は言えません。