Set the superiotool version number from svn at build time. Signed-off-by: Ulf Jordan Index: superiotool.c =================================================================== --- superiotool.c (revision 2842) +++ superiotool.c (working copy) @@ -170,12 +170,7 @@ static void print_version(void) { - char tmp[80]; - - strncpy((char *)&tmp, - (const char *)&SUPERIOTOOL_VERSION[6], - strlen(SUPERIOTOOL_VERSION) - 8); - printf("superiotool r%s\n", (char *)&tmp); + printf("superiotool r%s\n", SUPERIOTOOL_VERSION); } int main(int argc, char *argv[]) Index: superiotool.h =================================================================== --- superiotool.h (revision 2842) +++ superiotool.h (working copy) @@ -29,8 +29,6 @@ #include #include -#define SUPERIOTOOL_VERSION "$Rev$" - #define USAGE "Usage: superiotool [-d] [-D] [-V] [-v] [-h]\n\n\ -d | --dump Dump Super I/O registers\n\ -D | --dump-readable Dump Super I/O registers in human-readable format\n\ Index: Makefile =================================================================== --- Makefile (revision 2842) +++ Makefile (working copy) @@ -24,14 +24,21 @@ INSTALL = /usr/bin/install PREFIX = /usr/local +# Set the superiotool version string from the highest revision number +# of the checked out superiotool files. +SVNDEF := -D'SUPERIOTOOL_VERSION="$(shell svnversion -cn . \ + | sed -e "s/.*://" -e "s/\([0-9]*\).*/\1/")"' + # TODO: -pedantic CFLAGS = -O2 -Wall -Werror -Wstrict-prototypes -Wundef -Wstrict-aliasing \ - -Werror-implicit-function-declaration -ansi + -Werror-implicit-function-declaration -ansi $(SVNDEF) OBJS = superiotool.o ali.o fintek.o ite.o nsc.o smsc.o winbond.o all: $(PROGRAM) +superiotool.o: *.c superiotool.h + $(PROGRAM): $(OBJS) superiotool.h $(CC) $(CFLAGS) -o $(PROGRAM) $(OBJS)