从makefile中的变量中提取子字符串

问题描述 投票:0回答:1

基本上,我必须匹配以下形式的所有目标:“ tests / mytests-runthis”

我有执行此操作的规则:

life-tests/%:
    ./(?????) < [email protected] > runthis.tmp
    -diff runthis.tmp [email protected]

我需要破折号后的所有内容都进入“(?????))”区域,因此它将运行./runthis runthis.tmp

如何从破折号之后的$ @中提取所有内容?

bash makefile
1个回答
0
投票

您可以使用patsubst

$ cat Makefile
life-tests/%:
        @./$(patsubst life-tests/%,%,$@).sh

$ cat hello.sh
#! /bin/bash
echo world

$ make life-tests/hello
world
© www.soinside.com 2019 - 2024. All rights reserved.