【发布时间】:2014-07-15 19:40:12
【问题描述】:
我有一个工具可以说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 什么都不做(例如,如果没有文件过期)?
-
@EtanReisner,我希望它同时在每个文件上运行。但是,即使我能够单独运行它,对我来说也应该没问题。
-
@Beta 嗯,这对我来说更像是一个极端情况。即使 make 没有什么可做的,我也可以做 'make clean',然后在使用我的工具进行预处理步骤后继续进行通常的 make。
标签: shell build makefile gnu-make