小编use*_*016的帖子

在Make规则中分割字符串

我试图在Make target中用冒号分隔的值分割字符串。

当我尝试使用for循环,eval,shell分割目标配方中的字符串时,得到空白值。当我确实使用shell命令在目标结果之外拆分字符串时,结果是肯定的。

谁能帮我解决目标食谱。

以下是代码段。

notebooks=new:e7e45d89-94cc-4783-86c5-2236d9904a24 test:2af1d689-98c3-48f2-984d-2ea21c5135dd
j=new:e7e45d89-94cc-4783-86c5-2236d9904a24
f1=$(shell echo $j | cut -d: -f 1)
test1:
    @for i in $(notebooks); \
    do \
        $(eval f=$(shell echo $i | cut -d: -f 1))  \
        $(eval fid=$(shell echo $i | cut -d: -f 2)) \
        echo $(f) $(fid) $(f1) ;\
    done
Run Code Online (Sandbox Code Playgroud)

输出是

new
new
Run Code Online (Sandbox Code Playgroud)

而所需的输出是

new e7e45d89-94cc-4783-86c5-2236d9904a24 new 
test 2af1d689-98c3-48f2-984d-2ea21c5135dd new
Run Code Online (Sandbox Code Playgroud)

makefile gnu-make

0
推荐指数
1
解决办法
1211
查看次数

标签 统计

gnu-make ×1

makefile ×1