From 881a87ecbab328656eb3e9d25c3ed6868587b197 Mon Sep 17 00:00:00 2001 From: Wolfgang Denk Date: Tue, 21 Feb 2006 17:33:04 +0100 Subject: Add GIT version information (commid ID) to untagged U-Boot versions As done in the linux kernel, the U-Boot version (U_BOOT_VERSION) of all unreleased (untagged) U-Boot images will be automatically extended upon compiletime with a part of the GIT commit ID and possibly with "dirty" if uncommited changes are detected. Here an example for the resulting version: "U-Boot 1.1.4-g3457ac18-dirty" The version is now maintained in the toplevel Makefile and the version headers are autogenerated. Patch by Stefan Roese, 9 Feb 2006 --- Makefile | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 9305cab38b..08a8e46708 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # -# (C) Copyright 2000-2005 +# (C) Copyright 2000-2006 # Wolfgang Denk, DENX Software Engineering, wd@denx.de. # # See file CREDITS for list of people who contributed to this @@ -21,6 +21,13 @@ # MA 02111-1307 USA # +VERSION = 1 +PATCHLEVEL = 1 +SUBLEVEL = 4 +EXTRAVERSION = +U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) +VERSION_FILE = include/version_autogenerated.h + HOSTARCH := $(shell uname -m | \ sed -e s/i.86/i386/ \ -e s/sun4u/sparc64/ \ @@ -154,14 +161,14 @@ u-boot.bin: u-boot u-boot.img: u-boot.bin ./tools/mkimage -A $(ARCH) -T firmware -C none \ -a $(TEXT_BASE) -e 0 \ - -n $(shell sed -n -e 's/.*U_BOOT_VERSION//p' include/version.h | \ + -n $(shell sed -n -e 's/.*U_BOOT_VERSION//p' $(VERSION_FILE) | \ sed -e 's/"[ ]*$$/ for $(BOARD) board"/') \ -d $< $@ u-boot.dis: u-boot $(OBJDUMP) -d $< > $@ -u-boot: depend $(SUBDIRS) $(OBJS) $(LIBS) $(LDSCRIPT) +u-boot: depend version $(SUBDIRS) $(OBJS) $(LIBS) $(LDSCRIPT) UNDEF_SYM=`$(OBJDUMP) -x $(LIBS) |sed -n -e 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\ $(LD) $(LDFLAGS) $$UNDEF_SYM $(OBJS) \ --start-group $(LIBS) --end-group $(PLATFORM_LIBS) \ @@ -173,6 +180,13 @@ $(LIBS): $(SUBDIRS): $(MAKE) -C $@ all +version: + @echo -n "#define U_BOOT_VERSION \"U-Boot " > $(VERSION_FILE); \ + echo -n "$(U_BOOT_VERSION)" >> $(VERSION_FILE); \ + echo -n $(shell $(CONFIG_SHELL) $(TOPDIR)/tools/setlocalversion \ + $(TOPDIR)) >> $(VERSION_FILE); \ + echo "\"" >> $(VERSION_FILE) + gdbtools: $(MAKE) -C tools/gdb || exit 1 @@ -1838,7 +1852,7 @@ clobber: clean -o -name '*.srec' -o -name '*.bin' -o -name u-boot.img \) \ -print0 \ | xargs -0 rm -f - rm -f $(OBJS) *.bak tags TAGS + rm -f $(OBJS) *.bak tags TAGS include/version_autogenerated.h rm -fr *.*~ rm -f u-boot u-boot.map u-boot.hex $(ALL) rm -f tools/crc32.c tools/environment.c tools/env/crc32.c -- cgit v1.2.3