因此,一些匿名開發者已經決定在他們的文件夾名稱中使用包含源文件的空間的荒謬慣例。我會改變這些文件夾不要使用空格,但很遺憾我不會在這裏制定規則,所以這不是一個選項(儘管我希望是這樣)。如何在我的Makefile中處理帶空格的文件?
LUAC = luac
SRC_DIR = .
SOURCE = \
stupid/naming\ convention/a.lua \
stupid/naming\ convention/very\ annoying/b.lua \
vpath .lua $(SRC_DIR)
OUT_DIR = ../out/
OUTPUT = $(patsubst %.lua, $(OUT_DIR)/%.luac, $(SOURCE))
all: $(OUTPUT)
$(OUT_DIR)/%.luac: %.lua
$(LUAC) "$<"
mv luac.out "[email protected]"
.PHONY: all
簡單的Makefile。它所要做的就是編譯我所有的Lua文件,並將它們放到輸出目錄中。
無論我做它不斷想拆就文件夾中的空格SOURCE
字符串,所以我有一個美麗的錯誤是這樣結尾:
make: *** No rule to make target `stupid/naming ', needed by `all'. Stop.
是有辦法解決這一問題不重新命名文件夾?
在此先感謝。
唧你試過'\\'而不是'\'?例如'愚蠢/命名\\ convention/a.lua' – lifus
這給了我:'make:***沒有規則來製作'all'所需的'stupid/naming'目標。 Stop.' – OLL
這看起來像是一個重複的問題給我。看到這個問題: http://stackoverflow.com/questions/9838384/can-gnu-make-handle-filenames-with-spaces – Chris