2013-02-01 92 views
-2

我有一個makefile文件,其中包含C INCLUDES空格。我無法避免必須在文件名中包含空格。有沒有辦法使用gnu make在文件名中包含空格?GNU可以處理空間嗎?

+0

如果你不能解釋爲什麼你不能繞過這些空間,恐怕沒有太大的幫助。也許發佈MAKEFILE? – mrunion

+0

如果它可以得到周圍的所有它將與空間前面的「\」來逃脫它,但我不知道這將在一個makefile中工作 – djjolicoeur

+0

我無法繞過空間,因爲makefile是這個:LOCAL_C_INCLUDES:= C:\ Program Files文件(x86)\ Microsoft Visual Studio 10.0 \ VC \ include \,我需要將庫包含在其中:S – user2011985

回答

0

製作具有通過文件名逃脫的空間,在下面的Makefile這一些基本的支持,將正確編譯和重新編譯的C文件foo bar.c

foo\ bar: foo\ bar.c 
    gcc -o "${@}" "${<}" 

但是,你必須要超級小心報價您運行的每個命令以及空格分隔的文件列表變量(例如,SRCS,LIBS)都不會工作,儘管使用Make text functions進行足夠的黑客攻擊可能會解析出引號並使所有內容正常工作...

S o儘管對規則和模式中的文件名空間有基本的支持,但任何複雜的事情都將成爲非常困難和令人沮喪的工作。

+0

sry ,我沒有得到這個例子。我在說明LOCAL_C_INCLUDES:= C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ include \ – user2011985