rockbox/tools/genversion.sh
Michael Sevakis 21e2b595c2 Prevent spurious recompiles on account of changed version.
After a local commit, any file that included version.h would have to
be recompiled on account of the changed version string. This changes
version.h in the build directory to rbversion.h and includes the
preprocessor macro from rbversion.h in firmware/common/version.c so
that only that one file needs to be recompiled after a local commit
rather than a whole slew of them.

Change-Id: I900d97e3a24a0610698283416d97b4fa3a3a2cf6
Reviewed-on: http://gerrit.rockbox.org/937
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested: Michael Sevakis <jethead71@rockbox.org>
2014-08-28 15:48:56 +02:00

28 lines
900 B
Bash
Executable file

#!/bin/sh
# __________ __ ___.
# Open \______ \ ____ ____ | | _\_ |__ _______ ___
# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
# \/ \/ \/ \/ \/
# Usage: genversion.sh destination-dir path-to-version.sh [source-root]
# Generate rbversion.h file
# XXX DO NOT TWEAK VERSION HERE, EDIT version.sh INSTEAD
VERSION=`$2 $3`
cat > "$1/_rbversion.h" << EOF
/* Generated by genversion.sh */
#define RBVERSION "$VERSION"
EOF
if [ -f "$1/rbversion.h" ]
then if diff "$1/_rbversion.h" "$1/rbversion.h" > /dev/null
then rm -f "$1/_rbversion.h"
else mv "$1/_rbversion.h" "$1/rbversion.h"
fi
else mv "$1/_rbversion.h" "$1/rbversion.h"
fi