]> xenbits.xensource.com Git - xen.git/commitdiff
Cache figlet output across builds, and provide src-tarball target
authorKeir Fraser <keir.fraser@citrix.com>
Mon, 21 Apr 2008 19:08:29 +0000 (20:08 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Mon, 21 Apr 2008 19:08:29 +0000 (20:08 +0100)
which creates figlet output and then deletes figlet itself (which is
not licensed under GPL).

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
.hgignore
Makefile
xen/Makefile
xen/tools/Makefile

index 591347187109204144df5d291b98c6743883edb1..aded02539da2c086eebd45c3b7a1f37fb1439ff5 100644 (file)
--- a/.hgignore
+++ b/.hgignore
 ^tools/xm-test/lib/XmTestLib/config.py$
 ^tools/xm-test/lib/XmTestReport/xmtest.py$
 ^tools/xm-test/tests/.*\.test$
+^xen/\.banner.*$
 ^xen/BLOG$
 ^xen/System.map$
 ^xen/TAGS$
index db1f47cccf04313a298c2c4fed962b8ed2eb466e..3d2b7fc01e98d8d455f0be35d253bfd1f3264448 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -122,6 +122,13 @@ distclean:
 .PHONY: mrproper
 mrproper: distclean
 
+# Prepare for source tarball
+.PHONY: src-tarball
+src-tarball: distclean
+       $(MAKE) -C xen .banner
+       rm -rf xen/tools/figlet
+       $(MAKE) -C xen distclean
+
 .PHONY: help
 help:
        @echo 'Installation targets:'
index f2d2c7aa3c67882251607ebf8ff8248dcc4d00be..092089fd55b08e66d8f1a5ee20e990e695927599 100644 (file)
@@ -44,6 +44,7 @@ _clean: delete-unfresh-files
        $(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) clean
        rm -f include/asm *.o $(TARGET)* *~ core
        rm -f include/asm-*/asm-offsets.h
+       [ -d tools/figlet ] && rm -f .banner*
 
 .PHONY: _distclean
 _distclean: clean
@@ -70,8 +71,14 @@ delete-unfresh-files:
                rm -f include/xen/compile.h; \
        fi
 
+.banner: Makefile
+       $(MAKE) -C tools
+       @tools/figlet/figlet -d tools/figlet Xen $(XEN_FULLVERSION) 2>$@2 >$@1
+       @cat $@1 $@2 >$@
+       @rm -f $@1 $@2
+
 # compile.h contains dynamic build info. Rebuilt on every 'make' invocation.
-include/xen/compile.h: include/xen/compile.h.in
+include/xen/compile.h: include/xen/compile.h.in .banner
        @sed -e 's/@@date@@/$(shell LC_ALL=C date)/g' \
            -e 's/@@time@@/$(shell LC_ALL=C date +%T)/g' \
            -e 's/@@whoami@@/$(USER)/g' \
@@ -83,7 +90,8 @@ include/xen/compile.h: include/xen/compile.h.in
            -e 's/@@extraversion@@/$(XEN_EXTRAVERSION)/g' \
            -e 's!@@changeset@@!$(shell ((hg parents --template "{date|date} {rev}:{node|short}" >/dev/null && hg parents --template "{date|date} {rev}:{node|short}") || echo "unavailable") 2>/dev/null)!g' \
            < include/xen/compile.h.in > $@.new
-       tools/figlet/figlet -d tools/figlet Xen $(XEN_FULLVERSION) >> $@.new
+       @grep \" .banner >> $@.new
+       @grep -v \" .banner
        @mv -f $@.new $@
 
 include/asm-$(TARGET_ARCH)/asm-offsets.h: arch/$(TARGET_ARCH)/asm-offsets.s
index 1609289c4713e61e935c14357737f14ae91ce3bd..922f15fae4186f0e7ffd5cc55c30d0e8df318326 100644 (file)
@@ -4,12 +4,12 @@ include $(XEN_ROOT)/Config.mk
 
 .PHONY: default
 default:
-       $(MAKE) -C figlet
+       [ -d figlet ] && $(MAKE) -C figlet
        $(MAKE) symbols
 
 .PHONY: clean
 clean:
-       $(MAKE) -C figlet clean
+       [ -d figlet ] && $(MAKE) -C figlet clean
        rm -f *.o symbols
 
 symbols: symbols.c