はこの短いMakefileを考えてみてください:選択引数
ARGS := -foo
my_ARGS := -bar
their_ARGS :=
all: your.foo my.foo their.foo
%.foo:
@echo $*: $(call _choose_,ARGS,$*)
_isndef_ = $(findstring undefined,$(origin $1))
_choose_ = $(value $(if $(call _isndef_,$2_$1),$1,$2_$1))
をそれが正しく出力:
your: -foo
my: -bar
their:
私の質問:
- が、これはautomakeはそれをしないという方法ですか? (
LDADD
およびrmt_LDADD
) - これを行う方法はこれよりも短く、
:あなたは「空と上書き」する場合は、target-specific variablesを使用することができますhttp://make.mad-scientist.net/constructed-macro-names/
:例えば、ここ
詳細情報:それはただ単にだろう構成管理で中心的な質問(明確な回答なし)を中心にしているので、[softwareengineering.stackexchange.com](http://softwareengineering.stackexchange.com)にもっと適しています。 – Vroomfondel