在构建之前对makefile中的源文件运行预处理工具



我有一个工具,比如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 --

,然后继续通常的构建过程,即。最简单的例子是make。

我怎样才能做到这一点?这有可能通过某种变量覆盖吗?

最简单的事情要做,假设你不介意工具运行一次每个.c文件(而不是一次所有的.c文件)将取代默认的%: %.c%.o: %.c内置的规则(假设那些正在使用),并将您的工具添加到这些规则的主体。

这只运行需要从源代码重新构建的文件的工具(根据@Beta对OP的评论)。

最新更新