我的问题涉及GNU的制作。
如果您有一系列命令可用作多个目标的配方,canned recipe就派上用场了。我可能看起来像这样:
define run-foo
# Here comes a
# sequence of commands that are
# executed line by line
endef
现在你可以使用这样的罐头食谱:
file1: input1:
$(run-foo)
$(pattern) : sub/% : %.inp
$(run-foo)
等等。我想知道是否可以定义带参数的罐装配方(或类似的东西),以便我可以像这样执行它们:
file2: input2
$(run-foo) specific-parameter2 "additional"
file3: input3
$(run-foo) another-parameter3 "text"
这可能吗?任何提示欢迎:)
答案 0 :(得分:13)
你这样做:
$1
- ed宏中使用参数$2
,define
...等$(call ...)
例如:
define recipe
echo $1
endef
all: t1 t2
t1:
$(call recipe,"One")
t2:
$(call recipe,"Two")