基本上,我必须匹配以下形式的所有目标:“ tests / mytests-runthis”
我有执行此操作的规则:
life-tests/%:
./(?????) < [email protected] > runthis.tmp
-diff runthis.tmp [email protected]
我需要破折号后的所有内容都进入“(?????))”区域,因此它将运行./runthis
如何从破折号之后的$ @中提取所有内容?
您可以使用patsubst
:
$ cat Makefile
life-tests/%:
@./$(patsubst life-tests/%,%,$@).sh
$ cat hello.sh
#! /bin/bash
echo world
$ make life-tests/hello
world