2014-07-15 26 views
0

我有一個工具可以說mytool對源文件執行一些預處理。基本上,它在源文件中測試一些函數(基於輸入列表文件)。在生成文件之前在源文件中運行預處理工具

調用它的方法是:(可以說,我們有兩個源文件 - input1.cinput2.c

./mytool input1.c input2.c -- 

( ' - ' 是留下一些參數使用默認值)

現在,我希望將此工具掛接到任何構建過程,即makefile,使得該工具可以從makefile獲取所有源文件,並且可以在所有源文件上運行。所以說,有3個C文件 - 1.C,2.C 3.C和那麼我們會想這樣做

./mytool 1.c 2.c 3.c -- 

,然後用通常的構建過程,即「讓」的簡單的情況下進行。

我該如何做到這一點?這是可能的某種變量超越?

+0

這個工具是否需要一次運行在每個文件上?或者它可以單獨運行在每個文件上? –

+0

即使Make不會執行任何操作(例如,如果沒有文件過期),您還是要執行該操作? – Beta

+0

@EtanReisner,我希望它一次運行在每個文件上。但是,即使我能夠單獨運行它,它也應該適合我。 –

回答

0

做最簡單的事情,假設你不介意每.c文件一旦運行該工具(而不是一勞永逸.c文件)將替換默認%: %.c%.o: %.c內置訂立規則(假設這些正在使用中)並將您的工具添加到這些規則的正文中。

這隻能運行需要從源代碼重新構建的文件的工具(根據@ Beta對OP的評論)。