gpt4 book ai didi

makefile - 如何使用替换方法将引号 ""添加到 Makefile 变量

转载 作者:行者123 更新时间:2023-12-01 23:17:11 26 4
gpt4 key购买 nike

我有一个 Makefile 变量如下

L_PATH_INCLUDE = c:\dir1\include C:\dir2\include C:\dir3\include

我需要将它移交给其他需要它的工具

tool.exe add-include-dir "c:\dir1\include" "C:\dir2\include" "C:\dir3\include"

我尝试了以下方式,但工具报告错误,不应该有单个字符的变量,我已经使用了$(space)

$(subst $(space)," ",$(strip $(L_PATH_INCLUDE)))

在不使用 $(space) 或单个字符变量的情况下,是否可以通过任何其他方式实现

最佳答案

放置引号没有问题,不是解释符号。但是你需要在 L_PATH_INCLUDE 中的所有路径周围加上引号,为了实现这一点,我会这样做:

L_PATH_INCLUDE = c:\dir1\include C:\dir2\include C:\dir3\include

all:
echo $(addprefix ",$(addsuffix ",$(L_PATH_INCLUDE)))

使用 make all 输出:

echo "c:\dir1\include" "C:\dir2\include" "C:\dir3\include"

c:\dir1\include C:\dir2\include C:\dir3\include

您只需将 echo 替换为您的命令,它就会执行。

基本上,想法是使用 addprefix 和 addsuffix 在 L_PATH_INCLUDE 中的每个单词的开头和结尾添加引号。

如果您将我的答案复制/粘贴到您的 Makefile 中,请注意用适当的制表符替换四个空格。

关于makefile - 如何使用替换方法将引号 ""添加到 Makefile 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41821111/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com