假设我想将位于
下面是我的Makefile内容:
问题在于,由于项目路径中存在空格,
我尝试在
我不明白问题来自哪里。
另外,我希望得到一个不需要更改路径名称的答案...谢谢 :)
/home/me/Google Drive/Foobar/
的C++项目编译成一个名为Foobar
的可执行文件,并且我想使用GNU Make来使这个过程自动化。下面是我的Makefile内容:
OUTPUT = $(notdir $(CURDIR))
all $(OUTPUT):
g++ *.cpp -o $(OUTPUT)
问题在于,由于项目路径中存在空格,
notdir
命令解释为两个不同的路径,并返回 Google Foobar
。我尝试在
$(CURDIR)
周围加上引号($(notdir "$(CURDIR)")
),但是出现以下错误:/bin/sh: -c: line 0: unexpected EOF while looking for matching `"'
/bin/sh: -c: line 1: syntax error: unexpected end of file
Makefile:4: recipe for target 'all' failed
make: *** [all] Error 1
我不明白问题来自哪里。
另外,我希望得到一个不需要更改路径名称的答案...谢谢 :)
$(notdir \"$(CURDIR)\")
能够正常工作吗? - Michas