我需要遞歸查找目錄列表中的所有頭文件。我無法弄清楚如何正確地逃避命令。我搜索了四周,發現了有關在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