version.c: Remove unused version_git(). Found by cppcheck.
Introduce version.c to limit recompilation on version changes. Currently version.h includes git-version.h which changes whenever a different commit is checked out or the working tree becomes dirty because a file has been modified. Consequently, all .c files that include this header must be recompiled in this case. To limit the number of recompilations, this commit introduces version.c, which contains functions that return the various types of the version string. It is now the only file that includes version.h, so only version.o must be rebuilt if git-version.h changes. This also adds the build date, OS and CC version to the version output.
Make all commands print git version and improve version string. Currently the format of the first line of the help output varies between executables, for example: para_afh git (0.4.12.12.g15a4: spectral gravity) para_audioc git This difference comes from the fact that para_afh has its own ->print_help method which uses the VERSION_SINGLE_LINE macro of version.h while para_audioc relies on gengetopt's help output. The latter uses the make variable PACKAGE_VERSION which gets initialized at configure time through the second argument in AC_INIT of configure.ac. This value is either the version number for or the string "git". It's a good thing to have the abbreviated git version encoded in all executables, so this commit changes the argument of gengetopt's --set-version to the git version string including the codename. With the patch applied, the output of all commands looks like this if --version was given: para_filter 0.4.12.12.g11d7 (spectral gravity) To make sure things stay consistent, the patch introduces the VERSION_SINGLE_LINE macro and changes all commands to use it instead of open coding the version string.
Change copyright year to 2013. Better late than never.
Change year in copyright message to 2012.
doxify version.h and git-version.h.
Fix git-version file creation. ATM, this does not work well, since only the executables depend on GIT-VERSION-FILE, but relinking these does not take into account the new contents of GIT-VERSION-FILE. Hence a "make clean" is necessary to produce executables that reports the correct version number. This patch changes GIT-VERSION-GEN so that it generates a preprocessor define instead of setting a Makefile variable. This value is written to stdout in any case and also to the file named "$1" if an argument was given and the current git version differs from the contents of this file (or if the file does not exist). In order to not have to recompile everything on version changes, the macros related to versioning are moved from para.h into the new version.h file which is included only where necessary. Makefile.in no longer uses phony targets to include the GIT_VERSION variable. Instead we simply execute $(shell ./GIT_VERSION_FILE version.h) at the top of the Makefile.