在Makefile Windows环境中创建带空格的目录路径

时间:2016-09-22 21:47:34

标签: windows makefile mkdir

我通常在linux环境中工作,并让Makefile编译我的项目。在makefile中它创建目录。当我在Windows上使用这个makefile时,路径中有空格,因为用户名是" John Doe"。

我尝试过的是:

MAKEPATHCMD = mkdir
build:
@( \
    echo -e "Building...\n"; \
    $(MAKEPATHCMD) "$(NEW_PATH)"; \
    .
    .
    .

错误低于......

/usr/bin/mkdir: cannot create directory '/c/Users/John Doe/Desktop/new': No such file or directory

我尝试过的其他事情:

$(MAKEPATHCMD) "\"$(NEW_PATH)\""; \

$(MAKEPATHCMD) "'$(NEW_PATH)'"; \

如何在Windows上创建包含空格的makefile创建目录路径?

1 个答案:

答案 0 :(得分:0)

在不包含空格的目录中进行工作,例如c:\ work。

或者,通过将目录名转换为"短名称"来消除目录名中的空格。

使用以下脚本:

rem Pass path to sanitize as arg 1 @echo off echo Original path=[%~1] call :chkspaces "%~1"

if /I NOT "%_sp%" == "%~1" call :shrt "%~1" echo uglified=[%_sp%] goto :EOF

:chkspaces set _sp=%1 set _sp=%_sp: =% goto :EOF

:shrt echo arg=[%1] set _sp=%~s1 goto :EOF

这将为您的目录生成一个简短的名称。然后只有cd那里。