Я для этого просто в Makefile сделал соответствующие вызовы:
eddy-em.livejournal.com
github.com/eddyem
https://github.com/eddyem/stm32samples/blob/master/makefile.stm32
VERSION_FILE = version.inc
ifeq ($(shell test -e $(VERSION_FILE) && echo -n yes), yes) NEXTVER := $(shell expr $$(awk '/#define BUILD_NUMBER/' $(VERSION_FILE) | tr -cd "[0-9]") + 1) else NEXTVER := "1" endif BUILDDATE := $(shell date +%Y-%m-%d)
$(VERSION_FILE): *.[ch] @[ -f $(VERSION_FILE) ] || echo -e "#define BUILD_NUMBER \"0\"\n#define BUILD_DATE \"none\"" > $(VERSION_FILE) @echo " Generate version: $(NEXTVER) for date $(BUILDDATE)" @sed -i "s/#define BUILD_NUMBER.*/#define BUILD_NUMBER \"$(NEXTVER)\"/" $(VERSION_FILE) @sed -i "s/#define BUILDNO.*/#define BUILDNO $(NEXTVER)/" $(VERSION_FILE) @sed -i "s/#define BUILD_DATE.*/#define BUILD_DATE \"$(BUILDDATE)\"/" $(VERSION_FILE)
И все! Инклюдим куда нужно version.inc - вуаля!