Мои предшественники по одному из направлений использовали для этого
утилиту version.exe, увеличивающую при каждом запуске счетчик в
файле version.c содержимое version.c:
// Билд <изделия>
build=18;
и потом в начале main()
int build;
#include "version.c"
printf(" <Изделие> - версия 02, сборка %d\n",build);
В моих проектах эта автоматика отключена,
автоматику использую для добавления даты загрузки прошивки в МК и начальной установки RTC