如何使用makefile将变量的值附加到输出文件

时间:2016-01-21 17:45:15

标签: c gcc makefile

我正在使用arm-none-eabi-gcc开发ARM的C固件。 我的makefile已生成一个可刷新的.hex文件; 我想自定义.hex文件添加有用的信息。当然它将不再可以闪存,但该文件将与固件上传实用程序一起使用,该实用程序将能够解释该文件。 如果可能的话,我想在项目中包含一些有用的变量值。

即。在main.c中:

unsigned int version_num = 12;

output.hex文件的内容:

version=12
:020000040000FA
:10500000C00E0020355100004F51000051510000EA
:105010000000000000000000000000000000000090
:1050200000000000000000000000000053510000DC
:105030000000000000000000555100005751000022
:105040005951000059510000215A000059510000E7
...

1 个答案:

答案 0 :(得分:0)

makefile

output.hex: .hex
    sed -n 's/unsigned int version_num = \([0-9]*\);/version=\1/p' main.c|\
    cat - .hex >output.hex