因此,一些匿名开发者已经决定在他们的文件夹名称中使用包含源文件的空间的荒谬惯例。我会改变这些文件夹不要使用空格,但很遗憾我不会在这里制定规则,所以这不是一个选项(尽管我希望是这样)。如何在我的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