带冒号的Makefile绝对路径

时间:2014-10-09 11:15:59

标签: makefile relative-path absolute-path msys

要将相对路径转换为绝对路径,我使用了relpath / abspath命令。 但是,结果会提供一个没有冒号:的根目录的路径。

示例:

  

“/ C /用户/ MYNAME /项目/ SVN / ACC / PCC / HAL /代码/包括”

我需要c:/Users/MyName/Project/SVN/ACC/PCC/HAL/code/include,以便我的代码可以找到头文件。

我正在使用MSYS 1.0中的make。

有什么方法可以得到这个结果吗?

1 个答案:

答案 0 :(得分:0)

winpath_helper=$1:/$(subst ////$1/,,$2)
winpath=$(call winpath_helper,$(word 1,$(subst /, ,$1)),///$1)

ppp:=/c/Users/MyName/Project/SVN/ACC/PCC/HAL/code/include
$(info === $(call winpath,$(ppp)))

结果:

c:/Users/MyName/Project/SVN/ACC/PCC/HAL/code/include

这意味着输入格式正确;如果它不是MSYS上$ realpath vs $ abspath的结果,那么make就会崩溃。