2014-10-18 33 views
0

我經常發現自己希望不是在配方中引用該詞幹,而是在自己的先決條件中進行引用。在Makefile的先決條件變量中使用%steam

例如在這裏我玩弄了一些python代碼,它以遞歸的方式掃描可執行源代碼的.cpp和.hpp文件,以檢測它依賴的對象。腳本本身工作得很好,但我不知道如何將它與makefile連接起來,因爲輸入有所不同。

$(TESTS): bin/tests/%_a : bin/obj/%.o $(foreach var, $(shell python3 ./autoInc.py ./src/lib/%.cpp), bin/obj/$(var).o) 
    @echo "#---------------------------" 
    @echo "# Linking [email protected] " 
    $(CC) -o [email protected] $^ 

(這裏生成文件執行./autoInc.py ./src/lib/%.cpp不替代)

回答

1

這是形式:

.SECONDEXPANSION: 

$(TESTS): %_a : $$(foreach var, $$(shell whatever $$*.cpp), $$(var).o) 
    ... 

我勸你把它用非常簡單的玩具規則的工作,試圖將前你的python。

相關問題