From 103cff93e239ecba1a95c931f2b13f43114b923f Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Mon, 21 Apr 2008 20:08:29 +0100 Subject: 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 --- .hgignore | 1 + Makefile | 7 +++++++ xen/Makefile | 12 ++++++++++-- xen/tools/Makefile | 4 ++-- 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 -- cgit v1.2.3