, , #defined constant version. -DMY_VERSION=.... , #ifndef, !
#ifndef MY_VERSION
#define MY_VERSION 0.0.1-alpha
#endif
print_version() {
printf("my product: %s\n", MY_VERSION);
}
, , makefile, MY_VERSION = "...". , , SCM.
, , :
echo -n 'MY_VERSION = "' > VERSION_FILE
git describe >> VERSION_FILE
echo "Compiled on $(date)" >> VERSION_FILE
...
echo '"' >> VERSION_FILE
make -DMY_VERSION='"$(MY_VERSION)"' .
: , make .
git, , . git describe - , . , , , , commit.