我需要递归查找目录列表中的所有头文件。我无法弄清楚如何正确地逃避命令。我搜索了四周,发现了有关在makefiles中转义的各种信息,但我无法解决此问题。如何在makefile shell函数中转义反斜线
在bash下面做什么,我想:
find path1 path2 path3 -type f \(-name *.hpp -o -name *.h -o *.hxx \)
在我的makefile文件我都试过的foreach的几个组合等。目前我有这样的:
INCLUDE_PATHS ?= path1 path2 path3
MY_HEADERS := $(shell find $(INCLUDE_PATHS) -type f \(-name *.h -o -name *.hpp -o -name *.hxx \))
这将产生:
find: paths must precede expression
Usage: find [-H] [-L] [-P] [path...] [expression]
如果我只是寻找一个扩展名,如“* .HPP”它工作正常(我假设,因为\(... \)是 不需要)。
我曾尝试$的各种组合”,” \逃脱‘没有成功的shell命令\’字符。
任何帮助,将不胜感激。
哎呀......我在标题意味反斜杠。 – sjacobs