genversion: generate version.c and version.h independantly

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26349 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Rafaël Carré 2010-05-28 04:07:57 +00:00
parent 71cec646e6
commit 10dbaa24a7
2 changed files with 28 additions and 22 deletions

View File

@ -44,5 +44,8 @@ $(BUILDDIR)/sysfont.o: $(SYSFONT) $(BUILDDIR)/sysfont.h
$(call PRINTS,CONVBDF $(subst $(ROOTDIR)/,,$<))$(TOOLSDIR)/convbdf -l $(MAXCHAR) -c -o $(BUILDDIR)/sysfont.c $< $(call PRINTS,CONVBDF $(subst $(ROOTDIR)/,,$<))$(TOOLSDIR)/convbdf -l $(MAXCHAR) -c -o $(BUILDDIR)/sysfont.c $<
$(call PRINTS,CC $(subst $(ROOTDIR)/,,$(BUILDDIR)/sysfont.c))$(CC) $(CFLAGS) -c $(BUILDDIR)/sysfont.c -o $@ $(call PRINTS,CC $(subst $(ROOTDIR)/,,$(BUILDDIR)/sysfont.c))$(CC) $(CFLAGS) -c $(BUILDDIR)/sysfont.c -o $@
$(BUILDDIR)/version.c $(BUILDDIR)/version.h: $(BUILDDIR)/version.c: $(BUILDDIR)/version.h
$(TOOLSDIR)/genversion.sh $(BUILDDIR) $(TOOLSDIR)/version.sh $(ROOTDIR) $(TOOLSDIR)/genversion.sh c $(BUILDDIR) $(TOOLSDIR)/version.sh $(ROOTDIR)
$(BUILDDIR)/version.h:
$(TOOLSDIR)/genversion.sh h $(BUILDDIR) $(TOOLSDIR)/version.sh $(ROOTDIR)

View File

@ -6,37 +6,40 @@
# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ # Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
# \/ \/ \/ \/ \/ # \/ \/ \/ \/ \/
# Usage: genversion.sh destination-dir path-to-version.sh [source-root] # Usage: genversion.sh c/h destination-dir path-to-version.sh [source-root]
# Generate version.[ch] files # Generate version.[ch] files (if first argument is c or h)
VERSION=`$2 $3` # XXX DO NOT TWEAK VERSION HERE, EDIT version.sh INSTEAD
cat > "$1/_version.h" << EOF VERSION=`$3 $4`
if [ "$1" = "h" ]; then
cat > "$2/_version.h" << EOF
/* Generated by genversion.sh */ /* Generated by genversion.sh */
extern const char rbversion[]; extern const char rbversion[];
#define RBVERSION "$VERSION" #define RBVERSION "$VERSION"
EOF EOF
if [ -f "$1/version.h" ] if [ -f "$2/version.h" ]
then if diff "$1/_version.h" "$1/version.h" > /dev/null then if diff "$2/_version.h" "$2/version.h" > /dev/null
then mv "$1/_version.h" "$1/version.h" then mv "$2/_version.h" "$2/version.h"
else rm -f "$1/_version.h" else rm -f "$2/_version.h"
fi
else mv "$2/_version.h" "$2/version.h"
fi fi
else mv "$1/_version.h" "$1/version.h" elif [ "$1" = "c" ]; then
fi cat > "$2/_version.c" << EOF
cat > "$1/_version.c" << EOF
/* Generated by genversion.sh */ /* Generated by genversion.sh */
const char rbversion[] = "$VERSION"; #include "version.h"
const char rbversion[] = RBVERSION;
EOF EOF
if [ -f "$1/version.c" ] if [ -f "$2/version.c" ]
then if diff "$1/_version.c" "$1/version.c" > /dev/null then if diff "$2/_version.c" "$2/version.c" > /dev/null
then mv "$1/_version.c" "$1/version.c" then mv "$2/_version.c" "$2/version.c"
else rm -f "$1/_version.c" else rm -f "$2/_version.c"
fi
else mv "$2/_version.c" "$2/version.c"
fi fi
else mv "$1/_version.c" "$1/version.c"
fi fi