aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2008-04-21 20:08:29 +0100
committerKeir Fraser <keir.fraser@citrix.com>2008-04-21 20:08:29 +0100
commit103cff93e239ecba1a95c931f2b13f43114b923f (patch)
tree3bec92c04c4d77cd9596837de4b7719b50ea17b8
parent66a882392272346ce1d0bc5a26568894f450a7c0 (diff)
downloadxen-103cff93e239ecba1a95c931f2b13f43114b923f.tar.gz
xen-103cff93e239ecba1a95c931f2b13f43114b923f.tar.bz2
xen-103cff93e239ecba1a95c931f2b13f43114b923f.zip
Cache figlet output across builds, and provide src-tarball target
which creates figlet output and then deletes figlet itself (which is not licensed under GPL). Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
-rw-r--r--.hgignore1
-rw-r--r--Makefile7
-rw-r--r--xen/Makefile12
-rw-r--r--xen/tools/Makefile4
4 files changed, 20 insertions, 4 deletions
diff --git a/.hgignore b/.hgignore
index 5913471871..aded02539d 100644
--- a/.hgignore
+++ b/.hgignore
@@ -243,6 +243,7 @@
^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$
diff --git a/Makefile b/Makefile
index db1f47cccf..3d2b7fc01e 100644
--- 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:'
diff --git a/xen/Makefile b/xen/Makefile
index f2d2c7aa3c..092089fd55 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -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
diff --git a/xen/tools/Makefile b/xen/tools/Makefile
index 1609289c47..922f15fae4 100644
--- a/xen/tools/Makefile
+++ b/xen/tools/Makefile
@@ -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