Commit 57928140 authored by Bernhard Nortmann's avatar Bernhard Nortmann
Browse files

Add support for auto-updated version information



The Makefile will now use a script (autoversion.sh) to update
version.h, which in turn defines a VERSION string and gets
included from common.h.

The idea is that version.h normally receives a git-describe
based identifier that represents the current checkout. In
cases where git might not be available, e.g. for builds from
a tarball, the script will instead fall back to a predefined
version (that should reflect the most recent release tag).
Signed-off-by: default avatarBernhard Nortmann <bernhard.nortmann@web.de>
parent fc30490f
sunxi-fexc
bin2fex
fex2bin
sunxi-bootinfo
sunxi-fel
sunxi-pio
sunxi-fexc
sunxi-nand-part
sunxi-pio
version.h
*.o
*.swp
......@@ -61,7 +61,7 @@ all: tools target-tools
tools: $(TOOLS) $(FEXC_LINKS)
target-tools: $(TARGET_TOOLS)
misc: $(MISC_TOOLS)
misc: version.h $(MISC_TOOLS)
binfiles: $(BINFILES)
......@@ -85,9 +85,9 @@ install-target-tools: $(TARGET_TOOLS)
clean:
@rm -vf $(TOOLS) $(FEXC_LINKS) $(TARGET_TOOLS) $(MISC_TOOLS)
@rm -vf *.o *.elf *.sunxi *.bin *.nm *.orig
@rm -vf version.h *.o *.elf *.sunxi *.bin *.nm *.orig
$(TOOLS) $(TARGET_TOOLS): Makefile common.h
$(TOOLS) $(TARGET_TOOLS): Makefile common.h version.h
fex2bin bin2fex: sunxi-fexc
ln -nsf $< $@
......@@ -158,7 +158,10 @@ sunxi-meminfo: meminfo.c
sunxi-script_extractor: script_extractor.c
$(CROSS_COMPILE)gcc -g -O0 -Wall -static -o $@ $^
version.h:
@./autoversion.sh > $@
.gitignore: Makefile
@for x in $(TOOLS) $(FEXC_LINKS) $(TARGET_TOOLS) '*.o' '*.swp'; do \
@for x in $(TOOLS) $(FEXC_LINKS) $(TARGET_TOOLS) version.h '*.o' '*.swp'; do \
echo "$$x"; \
done > $@
done | sort -V > $@
#
# This script auto-updates a VERSION string definition.
# It outputs informational messages to stderr, while the actual
# output (on stdout) can easily be redirected to a file.
#
LATEST_RELEASE="v1.3"
if VER=`git describe --tags --dirty --always`; then
echo "Setting version information: ${VER}" >&2
else
VER=${LATEST_RELEASE}
echo "Unable to determine current version (using \"${VER}\" as fallback)" >&2
fi
echo >&2
echo "/* Auto-generated information. DO NOT EDIT */"
echo "#define VERSION \"${VER}\""
......@@ -19,6 +19,8 @@
#include <stddef.h> /* offsetof */
#include "version.h" /* auto-generated VERSION string */
/** flag function argument as unused */
#ifdef UNUSED
#elif defined(__GNUC__)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment