C 在makefile中生成编译时间,通过宏传递给源代码使用

1、在makefile中获得时间:

_XUE_COMPILE_TIME = $(shell date +"%Y%m%d%H%M%S")
$(warning "XUE_COMPILE_TIME=$(_XUE_COMPILE_TIME)")

#COM_DEFS += XUE_COMPILE_TIME=$(_XUE_COMPILE_TIME)  

CFLAGS += -DXUE_COMPILE_TIME=$(_XUE_COMPILE_TIME)

 

2、在源代码文件中增加

#define _MACROSTR(x) #x
#define MACROSTR(x) _MACROSTR(x)
#define BUILDTIME MACROSTR(XUE_COMPILE_TIME)

 

//之后就可以在代码中直接使用字符串BUILDTIME了,例如

int main()

    printf("BUILDTIME=%s",BUILDTIME);

    return 0;

}

你可能感兴趣的:(C 在makefile中生成编译时间,通过宏传递给源代码使用)