在Windows上使用SED在makefile中扩展路径变量

方程求解器

在Windows计算机上,makefile使用路径选项,并通过附加此路径值来创建另一个文件。

我的问题是路径变量未在结果文件中正确扩展。

例如

$ make var=c:\test\kernel

通过使用下面的makefile代码,此$(var)值将附加到输出文件

all:
      @sed -i '1 i\export PATH := $(var)' output.txt

预期结果

export PATH := c:\test\kernel

但是相反,我越来越

export PATH := c:   estkernel

那么,如何解决makefile中的此问题?

疯狂的科学家

首先,我强烈建议您即使在Windows上也要在路径中始终使用正斜杠,尤其是在使用make时。Windows上很少有程序不能使用正斜杠(主要是老式的CMD命令等),并且在拥有UNIX起源的工具中使用反斜杠总是不合适的。

对于您的情况,您可以执行以下操作:

all:
        @sed -i '1 i\export PATH := $(subst \,\\,$(var))' output.txt

将您的反斜杠转换为转义的反斜杠。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章