![](/img/trans.png)
[英]Cannot get makefile to build each object from its corresponding source
[英]Running a pre-processing tool on source files in makefile before build
我有一個工具,可以說mytool
對源文件進行一些預處理。 基本上,它在源文件中檢測一些功能(基於輸入列表文件)。
它的調用方式是:(讓我們說有兩個源文件input1.c
和input2.c
)
./mytool input1.c input2.c --
('-'用於保留一些默認參數)
現在,我希望將此工具與任何構建過程(例如makefile)掛鈎,以便該工具可以從makefile獲取所有源文件並可以在所有源文件上運行。 因此它說有3個C文件-1.c,2.c和3.c,那么我們要做
./mytool 1.c 2.c 3.c --
然后在最簡單的情況下繼續進行通常的構建過程,即“ make”。
我該如何實現? 是否可以通過某種變量替代來實現?
假設您不介意每個.c
文件運行一次該工具(而不是為所有.c
文件運行一次),最簡單的操作就是替換默認的%: %.c
和%.o: %.c
內置的make規則(假設正在使用這些規則),並將您的工具添加到這些規則的主體中。
這僅針對需要從源文件重建文件運行工具(根據@Beta在OP上的注釋)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.