【发布时间】:2013-07-31 08:54:15
【问题描述】:
因此,一些匿名开发人员决定使用一种荒谬的惯例,即在包含其源文件的文件夹名称中使用空格。我会更改这些文件夹以不使用空格,但遗憾的是我没有在这里制定规则,所以这不是一个选择(尽管我希望它是)。
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 "$@"
.PHONY: all
简单的 Makefile。它的目的就是编译我拥有的所有 Lua 文件并将它们放入输出目录。
不管我怎么做,它总是想在文件夹中的空格上拆分SOURCE 字符串,所以我以这样一个漂亮的错误结束:
make: *** No rule to make target `stupid/naming ', needed by `all'. Stop.
有没有办法在不重命名文件夹的情况下解决这个问题?
提前致谢。
【问题讨论】:
-
你试过
\\而不是\?例如stupid/naming\\ convention/a.lua -
这给了我:
make: *** No rule to make target 'stupid/naming\', needed by 'all'. Stop. -
这对我来说似乎是一个重复的问题。看到这个问题:stackoverflow.com/questions/9838384/…
标签: makefile