2016-08-23 120 views
0

排除文件我在我的makefile使用通配符來獲取目錄中的所有.c文件的規則:從生成文件

SRCS_ENC = $(foreach DIR,$(SRC_ENC),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) 

現在我要排除具有特定後綴,例如所有文件「測試」

function_test.c 
function2_test.c 
... 

我該如何在makefile中執行此操作?我嘗試過濾掉,但沒有奏效。

+0

什麼都有這個問題做CMake的?你用CMake生成Makefile嗎? –

+0

不,對不起,我正在使用gcc編譯器。 – Alex

+0

[使用Makefile編譯時排除源文件]可能的重複(http://stackoverflow.com/questions/10276202/exclude-source-file-in-compilation-using-makefile) – Tim

回答

0

嘗試使用立即指派,而不是推遲,做過濾出這樣的:

SRCS_ENC := $(foreach DIR,$(SRC_ENC),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) 
SRCS_ENC := $(filter-out, %_test.c, $(SRCS_ENC))