因此,一些匿名开发人员决定使用一种荒谬的约定,即在包含其源文件的文件夹名称中使用空格。我会更改这些文件夹以不使用空格,但遗憾的是我没有在这里制定规则,所以这不是一个选项(尽管我希望它是)。
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.
有没有办法在不重命名文件夹的情况下解决这个问题?
提前致谢。