我正在windows上使用目标为每个目录运行正反斜杠以使用正斜杠分隔路径组件。如果有人跑有没有办法用Gnu Make命令目标替换//?
> make foo/bar
它会正常运行。但是,如果有人运行
> make foo\bar
就找不到目标,以构建:
make: Nothing to be done for `foo\bar'.
我会喜欢它,如果我可以添加这样的事情我顶层的Makefile:
MAKECMDGOALS = $(subst \,/,$(MAKECMDGOALS))
但这样的事情不起作用。 MAKECMDGOALS只能被阅读。或者即使我可以为我所有的常规目标制作反斜杠目标,如下所示:
$(DIRS): %: $(subst /,\,%)
但是这也行不通。最好的解决方法是什么?
不要试图成为万能的人,而是让你的Makefile复杂化,教你的用户使用正斜杠。即使Windows了解他们... – Jens 2017-05-02 09:58:41