[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] Add hvm headers to HDRS variable.



# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 4d16755748ebbd12f0428d1ead645f6dd227fe28
# Parent  b54bba73936d4c0c6a279108da05b4221cdf58a9
Add hvm headers to HDRS variable.

xen-unstable changeset: 9540:c1d53788a25e07b4ac4ef49c3e3d76f7ad3f6b8f
xen-unstable date: Wed Apr  5 15:42:01 2006 +0100

Clean up HDRS Makefile variable.

Signed-off-by: Keir Fraser <keir.com>
xen-unstable changeset: 9541:133ce326febdae137e106c0b0089a8c127631662
xen-unstable date: Wed Apr  5 15:46:01 2006 +0100

Clean up build system some more. No need to explicitly
include Rules.mk/Post.mk all over the place.

Signed-off-by: Keir Fraser <keir.com>
xen-unstable changeset: 9542:68ef2efa929b26f9e5ab71a5590c899d044c48ce
xen-unstable date: Wed Apr  5 17:15:34 2006 +0100

Avoid double slashes in linker object file lists.

Signed-off-by: Keir Fraser <keir.com>
xen-unstable changeset: 9582:b84517e3fc3042f4bfe822d39eca87be0fad5932
xen-unstable date: Fri Apr  7 14:26:02 2006 +0100

Remove unused netbsd build fragments.

Signed-Off-By: Homrs <horms.net.au>
xen-unstable changeset: 9597:c83da0012e87e4b1d83bb61ec338616fbcf3b141
xen-unstable date: Mon Apr 10 16:26:52 2006 +0100

build: Remove iptables and python loging helper targets

These targets don't really fit into the build infastructure,
for instance there is no faclilty for them to be removed
on make distclean. I posted a patch that fleshed out the targets,
but Christian Limpach suggested to me that removing them
would be a better idea.

Signed-Off-By: Horms <horms.net.au>
xen-unstable changeset: 9598:095519654079f55af70943004e448fb779ac4c5a
xen-unstable date: Mon Apr 10 16:27:46 2006 +0100

build: Make sure that DESTDIR is set

In the case where XEN_PYTHON_NATIVE_INSTALL is in effect,
if DESTDIR is not set then the install will go into a relative
directory rather than under the default prefix (usually /usr).

An alternate solution would be to update the fragments
that do the python install to use 2062 2062 141 126DESTDIR)/ instead of
2062 2062 141 126DESTDIR). This is not an incredible burden as there
are only two such fragments in the tree. However, it
seems prone to error as new makefiles are created
in the future.

Signed-Off-By: Horms <horms.net.au>
xen-unstable changeset: 9599:baa1742637b7e4a2d94db08b4f12c2a0f8b07128
xen-unstable date: Mon Apr 10 16:31:53 2006 +0100

build: clean up output of make help a little bit

Signed-Off-By: Horms <horms.net.au>
xen-unstable changeset: 9600:82dfb97fe5ea6d9e0c279b0c2de0688c09c1e4e4
xen-unstable date: Mon Apr 10 16:34:59 2006 +0100

build: Document the use of XEN_PYTHON_NATIVE_INSTALL

Document the use of the XEN_PYTHON_NATIVE_INSTALL environment variable

Signed-Off-By: Horms <horms.net.au>
xen-unstable changeset: 9601:066a233ee3659fb1e52a4bca05727e5cdd12004a
xen-unstable date: Mon Apr 10 16:35:30 2006 +0100

build: Clean up use of .PHONY

* Move .PHONY directives next to targets,
  this makes them a lot harder to miss
* Add missing .PHONY directives
* Remove nonexistent .PHONY directives
* Hopefully I didn'T miss anything...

Signed-Off-By: Horms <horms.net.au>
xen-unstable changeset: 9607:b454a09cddb1a4ba44e8a810f8f6779c5e5bb3ef
xen-unstable date: Mon Apr 10 17:02:49 2006 +0100

Fix a couple of typos.

Signed-off-by: Keir Fraser <keir.com>
xen-unstable changeset: 9610:7a41b35d73f40246ea839a0628f50dd937b21d50
xen-unstable date: Mon Apr 10 17:28:02 2006 +0100

Remove some bogus .PHONY Makefile declarations.
Fixes xentop installation.

Signed-off-by: Keir Fraser <keir.com>
xen-unstable changeset: 9616:c783f340bef82223eb5fcd88093fd919f41790b6
xen-unstable date: Tue Apr 11 09:58:04 2006 +0100

This fixes the Xen Makefile to allow correct building of cscope, TAGS
and tags. Prior to this the asm directory was not constructed correctly
for the "find" command. "xencope.*" has been added to ".hgignore".

Signed-off-by: Aravindh Puthiyaparambil
               <aravindh.puthiyaparambil.com>
xen-unstable changeset: 9629:4f0ecc016cd1ebda3bff176c8c01113c35b05c7b
xen-unstable date: Thu Apr 13 10:45:43 2006 +0100

Clean up xen Makefile. Use _-prefixed rules to avoid a
comparsion with XEN_ROOT variable.

Signed-off-by: Keir Fraser <keir.com>
xen-unstable changeset: 9630:c9d706834d25a9efe5bd3a98cbf32c6998f30ab4
xen-unstable date: Thu Apr 13 10:57:57 2006 +0100

In some cases, say for instance for some bizzare reason
the tree was checked out of CVS, which doens't neccessarily
store file permissions, mkbuildtree may not be executable.
So run them explicitly via bash.

Signed-Off-By: Horms <horms.net.au>
xen-unstable changeset: 9636:3c05406f5e0acc37eb3e59311c7d1c3cf245dc29
xen-unstable date: Thu Apr 13 11:24:00 2006 +0100

Fix "make debug" in Xen subtree. Pointed out by Aravindh
at Unisys.

Signed-off-by: Keir Fraser <keir.com>
xen-unstable changeset: 9736:25e4cd1c3d269022dc6c75dfddac9710e092f575
xen-unstable date: Tue Apr 25 08:54:36 2006 +0100

Fix fault handler for both 32 and 64 bit architecture. Clean up unused code.
Signed-off-by: Grzegorz Milos <gm281.ac.uk>
Signed-off-by: Aravindh Puthiyaparambil
<aravindh.puthiyaparambil.com>
xen-unstable changeset: 9923:62c8e97d56cfea3708a2bd308330d71047623888
xen-unstable date: Thu May  4 11:19:27 2006 +0100

Make Xen version numbers more flexible.

Signed-off-by: Christian Limpach <Christian.Limpach.cam.ac.uk>
xen-unstable changeset: 9958:c51c1e7ce0a343e02d31c691b317092387505f4c
xen-unstable date: Mon May  8 16:41:22 2006 +0100

Make cscope hgignore wildcard a little bit less permissive.

Signed-off-by: Christian Limpach <Christian.Limpach.cam.ac.uk>
xen-unstable changeset: 9959:4bc1229b257391aa4de6c95796d42d6d7009dc33
xen-unstable date: Mon May  8 17:18:19 2006 +0100
---
 xen/Post.mk                                   |   27 ---------
 .hgignore                                     |    1 
 Config.mk                                     |    1 
 Makefile                                      |   60 +++++++++++---------
 buildconfigs/Rules.mk                         |   40 +------------
 buildconfigs/mk.linux-2.6-xen                 |   20 +++---
 docs/Makefile                                 |   13 +++-
 extras/mini-os/Makefile                       |   11 +++
 linux-2.6-xen-sparse/mkbuildtree              |    8 +-
 tools/Makefile                                |    8 ++
 tools/Rules.mk                                |    1 
 tools/blktap/Makefile                         |    5 +
 tools/blktap/parallax/Makefile                |    4 +
 tools/blktap/ublkback/Makefile                |    6 +-
 tools/check/Makefile                          |    6 +-
 tools/console/Makefile                        |    3 +
 tools/console/testsuite/Makefile              |    2 
 tools/debugger/gdb/gdbbuild                   |    2 
 tools/debugger/libxendebug/Makefile           |    9 ++-
 tools/debugger/pdb/Makefile                   |    2 
 tools/debugger/pdb/linux-2.6-module/Makefile  |    2 
 tools/debugger/pdb/linux-2.6-patches/Makefile |    1 
 tools/examples/Makefile                       |   10 +++
 tools/firmware/Makefile                       |    5 +
 tools/firmware/acpi/Makefile                  |    4 +
 tools/firmware/hvmloader/Makefile             |    2 
 tools/firmware/rombios/Makefile               |    3 +
 tools/firmware/vgabios/Makefile               |    5 +
 tools/firmware/vmxassist/Makefile             |    2 
 tools/guest-headers/Makefile                  |    4 +
 tools/ioemu/Makefile                          |    9 +++
 tools/ioemu/target-i386-dm/Makefile           |    4 +
 tools/libxc/Makefile                          |   10 ++-
 tools/misc/Makefile                           |    5 +
 tools/misc/cpuperf/Makefile                   |    3 +
 tools/misc/lomount/Makefile                   |    5 +
 tools/misc/mbootpack/Makefile                 |    6 +-
 tools/misc/miniterm/Makefile                  |    3 +
 tools/misc/nsplitd/Makefile                   |    3 +
 tools/misc/xen-clone                          |    2 
 tools/pygrub/Makefile                         |    4 +
 tools/python/Makefile                         |    8 ++
 tools/security/Makefile                       |    8 ++
 tools/sv/Makefile                             |    1 
 tools/tests/Makefile                          |    3 +
 tools/vnet/Makefile                           |   15 +++--
 tools/vnet/doc/Makefile                       |    4 +
 tools/vnet/examples/Makefile                  |    7 +-
 tools/vnet/libxutil/Makefile                  |    5 +
 tools/vnet/scripts/Makefile                   |    7 +-
 tools/vnet/vnetd/Makefile                     |    3 +
 tools/vtpm/Makefile                           |    6 ++
 tools/vtpm_manager/Makefile                   |    5 +
 tools/vtpm_manager/crypto/Makefile            |    5 +
 tools/vtpm_manager/manager/Makefile           |    5 +
 tools/vtpm_manager/tcs/Makefile               |    5 +
 tools/vtpm_manager/util/Makefile              |    5 +
 tools/xcutils/Makefile                        |    3 +
 tools/xenmon/Makefile                         |    4 +
 tools/xenstat/libxenstat/Makefile             |   10 +++
 tools/xenstat/xentop/Makefile                 |    6 +-
 tools/xenstore/Makefile                       |   18 ++++++
 tools/xentrace/Makefile                       |    5 +
 xen/Makefile                                  |   77 +++++++++++++++-----------
 xen/Rules.mk                                  |   59 +++++++++++++++----
 xen/acm/Makefile                              |    4 -
 xen/arch/ia64/Makefile                        |   11 +--
 xen/arch/ia64/linux-xen/Makefile              |    4 -
 xen/arch/ia64/linux/Makefile                  |    5 -
 xen/arch/ia64/tools/privop/Makefile           |    2 
 xen/arch/ia64/vmx/Makefile                    |    4 -
 xen/arch/ia64/xen/Makefile                    |    4 -
 xen/arch/x86/Makefile                         |   11 +--
 xen/arch/x86/Rules.mk                         |    4 +
 xen/arch/x86/acpi/Makefile                    |    4 -
 xen/arch/x86/cpu/Makefile                     |    4 -
 xen/arch/x86/cpu/mcheck/Makefile              |    4 -
 xen/arch/x86/cpu/mtrr/Makefile                |    4 -
 xen/arch/x86/genapic/Makefile                 |    4 -
 xen/arch/x86/hvm/Makefile                     |    4 -
 xen/arch/x86/hvm/svm/Makefile                 |    4 -
 xen/arch/x86/hvm/svm/x86_32/Makefile          |    4 -
 xen/arch/x86/hvm/svm/x86_64/Makefile          |    4 -
 xen/arch/x86/hvm/vmx/Makefile                 |    4 -
 xen/arch/x86/hvm/vmx/x86_32/Makefile          |    4 -
 xen/arch/x86/hvm/vmx/x86_64/Makefile          |    4 -
 xen/arch/x86/x86_32/Makefile                  |    4 -
 xen/arch/x86/x86_64/Makefile                  |    4 -
 xen/common/Makefile                           |    4 -
 xen/drivers/Makefile                          |    4 -
 xen/drivers/acpi/Makefile                     |    4 -
 xen/drivers/char/Makefile                     |    4 -
 xen/tools/Makefile                            |    2 
 xen/tools/figlet/Makefile                     |    1 
 94 files changed, 436 insertions(+), 283 deletions(-)

diff -r b54bba73936d -r 4d16755748eb .hgignore
--- a/.hgignore Fri May 12 15:49:11 2006 +0100
+++ b/.hgignore Fri May 12 22:35:05 2006 +0100
@@ -14,6 +14,7 @@
 .*\.orig$
 .*\.rej$
 .*/a\.out$
+.*/cscope\.*$
 ^[^/]*\.bz2$
 ^TAGS$
 ^dist/.*$
diff -r b54bba73936d -r 4d16755748eb Config.mk
--- a/Config.mk Fri May 12 15:49:11 2006 +0100
+++ b/Config.mk Fri May 12 22:35:05 2006 +0100
@@ -24,6 +24,7 @@ OBJDUMP    = $(CROSS_COMPILE)objdump
 OBJDUMP    = $(CROSS_COMPILE)objdump
 
 DISTDIR     ?= $(XEN_ROOT)/dist
+DESTDIR     ?= /
 
 INSTALL      = install
 INSTALL_DIR  = $(INSTALL) -d -m0755
diff -r b54bba73936d -r 4d16755748eb Makefile
--- a/Makefile  Fri May 12 15:49:11 2006 +0100
+++ b/Makefile  Fri May 12 22:35:05 2006 +0100
@@ -14,6 +14,7 @@ endif
 endif
 
 # Default target must appear before any include lines
+.PHONY: all
 all: dist
 
 XEN_ROOT=$(CURDIR)
@@ -24,12 +25,11 @@ export pae=y
 export pae=y
 endif
 
-.PHONY:        all dist install xen kernels tools dev-docs docs world clean
-.PHONY:        mkpatches mrproper kbuild kdelete kclean
-
 # build and install everything into the standard system directories
+.PHONY: install
 install: install-xen install-kernels install-tools install-docs
 
+.PHONY: build
 build: kernels
        $(MAKE) -C xen build
        $(MAKE) -C tools build
@@ -38,10 +38,12 @@ build: kernels
 # The test target is for unit tests that can run without an installation.  Of
 # course, many tests require a machine running Xen itself, and these are
 # handled elsewhere.
+.PHONY: test
 test:
        $(MAKE) -C tools/python test
 
 # build and install everything into local dist directory
+.PHONY: dist
 dist: DESTDIR=$(DISTDIR)/install
 dist: dist-xen dist-kernels dist-tools dist-docs
        $(INSTALL_DIR) $(DISTDIR)/check
@@ -54,79 +56,83 @@ dist-%: install-%
        @: # do nothing
 
 # Legacy dist targets
+.PHONY: xen tools kernels docs
 xen: dist-xen
 tools: dist-tools
 kernels: dist-kernels
 docs: dist-docs
 
+.PHONY: prep-kernels
 prep-kernels:
        for i in $(XKERNELS) ; do $(MAKE) $$i-prep || exit 1; done
 
+.PHONY: install-xen
 install-xen:
        $(MAKE) -C xen install
 
+.PHONY: install-tools
 install-tools:
        $(MAKE) -C tools install
 
+.PHONY: install-kernels
 install-kernels:
        for i in $(XKERNELS) ; do $(MAKE) $$i-install || exit 1; done
 
+.PHONY: install-docs
 install-docs:
        sh ./docs/check_pkgs && $(MAKE) -C docs install || true
 
+.PHONY: dev-docs
 dev-docs:
        $(MAKE) -C docs dev-docs
 
 # Build all the various kernels and modules
+.PHONY: kbuild
 kbuild: kernels
 
 # Delete the kernel build trees entirely
+.PHONY: kdelete
 kdelete:
        for i in $(XKERNELS) ; do $(MAKE) $$i-delete ; done
 
 # Clean the kernel build trees
+.PHONY: kclean
 kclean:
        for i in $(XKERNELS) ; do $(MAKE) $$i-clean ; done
 
 # Make patches from kernel sparse trees
+.PHONY: mkpatches
 mkpatches:
        for i in $(ALLSPARSETREES) ; do $(MAKE) $$i-xen.patch; done
 
 # build xen, the tools, and a domain 0 plus unprivileged linux-xen images,
 # and place them in the install directory. 'make install' should then
 # copy them to the normal system directories
+.PHONY: world
 world: 
        $(MAKE) clean
        $(MAKE) kdelete
        $(MAKE) dist
 
 # clean doesn't do a kclean
+.PHONY: clean
 clean:: 
        $(MAKE) -C xen clean
        $(MAKE) -C tools clean
        $(MAKE) -C docs clean
 
 # clean, but blow away kernel build tree plus tarballs
+.PHONY: distclean
 distclean: clean
        rm -rf dist patches/tmp
        for i in $(ALLKERNELS) ; do $(MAKE) $$i-delete ; done
        for i in $(ALLSPARSETREES) ; do $(MAKE) $$i-mrproper ; done
 
 # Linux name for GNU distclean
+.PHONY: mrproper
 mrproper: distclean
 
-install-logging: LOGGING=logging-0.4.9.2
-install-logging:
-       [ -f $(LOGGING).tar.gz ] || wget 
http://www.red-dove.com/$(LOGGING).tar.gz
-       tar -zxf $(LOGGING).tar.gz
-       cd $(LOGGING) && python setup.py install
-
-# handy target to upgrade iptables (use rpm or apt-get in preference)
-install-iptables:
-       wget http://www.netfilter.org/files/iptables-1.2.11.tar.bz2
-       tar -jxf iptables-1.2.11.tar.bz2
-       $(MAKE) -C iptables-1.2.11 PREFIX= 
KERNEL_DIR=../linux-$(LINUX_VER)-xen0 install
-
+.PHONY: help
 help:
        @echo 'Installation targets:'
        @echo '  install          - build and install everything'
@@ -147,25 +153,28 @@ help:
        @echo '  dev-docs         - build developer-only documentation'
        @echo ''
        @echo 'Cleaning targets:'
-       @echo '  clean            - clean the Xen, tools and docs (but not'
-       @echo '                     guest kernel) trees'
-       @echo '  distclean        - clean plus delete kernel tarballs and 
kernel'
-       @echo '                     build trees'
+       @echo '  clean            - clean the Xen, tools and docs (but not 
guest kernel trees)'
+       @echo '  distclean        - clean plus delete kernel build trees and'
+       @echo '                     local downloaded files'
        @echo '  kdelete          - delete guest kernel build trees'
        @echo '  kclean           - clean guest kernel build trees'
-       @echo ''
-       @echo 'Dependency installation targets:'
-       @echo '  install-logging  - install the Python Logging package'
-       @echo '  install-iptables - install iptables tools'
        @echo ''
        @echo 'Miscellaneous targets:'
        @echo '  prep-kernels     - prepares kernel directories, does not build'
        @echo '  mkpatches        - make patches against vanilla kernels from'
        @echo '                     sparse trees'
-       @echo '  uninstall        - attempt to remove installed Xen tools (use'
-       @echo '                     with extreme care!)'
+       @echo '  uninstall        - attempt to remove installed Xen tools'
+       @echo '                     (use with extreme care!)'
+       @echo
+       @echo 'Environment:'
+       @echo '  XEN_PYTHON_NATIVE_INSTALL=y'
+       @echo '                   - native python install or dist'
+       @echo '                     install into prefix/lib/python<VERSION>'
+       @echo '                     instead of <PREFIX>/lib/python'
+       @echo '                     true if set to non-empty value, false 
otherwise'
 
 # Use this target with extreme care!
+.PHONY: uninstall
 uninstall: D=$(DESTDIR)
 uninstall:
        [ -d $(D)/etc/xen ] && mv -f $(D)/etc/xen $(D)/etc/xen.old-`date +%s` 
|| true
@@ -199,5 +208,6 @@ uninstall:
        rm -rf $(D)/usr/share/man/man8/xen*
 
 # Legacy targets for compatibility
+.PHONY: linux26
 linux26:
        $(MAKE) 'KERNELS=linux-2.6*' kernels
diff -r b54bba73936d -r 4d16755748eb buildconfigs/Rules.mk
--- a/buildconfigs/Rules.mk     Fri May 12 15:49:11 2006 +0100
+++ b/buildconfigs/Rules.mk     Fri May 12 22:35:05 2006 +0100
@@ -5,8 +5,6 @@ export DESTDIR
 
 ALLKERNELS = $(patsubst buildconfigs/mk.%,%,$(wildcard buildconfigs/mk.*))
 ALLSPARSETREES = $(patsubst %-xen-sparse,%,$(wildcard *-xen-sparse))
-
-.PHONY:        mkpatches mrproper
 
 # Setup pristine search path
 PRISTINE_SRC_PATH      ?= .:..
@@ -40,29 +38,6 @@ patch-%.bz2:
        @echo "Cannot find $(@F) in path $(LINUX_SRC_PATH)"
        wget 
$(KERNEL_REPO)/pub/linux/kernel/v$(_LINUX_VDIR)/$(_LINUX_XDIR)/$(@F) -O./$@
 
-# Expand NetBSD release to NetBSD version
-NETBSD_RELEASE  ?= 2.0
-NETBSD_VER      ?= $(patsubst netbsd-%-xen-sparse,%,$(wildcard 
netbsd-$(NETBSD_RELEASE)*-xen-sparse))
-NETBSD_CVSSNAP  ?= 20050309
-
-# Setup NetBSD search path
-NETBSD_SRC_PATH        ?= .:..
-vpath netbsd-%.tar.bz2 $(NETBSD_SRC_PATH)
-
-# download a pristine NetBSD tarball if there isn't one in NETBSD_SRC_PATH
-netbsd-%-xen-kernel-$(NETBSD_CVSSNAP).tar.bz2:
-       @echo "Cannot find $@ in path $(NETBSD_SRC_PATH)"
-       wget http://www.cl.cam.ac.uk/Research/SRG/netos/xen/downloads/$@ -O./$@
-
-netbsd-%.tar.bz2: netbsd-%-xen-kernel-$(NETBSD_CVSSNAP).tar.bz2
-       ln -fs $< $@
-
-ifeq ($(OS),linux)
-OS_VER = $(LINUX_VER)
-else
-OS_VER = $(NETBSD_VER)
-endif
-
 pristine-%: pristine-%/.valid-pristine
        @true
 
@@ -84,6 +59,7 @@ ifneq ($(PATCHDIRS),)
 $(patsubst patches/%,patches/%/.makedep,$(PATCHDIRS)): patches/%/.makedep: 
        @echo 'ref-$*/.valid-ref: $$(wildcard patches/$*/*.patch)' >$@
 
+.PHONY: clean
 clean::
        rm -f patches/*/.makedep
 
@@ -123,28 +99,22 @@ linux-2.6-xen.patch: ref-linux-$(LINUX_V
 linux-2.6-xen.patch: ref-linux-$(LINUX_VER)/.valid-ref
        rm -rf tmp-$@
        cp -al $(<D) tmp-$@
-       ( cd linux-2.6-xen-sparse && ./mkbuildtree ../tmp-$@ )  
+       ( cd linux-2.6-xen-sparse && bash ./mkbuildtree ../tmp-$@ )     
        diff -Nurp $(patsubst ref%,pristine%,$(<D)) tmp-$@ > $@ || true
        rm -rf tmp-$@
 
 %-xen.patch: ref-%/.valid-ref
        rm -rf tmp-$@
        cp -al $(<D) tmp-$@
-       ( cd $*-xen-sparse && ./mkbuildtree ../tmp-$@ ) 
+       ( cd $*-xen-sparse && bash ./mkbuildtree ../tmp-$@ )    
        diff -Nurp $(patsubst ref%,pristine%,$(<D)) tmp-$@ > $@ || true
        rm -rf tmp-$@
 
-%-mrproper: %-mrproper-extra
+%-mrproper:
        rm -rf pristine-$(*)* ref-$(*)* $*.tar.bz2
        rm -rf $*-xen.patch
 
-netbsd-%-mrproper-extra:
-       rm -rf netbsd-$*-tools netbsd-$*-tools.tar.bz2
-       rm -f netbsd-$*-xen-kernel-$(NETBSD_CVSSNAP).tar.bz2
-
-%-mrproper-extra:
-       @: # do nothing
-
+.PHONY: config-update-pae
 config-update-pae:
 ifeq ($(XEN_TARGET_X86_PAE),y)
        sed -e 's!^CONFIG_HIGHMEM4G=y$$!\# CONFIG_HIGHMEM4G is not set!;s!^\# 
CONFIG_HIGHMEM64G is not set$$!CONFIG_HIGHMEM64G=y!' $(CONFIG_FILE) > 
$(CONFIG_FILE)- && mv $(CONFIG_FILE)- $(CONFIG_FILE)
diff -r b54bba73936d -r 4d16755748eb buildconfigs/mk.linux-2.6-xen
--- a/buildconfigs/mk.linux-2.6-xen     Fri May 12 15:49:11 2006 +0100
+++ b/buildconfigs/mk.linux-2.6-xen     Fri May 12 22:35:05 2006 +0100
@@ -1,19 +1,15 @@
-
-OS           = linux
-
 LINUX_SERIES = 2.6
 LINUX_VER    = 2.6.16
 LINUX_SRCS = linux-2.6.16.tar.bz2
 
 EXTRAVERSION ?= xen
 
-LINUX_DIR    = $(OS)-$(LINUX_VER)-$(EXTRAVERSION)
+LINUX_DIR    = linux-$(LINUX_VER)-$(EXTRAVERSION)
 
 include buildconfigs/Rules.mk
 
-.PHONY: build clean delete
-
 # The real action starts here!
+.PHONY: build
 build: $(LINUX_DIR)/include/linux/autoconf.h
        if grep "^CONFIG_MODULES=" $(LINUX_DIR)/.config ; then \
            $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) modules ; \
@@ -22,12 +18,12 @@ build: $(LINUX_DIR)/include/linux/autoco
        $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) INSTALL_PATH=$(DESTDIR) 
vmlinuz
        $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) INSTALL_PATH=$(DESTDIR) 
install
 
-$(LINUX_DIR)/include/linux/autoconf.h: ref-$(OS)-$(LINUX_VER)/.valid-ref
+$(LINUX_DIR)/include/linux/autoconf.h: ref-linux-$(LINUX_VER)/.valid-ref
        rm -rf $(LINUX_DIR)
        cp -al $(<D) $(LINUX_DIR)
        # Apply arch-xen patches
-       ( cd linux-$(LINUX_SERIES)-xen-sparse ; \
-          LINUX_ARCH=$(LINUX_ARCH) ./mkbuildtree ../$(LINUX_DIR) )
+       ( cd linux-$(LINUX_SERIES)-xen-sparse && \
+          LINUX_ARCH=$(LINUX_ARCH) bash ./mkbuildtree ../$(LINUX_DIR) )
        # Re-use config from install dir if one exits else use default config
        CONFIG_VERSION=$$(sed -ne 's/^EXTRAVERSION = //p' 
$(LINUX_DIR)/Makefile); \
        [ -r 
$(DESTDIR)/boot/config-$(LINUX_VER)$$CONFIG_VERSION-$(EXTRAVERSION) ] && \
@@ -42,14 +38,18 @@ build: $(LINUX_DIR)/include/linux/autoco
          rm -f Makefile ; mv Mk.tmp Makefile )
        $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) oldconfig
 
+.PHONY: prep
 prep: $(LINUX_DIR)/include/linux/autoconf.h
 
+.PHONY: config
 config: CONFIGMODE = menuconfig
 config: $(LINUX_DIR)/include/linux/autoconf.h
        $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) $(CONFIGMODE)
 
+.PHONY: clean
 clean::
        $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) clean
 
+.PHONY: delete
 delete: 
-       rm -rf tmp-$(OS)-$(LINUX_VER) $(LINUX_DIR) 
+       rm -rf tmp-linux-$(LINUX_VER) $(LINUX_DIR) 
diff -r b54bba73936d -r 4d16755748eb docs/Makefile
--- a/docs/Makefile     Fri May 12 15:49:11 2006 +0100
+++ b/docs/Makefile     Fri May 12 22:35:05 2006 +0100
@@ -26,22 +26,28 @@ DOC_HTML    := $(patsubst src/%.tex,html/%/
 
 GFX = $(patsubst %.fig, %.eps, $(wildcard figs/*.fig))
 
-.PHONY:        all build dev-docs python-dev-docs ps pdf html clean install
+.PHONY: all
+all: build
 
-all: build
+.PHONY: build
 build: ps pdf html man-pages
        rm -f *.aux *.dvi *.bbl *.blg *.glo *.idx *.ilg *.log *.ind *.toc
 
+.PHONY: dev-docs
 dev-docs: python-dev-docs
 
+.PHONY: ps
 ps: $(DOC_PS)
 
+.PHONY: pdf
 pdf: $(DOC_PDF)
 
+.PHONY: html
 html:
        @if which $(LATEX2HTML) 1>/dev/null 2>/dev/null; then \
        $(MAKE) $(DOC_HTML); fi
 
+.PHONY: python-dev-docs
 python-dev-docs:
        @mkdir -v -p api/tools/python
        @if which $(DOXYGEN) 1>/dev/null 2>/dev/null; then         \
@@ -50,6 +56,7 @@ python-dev-docs:
        $(MAKE) -C api/tools/python/latex ; else                   \
         echo "Doxygen not installed; skipping python-dev-docs."; fi
 
+.PHONY: man-pages
 man-pages:
        @if which $(POD2MAN) 1>/dev/null 2>/dev/null; then \
        $(MAKE) $(DOC_MAN1) $(DOC_MAN5); fi
@@ -64,6 +71,7 @@ man5/%.5: man/%.pod.5 Makefile
        $(POD2MAN) --release=$(VERSION) --name=`echo $@ | sed 's/^man5.//'| \
                sed 's/.5//'` -s 5 -c "Xen" $< $@
 
+.PHONY: clean
 clean:
        rm -rf .word_count *.aux *.dvi *.bbl *.blg *.glo *.idx *~ 
        rm -rf *.ilg *.log *.ind *.toc *.bak core
@@ -72,6 +80,7 @@ clean:
        rm -rf man5
        rm -rf man1
 
+.PHONY: install
 install: all
        rm -rf $(DESTDIR)$(pkgdocdir)
        $(INSTALL_DIR) $(DESTDIR)$(pkgdocdir)
diff -r b54bba73936d -r 4d16755748eb extras/mini-os/Makefile
--- a/extras/mini-os/Makefile   Fri May 12 15:49:11 2006 +0100
+++ b/extras/mini-os/Makefile   Fri May 12 22:35:05 2006 +0100
@@ -37,8 +37,10 @@ HDRS := $(wildcard include/*.h)
 HDRS := $(wildcard include/*.h)
 HDRS += $(wildcard include/xen/*.h)
 
+.PHONY: default
 default: $(TARGET)
 
+.PHONY: links
 links:
        [ -e include/xen ] || ln -sf ../../../xen/include/public include/xen
 
@@ -46,6 +48,7 @@ links:
        $(LD) -N -T minios-$(TARGET_ARCH).lds $(OBJS) -o $@.elf
        gzip -f -9 -c $@.elf >$@.gz
 
+.PHONY: clean
 clean:
        find . -type f -name '*.o' | xargs rm -f
        rm -f *.o *~ core $(TARGET).elf $(TARGET).raw $(TARGET) $(TARGET).gz
@@ -57,4 +60,12 @@ clean:
 %.o: %.S $(HDRS) Makefile
        $(CC) $(CFLAGS) -D__ASSEMBLY__ -c $< -o $@
 
+define all_sources
+     ( find . -follow -name SCCS -prune -o -name '*.[chS]' -print )
+endef
 
+.PHONY: cscope
+cscope:
+       $(all_sources) > cscope.files
+       cscope -k -b -q
+
diff -r b54bba73936d -r 4d16755748eb linux-2.6-xen-sparse/mkbuildtree
--- a/linux-2.6-xen-sparse/mkbuildtree  Fri May 12 15:49:11 2006 +0100
+++ b/linux-2.6-xen-sparse/mkbuildtree  Fri May 12 22:35:05 2006 +0100
@@ -90,8 +90,8 @@ RS=$DESTPATH
 RS=$DESTPATH
 
 # Arch-specific pre-processing
-if [ -x arch/${LINUX_ARCH}/xen-mkbuildtree-pre ]; then
-       arch/${LINUX_ARCH}/xen-mkbuildtree-pre
+if [ -e arch/${LINUX_ARCH}/xen-mkbuildtree-pre ]; then
+       bash arch/${LINUX_ARCH}/xen-mkbuildtree-pre
 fi
 
 # Remove old copies of files and directories at the destination
@@ -115,6 +115,6 @@ relative_lndir ../../../${RS}/../xen/inc
 
 # Arch-specific post-processing
 cd ${AD}
-if [ -x arch/${LINUX_ARCH}/xen-mkbuildtree-post ]; then
-       arch/${LINUX_ARCH}/xen-mkbuildtree-post
+if [ -e arch/${LINUX_ARCH}/xen-mkbuildtree-post ]; then
+       bash arch/${LINUX_ARCH}/xen-mkbuildtree-post
 fi
diff -r b54bba73936d -r 4d16755748eb tools/Makefile
--- a/tools/Makefile    Fri May 12 15:49:11 2006 +0100
+++ b/tools/Makefile    Fri May 12 22:35:05 2006 +0100
@@ -24,14 +24,14 @@ SUBDIRS += pygrub
 SUBDIRS += pygrub
 endif
 
-.PHONY: all install clean check check_clean ioemu eioemuinstall ioemuclean
-
+.PHONY: all
 all: check
        @set -e; for subdir in $(SUBDIRS); do \
                $(MAKE) -C $$subdir $@; \
        done
        $(MAKE) ioemu
 
+.PHONY: install
 install: check
        @set -e; for subdir in $(SUBDIRS); do \
                $(MAKE) -C $$subdir $@; \
@@ -39,18 +39,22 @@ install: check
        $(MAKE) ioemuinstall
        $(INSTALL_DIR) -p $(DESTDIR)/var/xen/dump
 
+.PHONY: clean
 clean: check_clean
        @set -e; for subdir in $(SUBDIRS); do \
                $(MAKE) -C $$subdir $@; \
        done
        $(MAKE) ioemuclean
 
+.PHONY: check
 check:
        $(MAKE) -C check
 
+.PHONY: check_clean
 check_clean:
        $(MAKE) -C check clean
 
+.PHONY: ioemu ioemuinstall ioemuclean
 ifndef XEN_NO_IOEMU
 ioemu ioemuinstall ioemuclean:
        [ -f ioemu/config-host.h ] || \
diff -r b54bba73936d -r 4d16755748eb tools/Rules.mk
--- a/tools/Rules.mk    Fri May 12 15:49:11 2006 +0100
+++ b/tools/Rules.mk    Fri May 12 22:35:05 2006 +0100
@@ -23,6 +23,7 @@ CFLAGS += -D__XEN_INTERFACE_VERSION__=0x
 %.o: %.cc
        $(CC) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<
 
+.PHONY: mk-symlinks
 mk-symlinks: LINUX_ROOT=$(XEN_ROOT)/linux-2.6-xen-sparse
 mk-symlinks:
        mkdir -p xen
diff -r b54bba73936d -r 4d16755748eb tools/blktap/Makefile
--- a/tools/blktap/Makefile     Fri May 12 15:49:11 2006 +0100
+++ b/tools/blktap/Makefile     Fri May 12 22:35:05 2006 +0100
@@ -39,11 +39,13 @@ IBINS   :=
 
 LIB      = libblktap.so libblktap.so.$(MAJOR) libblktap.so.$(MAJOR).$(MINOR)
 
+.PHONY: all
 all: mk-symlinks libblktap.so #blkdump
        @set -e; for subdir in $(SUBDIRS); do \
                $(MAKE) -C $$subdir $@;       \
        done
 
+.PHONY: install
 install: all
        $(INSTALL_DIR) -p $(DESTDIR)/usr/$(LIBDIR)
        $(INSTALL_DIR) -p $(DESTDIR)/usr/include
@@ -54,12 +56,14 @@ install: all
                $(MAKE) -C $$subdir $@;       \
        done
 
+.PHONY: clean
 clean:
        rm -rf *.a *.so *.o *.rpm $(LIB) *~ $(DEPS) xen TAGS blkdump
        @set -e; for subdir in $(SUBDIRS); do \
                $(MAKE) -C $$subdir $@;       \
        done
 
+.PHONY: rpm
 rpm: all
        rm -rf staging
        mkdir staging
@@ -82,6 +86,7 @@ blkdump: libblktap.so
 
 .PHONY: TAGS clean install mk-symlinks rpm
 
+.PHONY: TAGS
 TAGS:
        etags -t $(SRCS) *.h
 
diff -r b54bba73936d -r 4d16755748eb tools/blktap/parallax/Makefile
--- a/tools/blktap/parallax/Makefile    Fri May 12 15:49:11 2006 +0100
+++ b/tools/blktap/parallax/Makefile    Fri May 12 22:35:05 2006 +0100
@@ -43,11 +43,14 @@ OBJS     = $(patsubst %.c,%.o,$(SRCS))
 OBJS     = $(patsubst %.c,%.o,$(SRCS))
 IBINS    = parallax $(VDI_TOOLS)
 
+.PHONY: all
 all: $(VDI_TOOLS) parallax blockstored
 
+.PHONY: install
 install: all
        $(INSTALL_PROG) $(IBINS) $(DESTDIR)$(PARALLAX_INSTALL_DIR)
 
+.PHONY: clean
 clean:
        rm -rf *.o *~ $(DEPS) xen TAGS $(VDI_TOOLS) parallax vdi_unittest
 
@@ -57,5 +60,4 @@ parallax: $(PLX_SRCS)
 ${VDI_TOOLS}: %: %.c $(VDI_SRCS)
        $(CC) $(CFLAGS) -o $@ $@.c $(LDFLAGS) $(VDI_SRCS)
 
-.PHONY: TAGS clean install rpm
 -include $(DEPS)
diff -r b54bba73936d -r 4d16755748eb tools/blktap/ublkback/Makefile
--- a/tools/blktap/ublkback/Makefile    Fri May 12 15:49:11 2006 +0100
+++ b/tools/blktap/ublkback/Makefile    Fri May 12 22:35:05 2006 +0100
@@ -21,12 +21,16 @@ DEPS     = .*.d
 
 OBJS     = $(patsubst %.c,%.o,$(SRCS))
 
+.PHONY: all
 all: $(IBIN)
 
 LINUX_ROOT := $(wildcard $(XEN_ROOT)/linux-2.6.*-xen-sparse)
 
+.PHONY: install
 install:
        $(INSTALL_PROG) $(IBIN) $(DESTDIR)$(INSTALL_DIR)
+
+.PHONY: clean
 clean:
        rm -rf *.o*~ $(DEPS) xen TAGS $(IBIN)
 
@@ -34,6 +38,4 @@ ublkback:
        $(CC) $(CFLAGS) -o ublkback -L$(XEN_LIBXC) -L. -L..  \
              -lblktap -laio ublkback.c ublkbacklib.c -pg
 
-.PHONY: clean install
-
 -include $(DEPS)
diff -r b54bba73936d -r 4d16755748eb tools/check/Makefile
--- a/tools/check/Makefile      Fri May 12 15:49:11 2006 +0100
+++ b/tools/check/Makefile      Fri May 12 22:35:05 2006 +0100
@@ -1,7 +1,9 @@
 
+.PHONY: all
 all: build
 
 # Check this machine is OK for building on.
+.PHONY: build
 build:
        ./chk build
 
@@ -9,8 +11,10 @@ build:
 # DO NOT use this check from 'make install' in the parent
 # directory, as that target can be used to make an installable
 # copy rather than actually installing.
+.PHONY: install
 install:
        ./chk install
 
+.PHONY: clean
 clean:
-       ./chk clean
\ No newline at end of file
+       ./chk clean
diff -r b54bba73936d -r 4d16755748eb tools/console/Makefile
--- a/tools/console/Makefile    Fri May 12 15:49:11 2006 +0100
+++ b/tools/console/Makefile    Fri May 12 22:35:05 2006 +0100
@@ -16,8 +16,10 @@ CFLAGS  += -I $(XEN_XENSTORE)
 
 BIN      = xenconsoled xenconsole
 
+.PHONY: all
 all: $(BIN)
 
+.PHONY: clean
 clean:
        $(RM) *.a *.so *.o *.rpm $(BIN)
        $(RM) client/*.o daemon/*.o
@@ -30,6 +32,7 @@ xenconsole: $(patsubst %.c,%.o,$(wildcar
        $(CC) $(CFLAGS) $^ -o $@ -L$(XEN_LIBXC) -L$(XEN_XENSTORE) \
              -lxenctrl -lxenstore
 
+.PHONY: install
 install: $(BIN)
        $(INSTALL_DIR) -p $(DESTDIR)/$(DAEMON_INSTALL_DIR)
        $(INSTALL_PROG) xenconsoled $(DESTDIR)/$(DAEMON_INSTALL_DIR)
diff -r b54bba73936d -r 4d16755748eb tools/console/testsuite/Makefile
--- a/tools/console/testsuite/Makefile  Fri May 12 15:49:11 2006 +0100
+++ b/tools/console/testsuite/Makefile  Fri May 12 22:35:05 2006 +0100
@@ -3,10 +3,12 @@ include $(XEN_ROOT)/tools/Rules.mk
 
 LDFLAGS=-static
 
+.PHONY: all
 all: console-dom0 console-domU procpipe
 
 console-dom0: console-dom0.o
 console-domU: console-domU.o
 procpipe: procpipe.o
 
+.PHONY: clean
 clean:; $(RM) *.o console-domU console-dom0 procpipe
diff -r b54bba73936d -r 4d16755748eb tools/debugger/gdb/gdbbuild
--- a/tools/debugger/gdb/gdbbuild       Fri May 12 15:49:11 2006 +0100
+++ b/tools/debugger/gdb/gdbbuild       Fri May 12 22:35:05 2006 +0100
@@ -7,7 +7,7 @@ tar xjf gdb-6.2.1.tar.bz2
 tar xjf gdb-6.2.1.tar.bz2
 
 cd gdb-6.2.1-xen-sparse
-./mkbuildtree ../gdb-6.2.1
+bash ./mkbuildtree ../gdb-6.2.1
 
 cd ..
 mkdir gdb-6.2.1-linux-i386-xen
diff -r b54bba73936d -r 4d16755748eb tools/debugger/libxendebug/Makefile
--- a/tools/debugger/libxendebug/Makefile       Fri May 12 15:49:11 2006 +0100
+++ b/tools/debugger/libxendebug/Makefile       Fri May 12 22:35:05 2006 +0100
@@ -26,10 +26,14 @@ LIB      := libxendebug.a libxendebug.so
 LIB      := libxendebug.a libxendebug.so
 LIB      += libxendebug.so.$(MAJOR) libxendebug.so.$(MAJOR).$(MINOR)
 
+.PHONY: all
 all: build
+
+.PHONY: build
 build:
        $(MAKE) $(LIB)
 
+.PHONY: install
 install: build
        [ -d $(DESTDIR)/usr/$(LIBDIR) ] || $(INSTALL_DIR) 
$(DESTDIR)/usr/$(LIBDIR)
        [ -d $(DESTDIR)/usr/include ] || $(INSTALL_DIR) $(DESTDIR)/usr/include
@@ -39,14 +43,15 @@ install: build
        ln -sf libxendebug.so.$(MAJOR) $(DESTDIR)/usr/$(LIBDIR)/libxendebug.so
        $(INSTALL_DATA) xendebug.h $(DESTDIR)/usr/include
 
-.PHONY: TAGS clean rpm install all
-
+.PHONY: TAGS
 TAGS:
        etags -t $(SRCS) *.h
 
+.PHONY: clean
 clean:
        rm -rf *.a *.so* *.o *.opic *.rpm $(LIB) *~ $(DEPS) xen
 
+.PHONY: rpm
 rpm: build
        rm -rf staging
        mkdir staging
diff -r b54bba73936d -r 4d16755748eb tools/debugger/pdb/Makefile
--- a/tools/debugger/pdb/Makefile       Fri May 12 15:49:11 2006 +0100
+++ b/tools/debugger/pdb/Makefile       Fri May 12 22:35:05 2006 +0100
@@ -33,6 +33,7 @@ LIBS       += unix str
 
 # bc = byte-code, dc = debug byte-code
 # patches = patch linux domU source code
+.PHONY: all 
 all : dc
 
 SOURCES    += pdb_caml_xc.c 
@@ -51,5 +52,6 @@ include $(OCAMLMAKEFILE)
 include $(OCAMLMAKEFILE)
 
 PATCHDIR    = ./linux-2.6-patches
+.PHONY: patches 
 patches :
        make -C $(PATCHDIR) patches
diff -r b54bba73936d -r 4d16755748eb 
tools/debugger/pdb/linux-2.6-module/Makefile
--- a/tools/debugger/pdb/linux-2.6-module/Makefile      Fri May 12 15:49:11 
2006 +0100
+++ b/tools/debugger/pdb/linux-2.6-module/Makefile      Fri May 12 22:35:05 
2006 +0100
@@ -10,10 +10,12 @@ CFLAGS += -Wall
 CFLAGS += -Wall
 CFLAGS += -Werror
 
+.PHONY: module 
 module : 
 #      make KBUILD_VERBOSE=1 ARCH=xen -C $(KDIR) M=$(PWD) modules
        make                  ARCH=xen -C $(KDIR) M=$(PWD) modules
 
+.PHONY: clean 
 clean :
        make -C $(KDIR) M=$(PWD) clean
 
diff -r b54bba73936d -r 4d16755748eb 
tools/debugger/pdb/linux-2.6-patches/Makefile
--- a/tools/debugger/pdb/linux-2.6-patches/Makefile     Fri May 12 15:49:11 
2006 +0100
+++ b/tools/debugger/pdb/linux-2.6-patches/Makefile     Fri May 12 22:35:05 
2006 +0100
@@ -3,6 +3,7 @@ KDIR       = $(XEN_ROOT)/$(LINUX_DIR)
 KDIR       = $(XEN_ROOT)/$(LINUX_DIR)
 PATCH_DIR  = $(CURDIR)
 
+.PHONY: patches 
 patches : patches-done
 
 patches-done :
diff -r b54bba73936d -r 4d16755748eb tools/examples/Makefile
--- a/tools/examples/Makefile   Fri May 12 15:49:11 2006 +0100
+++ b/tools/examples/Makefile   Fri May 12 22:35:05 2006 +0100
@@ -50,11 +50,16 @@ endif
 endif
 endif
 
+.PHONY: all
 all:
+
+.PHONY: build
 build:
 
+.PHONY: install
 install: all install-initd install-configs install-scripts $(HOTPLUGS)
 
+.PHONY: install-initd
 install-initd:
        [ -d $(DESTDIR)/etc/init.d ] || $(INSTALL_DIR) $(DESTDIR)/etc/init.d
        [ -d $(DESTDIR)/etc/sysconfig ] || $(INSTALL_DIR) 
$(DESTDIR)/etc/sysconfig
@@ -62,6 +67,7 @@ install-initd:
        $(INSTALL_PROG) $(XENDOMAINS_INITD) $(DESTDIR)/etc/init.d
        $(INSTALL_PROG) $(XENDOMAINS_SYSCONFIG) 
$(DESTDIR)/etc/sysconfig/xendomains
 
+.PHONY: install-configs
 install-configs: $(XEN_CONFIGS)
        [ -d $(DESTDIR)$(XEN_CONFIG_DIR) ] || \
                $(INSTALL_DIR) $(DESTDIR)$(XEN_CONFIG_DIR)
@@ -72,6 +78,7 @@ install-configs: $(XEN_CONFIGS)
            $(INSTALL_DATA) $$i $(DESTDIR)$(XEN_CONFIG_DIR); \
        done
 
+.PHONY: install-scripts
 install-scripts:
        [ -d $(DESTDIR)$(XEN_SCRIPT_DIR) ] || \
                $(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR)
@@ -84,6 +91,7 @@ install-scripts:
            $(INSTALL_DATA) $$i $(DESTDIR)$(XEN_SCRIPT_DIR); \
        done
 
+.PHONY: install-hotplug
 install-hotplug:
        [ -d $(DESTDIR)$(XEN_HOTPLUG_DIR) ] || \
                $(INSTALL_DIR) $(DESTDIR)$(XEN_HOTPLUG_DIR)
@@ -92,6 +100,7 @@ install-hotplug:
            $(INSTALL_PROG) $$i $(DESTDIR)$(XEN_HOTPLUG_DIR); \
        done
 
+.PHONY: install-udev
 install-udev:
        [ -d $(DESTDIR)$(UDEV_RULES_DIR) ] || \
                $(INSTALL_DIR) $(DESTDIR)$(UDEV_RULES_DIR)/rules.d
@@ -102,4 +111,5 @@ install-udev:
                ln -sf ../$$i . ) \
        done
 
+.PHONY: clean
 clean:
diff -r b54bba73936d -r 4d16755748eb tools/firmware/Makefile
--- a/tools/firmware/Makefile   Fri May 12 15:49:11 2006 +0100
+++ b/tools/firmware/Makefile   Fri May 12 22:35:05 2006 +0100
@@ -13,8 +13,7 @@ SUBDIRS += vmxassist
 SUBDIRS += vmxassist
 SUBDIRS += hvmloader
 
-.PHONY: all install clean
-
+.PHONY: all
 all:
        @set -e; if ! `which bcc 1>/dev/null 2>/dev/null`; then \
        echo "***********************************************************"; \
@@ -28,10 +27,12 @@ all:
        fi
 
 
+.PHONY: install
 install: all
        [ -d $(INSTALL_DIR) ] || install -d -m0755 $(INSTALL_DIR)
        [ ! -e $(TARGET) ] || install -m0644 $(TARGET) $(INSTALL_DIR)
 
+.PHONY: clean
 clean: 
        @set -e; for subdir in $(SUBDIRS); do \
                $(MAKE) -C $$subdir $@; \
diff -r b54bba73936d -r 4d16755748eb tools/firmware/acpi/Makefile
--- a/tools/firmware/acpi/Makefile      Fri May 12 15:49:11 2006 +0100
+++ b/tools/firmware/acpi/Makefile      Fri May 12 22:35:05 2006 +0100
@@ -33,6 +33,7 @@ IASL_URL=http://developer.intel.com/tech
 
IASL_URL=http://developer.intel.com/technology/iapc/acpi/downloads/$(IASL_VER).tar.gz
 
 vpath iasl $(PATH)
+.PHONY: all
 all:$(ACPI_BIN)
 
 acpi_dsdt.c:acpi_dsdt.asl
@@ -42,6 +43,7 @@ acpi_dsdt.c:acpi_dsdt.asl
        echo "int DsdtLen=sizeof(AmlCode);" >> acpi_dsdt.c
        rm *.aml
 
+.PHONY: iasl
 iasl:
        @echo
        @echo "ACPI ASL compiler(iasl) is needed"
@@ -60,8 +62,10 @@ iasl:
 $(ACPI_BIN):$(ACPI_GEN)
        ./$(ACPI_GEN) $(ACPI_BIN)
 
+.PHONY: clean
 clean:
        rm -rf *.o $(ACPI_GEN) $(ACPI_BIN) $(IASL_VER) 
        rm -rf  $(IASL_VER).tar.gz
 
+.PHONY: install
 install: all
diff -r b54bba73936d -r 4d16755748eb tools/firmware/hvmloader/Makefile
--- a/tools/firmware/hvmloader/Makefile Fri May 12 15:49:11 2006 +0100
+++ b/tools/firmware/hvmloader/Makefile Fri May 12 22:35:05 2006 +0100
@@ -42,6 +42,7 @@ CFLAGS  += $(DEFINES) -I. $(XENINC) -fno
 CFLAGS  += $(DEFINES) -I. $(XENINC) -fno-builtin -O2 -msoft-float
 LDFLAGS  = -m32 -nostdlib -Wl,-N -Wl,-Ttext -Wl,$(LOADADDR)
 
+.PHONY: all
 all: hvmloader
 
 hvmloader: roms.h hvmloader.c acpi_madt.c
@@ -57,6 +58,7 @@ roms.h:       ../rombios/BIOS-bochs-latest ../
        ./mkhex vmxassist ../vmxassist/vmxassist.bin >> roms.h
        ./mkhex acpi ../acpi/acpi.bin >> roms.h
 
+.PHONY: clean
 clean:
        rm -f roms.h acpi.h
        rm -f hvmloader hvmloader.tmp hvmloader.o $(OBJECTS)
diff -r b54bba73936d -r 4d16755748eb tools/firmware/rombios/Makefile
--- a/tools/firmware/rombios/Makefile   Fri May 12 15:49:11 2006 +0100
+++ b/tools/firmware/rombios/Makefile   Fri May 12 22:35:05 2006 +0100
@@ -3,10 +3,13 @@ BIOS_BUILDS = BIOS-bochs-latest
 #BIOS_BUILDS += BIOS-bochs-4-processors
 #BIOS_BUILDS += BIOS-bochs-8-processors
 
+.PHONY: all
 all: bios
 
+.PHONY: bios
 bios: biossums ${BIOS_BUILDS}
 
+.PHONY: clean
 clean:
        rm -f  *.o *.a *.s rombios.bin _rombios*_.c
        rm -f  as86-sym.txt ld86-sym.txt 
diff -r b54bba73936d -r 4d16755748eb tools/firmware/vgabios/Makefile
--- a/tools/firmware/vgabios/Makefile   Fri May 12 15:49:11 2006 +0100
+++ b/tools/firmware/vgabios/Makefile   Fri May 12 22:35:05 2006 +0100
@@ -10,17 +10,22 @@ RELVERS = `pwd | sed "s-.*/--" | sed "s/
 
 VGABIOS_DATE = "-DVGABIOS_DATE=\"$(RELDATE)\""
 
+.PHONY: all
 all: bios cirrus-bios
 
+.PHONY: bios
 bios: biossums vgabios.bin vgabios.debug.bin 
 
+.PHONY: cirrus-bios
 cirrus-bios: vgabios-cirrus.bin vgabios-cirrus.debug.bin
 
+.PHONY: clean
 clean:
        rm -f biossums *.o *.s *.ld86 \
           temp.awk.* vgabios*.orig _vgabios_* _vgabios-debug_* core 
vgabios*.bin vgabios*.txt $(RELEASE).bin *.bak
        rm -f VGABIOS-lgpl-latest*.bin
 
+.PHONY: release
 release: 
        VGABIOS_VERS=\"-DVGABIOS_VERS=\\\"$(RELVERS)\\\"\" make bios cirrus-bios
        /bin/rm -f  *.o *.s *.ld86 \
diff -r b54bba73936d -r 4d16755748eb tools/firmware/vmxassist/Makefile
--- a/tools/firmware/vmxassist/Makefile Fri May 12 15:49:11 2006 +0100
+++ b/tools/firmware/vmxassist/Makefile Fri May 12 22:35:05 2006 +0100
@@ -43,6 +43,7 @@ LDFLAGS  = -m elf_i386
 
 OBJECTS = head.o trap.o vm86.o setup.o util.o
 
+.PHONY: all
 all: vmxassist.bin
 
 vmxassist.bin: vmxassist.ld $(OBJECTS)
@@ -74,6 +75,7 @@ gen:  vm86.h gen.c
 gen:   vm86.h gen.c
        $(HOSTCC) $(HOSTCFLAGS) -I. $(XENINC) -o gen gen.c
 
+.PHONY: clean
 clean:
        rm -f vmxassist vmxassist.tmp vmxassist.bin vmxassist.run vmxassist.sym 
head.s
        rm -f $(OBJECTS)
diff -r b54bba73936d -r 4d16755748eb tools/guest-headers/Makefile
--- a/tools/guest-headers/Makefile      Fri May 12 15:49:11 2006 +0100
+++ b/tools/guest-headers/Makefile      Fri May 12 22:35:05 2006 +0100
@@ -2,12 +2,16 @@ XEN_ROOT=../..
 XEN_ROOT=../..
 linuxsparsetree = $(XEN_ROOT)/linux-2.6-xen-sparse
 
+.PHONY: all
 all:
 
+.PHONY: check
 check:
 
+.PHONY: install
 install:
        mkdir -p $(DESTDIR)/usr/include/xen/linux
        install -m0644 $(linuxsparsetree)/include/xen/public/*.h 
$(DESTDIR)/usr/include/xen/linux
 
+.PHONY: clean
 clean:
diff -r b54bba73936d -r 4d16755748eb tools/ioemu/Makefile
--- a/tools/ioemu/Makefile      Fri May 12 15:49:11 2006 +0100
+++ b/tools/ioemu/Makefile      Fri May 12 22:35:05 2006 +0100
@@ -19,6 +19,7 @@ endif
 endif
 #DOCS=qemu-doc.html qemu-tech.html qemu.1
 
+.PHONY: all
 all: $(DOCS) HEADERS
        for d in $(TARGET_DIRS); do \
        $(MAKE) -C $$d $@ || exit 1 ; \
@@ -30,6 +31,7 @@ dyngen$(EXESUF): dyngen.c
 dyngen$(EXESUF): dyngen.c
        $(HOST_CC) $(CFLAGS) $(DEFINES) -o $@ $^
 
+.PHONY: clean
 clean:
 # avoid old build problems by removing potentially incorrect old files
        rm -f config.mak config.h op-i386.h opc-i386.h gen-op-i386.h op-arm.h 
opc-arm.h gen-op-arm.h 
@@ -41,6 +43,7 @@ clean:
        rm -f config-host.mak config-host.h
        rm -f keysym_adapter_sdl.h keysym_adapter_vnc.h
 
+.PHONY: distclean
 distclean: clean
        rm -f config-host.mak config-host.h
        rm -f keysym_adapter_sdl.h keysym_adapter_vnc.h
@@ -52,6 +55,7 @@ ar      de     en-us  fi  fr-be  hr     
 ar      de     en-us  fi  fr-be  hr     it  lv  nl         pl  ru     th \
 common  de-ch  es     fo  fr-ca  hu     ja  mk  nl-be      pt  sl     tr
 
+.PHONY: install
 install: all 
        mkdir -p "$(bindir)"
        mkdir -p "$(DESTDIR)/$(datadir)"
@@ -62,9 +66,11 @@ install: all
         done
 
 # various test targets
+.PHONY: test speed test2
 test speed test2: all
        $(MAKE) -C tests $@
 
+.PHONY: TAGS
 TAGS: 
        etags *.[ch] tests/*.[ch]
 
@@ -79,6 +85,7 @@ FILE=qemu-$(shell cat VERSION)
 FILE=qemu-$(shell cat VERSION)
 
 # tar release (use 'make -k tar' on a checkouted tree)
+.PHONY: tar
 tar:
        rm -rf /tmp/$(FILE)
        cp -r . /tmp/$(FILE)
@@ -86,6 +93,7 @@ tar:
        rm -rf /tmp/$(FILE)
 
 # generate a binary distribution
+.PHONY: tarbin
 tarbin:
        ( cd $(DESTDIR) ; tar zcvf ~/qemu-$(VERSION)-i386.tar.gz \
        $(DESTDIR)/$(bindir)/qemu $(DESTDIR)/$(bindir)/qemu-fast \
@@ -100,6 +108,7 @@ include .depend
 include .depend
 endif
 
+.PHONY: HEADERS
 HEADERS:
 
 ifdef CONFIG_SDL
diff -r b54bba73936d -r 4d16755748eb tools/ioemu/target-i386-dm/Makefile
--- a/tools/ioemu/target-i386-dm/Makefile       Fri May 12 15:49:11 2006 +0100
+++ b/tools/ioemu/target-i386-dm/Makefile       Fri May 12 22:35:05 2006 +0100
@@ -329,6 +329,7 @@ sdlaudio.o: sdlaudio.c
 sdlaudio.o: sdlaudio.c
        $(CC) $(CFLAGS) $(DEFINES) $(SDL_CFLAGS) -c -o $@ $<
 
+.PHONY: depend
 depend: $(SRCS)
        $(CC) -MM $(CFLAGS) $(DEFINES) $^ 1>.depend
 
@@ -382,12 +383,15 @@ mixeng.o: mixeng.c mixeng.h mixeng_templ
 %.o: %.S
        $(CC) $(DEFINES) -c -o $@ $<
 
+.PHONY: clean
 clean:
        rm -rf *.o  *.a *~ $(PROGS) gen-op.h opc.h op.h nwfpe slirp
        rm -rf config.mak config.h
 
+.PHONY: distclean
 distclean: clean
 
+.PHONY: install
 install: all 
        if [ ! -d $(INSTALL_DIR) ];then mkdir -p $(INSTALL_DIR);fi
        if [ ! -d $(DESTDIR)$(configdir) ];then mkdir -p 
$(DESTDIR)$(configdir);fi
diff -r b54bba73936d -r 4d16755748eb tools/libxc/Makefile
--- a/tools/libxc/Makefile      Fri May 12 15:49:11 2006 +0100
+++ b/tools/libxc/Makefile      Fri May 12 22:35:05 2006 +0100
@@ -67,10 +67,14 @@ LIB += libxenguest.a
 LIB += libxenguest.a
 LIB += libxenguest.so libxenguest.so.$(MAJOR) libxenguest.so.$(MAJOR).$(MINOR)
 
+.PHONY: all
 all: build
+
+.PHONY: build
 build: check-for-zlib mk-symlinks
        $(MAKE) $(LIB)
 
+.PHONY: check-for-zlib
 check-for-zlib:
        @if [ ! -e /usr/include/zlib.h ]; then \
        echo "***********************************************************"; \
@@ -79,6 +83,7 @@ check-for-zlib:
        false; \
        fi
 
+.PHONY: install
 install: build
        [ -d $(DESTDIR)/usr/$(LIBDIR) ] || $(INSTALL_DIR) 
$(DESTDIR)/usr/$(LIBDIR)
        [ -d $(DESTDIR)/usr/include ] || $(INSTALL_DIR) $(DESTDIR)/usr/include
@@ -94,14 +99,15 @@ install: build
        ln -sf libxenguest.so.$(MAJOR) $(DESTDIR)/usr/$(LIBDIR)/libxenguest.so
        $(INSTALL_DATA) xenguest.h $(DESTDIR)/usr/include
 
-.PHONY: TAGS clean rpm install all
-
+.PHONY: TAGS
 TAGS:
        etags -t *.c *.h
 
+.PHONY: clean
 clean:
        rm -rf *.a *.so* *.o *.opic *.rpm $(LIB) *~ $(DEPS) xen
 
+.PHONY: rpm
 rpm: build
        rm -rf staging
        mkdir staging
diff -r b54bba73936d -r 4d16755748eb tools/misc/Makefile
--- a/tools/misc/Makefile       Fri May 12 15:49:11 2006 +0100
+++ b/tools/misc/Makefile       Fri May 12 22:35:05 2006 +0100
@@ -18,7 +18,10 @@ INSTALL_BIN  = $(TARGETS) xencons
 INSTALL_BIN  = $(TARGETS) xencons
 INSTALL_SBIN = netfix xm xen-bugtool xend xenperf
 
+.PHONY: all
 all: build
+
+.PHONY: build
 build: $(TARGETS)
        $(MAKE) -C miniterm
        $(MAKE) -C cpuperf
@@ -27,6 +30,7 @@ endif
 endif
        $(MAKE) -C lomount
 
+.PHONY: install
 install: build
        [ -d $(DESTDIR)/usr/bin ] || $(INSTALL_DIR) $(DESTDIR)/usr/bin
        [ -d $(DESTDIR)/usr/sbin ] || $(INSTALL_DIR) $(DESTDIR)/usr/sbin
@@ -39,6 +43,7 @@ install: build
 #       Likewise mbootpack
 #      $(MAKE) -C mbootpack install
 
+.PHONY: clean
 clean:
        $(RM) *.o $(TARGETS) *~
        $(MAKE) -C miniterm clean
diff -r b54bba73936d -r 4d16755748eb tools/misc/cpuperf/Makefile
--- a/tools/misc/cpuperf/Makefile       Fri May 12 15:49:11 2006 +0100
+++ b/tools/misc/cpuperf/Makefile       Fri May 12 22:35:05 2006 +0100
@@ -26,8 +26,10 @@ INSTALL_BIN  = $(TARGETS)
 INSTALL_BIN  = $(TARGETS)
 
 
+.PHONY: all
 all: $(TARGETS)
 
+.PHONY: clean
 clean:
        $(RM) *.o $(TARGETS)
 
@@ -40,6 +42,7 @@ cpuperf-perfcntr: cpuperf.c $(HDRS) Make
 cpuperf-perfcntr: cpuperf.c $(HDRS) Makefile
        $(CC) $(CFLAGS) -DPERFCNTR -o $@ $<
 
+.PHONY: install
 install: all
        $(INSTALL_PROG) $(INSTALL_BIN) $(DESTDIR)/usr/bin
 
diff -r b54bba73936d -r 4d16755748eb tools/misc/lomount/Makefile
--- a/tools/misc/lomount/Makefile       Fri May 12 15:49:11 2006 +0100
+++ b/tools/misc/lomount/Makefile       Fri May 12 22:35:05 2006 +0100
@@ -13,12 +13,17 @@ OBJS     = $(patsubst %.c,%.o,$(wildcard
 
 BIN      = lomount
 
+.PHONY: all
 all: build
+
+.PHONY: build
 build: $(BIN)
 
+.PHONY: install
 install: build
        $(INSTALL_PROG) $(BIN) $(SCRIPTS) $(DESTDIR)/usr/bin
 
+.PHONY: clean
 clean:
        $(RM) *.a *.so *.o *.rpm $(BIN)
 
diff -r b54bba73936d -r 4d16755748eb tools/misc/mbootpack/Makefile
--- a/tools/misc/mbootpack/Makefile     Fri May 12 15:49:11 2006 +0100
+++ b/tools/misc/mbootpack/Makefile     Fri May 12 22:35:05 2006 +0100
@@ -8,9 +8,13 @@ XEN_ROOT=../../..
 XEN_ROOT=../../..
 include $(XEN_ROOT)/tools/Rules.mk
 
+.PHONY: all
 all: build
+
+.PHONY: build
 build: mbootpack
 
+.PHONY: install
 install: build
        $(INSTALL_PROG) mbootpack $(DESTDIR)/usr/bin
 
@@ -33,6 +37,7 @@ mbootpack: $(OBJS)
 mbootpack: $(OBJS)
        $(HOSTCC) -o $@ $(filter-out %.a, $^)
 
+.PHONY: clean
 clean:
        $(RM) mbootpack *.o $(DEPS) bootsect setup bzimage_header.c bin2c
 
@@ -60,7 +65,6 @@ buildimage.c: bzimage_header.c
 %.o: %.c
        $(HOSTCC) $(DEPFLAGS) $(CFLAGS) $(INCS) $(DEFS) -c $< -o $@
 
-.PHONY: all clean gdb
 .PRECIOUS: $(OBJS) $(OBJS:.o=.c) $(DEPS)
 .SUFFIXES: 
 
diff -r b54bba73936d -r 4d16755748eb tools/misc/miniterm/Makefile
--- a/tools/misc/miniterm/Makefile      Fri May 12 15:49:11 2006 +0100
+++ b/tools/misc/miniterm/Makefile      Fri May 12 22:35:05 2006 +0100
@@ -7,12 +7,15 @@ INSTALL_DIR   = $(INSTALL) -d -m0755
 
 TARGET = miniterm
 
+.PHONY: all
 all: $(TARGET)
 
+.PHONY: install
 install: all
        [ -d $(DESTDIR)/usr/bin ] || $(INSTALL_DIR) $(DESTDIR)/usr/bin
        $(INSTALL_PROG) $(TARGET) $(DESTDIR)/usr/bin
 
+.PHONY: clean
 clean:
        $(RM) *.o $(TARGET) *~
 
diff -r b54bba73936d -r 4d16755748eb tools/misc/nsplitd/Makefile
--- a/tools/misc/nsplitd/Makefile       Fri May 12 15:49:11 2006 +0100
+++ b/tools/misc/nsplitd/Makefile       Fri May 12 22:35:05 2006 +0100
@@ -8,10 +8,13 @@ OBJS     = $(patsubst %.c,%.o,$(wildcard
 
 TARGET   = nsplitd
 
+.PHONY: all
 all: $(TARGET)
 
+.PHONY: install
 install: all
 
+.PHONY: clean
 clean:
        $(RM) *.o $(TARGET) *~
 
diff -r b54bba73936d -r 4d16755748eb tools/misc/xen-clone
--- a/tools/misc/xen-clone      Fri May 12 15:49:11 2006 +0100
+++ b/tools/misc/xen-clone      Fri May 12 22:35:05 2006 +0100
@@ -113,7 +113,7 @@ else
 
  # Turn linux into xenolinux then build it
  cd xenolinux-${LINUX_VER}-sparse
- ./mkbuildtree ../../linux-${LINUX_VER}
+ bash ./mkbuildtree ../../linux-${LINUX_VER}
  cd ../..
  mv linux-${LINUX_VER} xenolinux-${LINUX_VER}
  cd xenolinux-${LINUX_VER}
diff -r b54bba73936d -r 4d16755748eb tools/pygrub/Makefile
--- a/tools/pygrub/Makefile     Fri May 12 15:49:11 2006 +0100
+++ b/tools/pygrub/Makefile     Fri May 12 22:35:05 2006 +0100
@@ -2,10 +2,13 @@ XEN_ROOT = ../..
 XEN_ROOT = ../..
 include $(XEN_ROOT)/tools/Rules.mk
 
+.PHONY: all
 all: build
+.PHONY: build
 build:
        CFLAGS="$(CFLAGS)" python setup.py build
 
+.PHONY: install
 ifndef XEN_PYTHON_NATIVE_INSTALL
 install: all
        CFLAGS="$(CFLAGS)" python setup.py install --home="$(DESTDIR)/usr" 
--prefix=""
@@ -14,5 +17,6 @@ install: all
        CFLAGS="$(CFLAGS)" python setup.py install --root="$(DESTDIR)"
 endif
 
+.PHONY: clean
 clean:
        rm -rf build tmp *.pyc *.pyo *.o *.a *~
diff -r b54bba73936d -r 4d16755748eb tools/python/Makefile
--- a/tools/python/Makefile     Fri May 12 15:49:11 2006 +0100
+++ b/tools/python/Makefile     Fri May 12 22:35:05 2006 +0100
@@ -1,12 +1,14 @@ XEN_ROOT = ../..
 XEN_ROOT = ../..
 include $(XEN_ROOT)/tools/Rules.mk
 
-.PHONY: all build install clean
+.PHONY: all
+all: build
 
-all: build
+.PHONY: build
 build:
        CFLAGS="$(CFLAGS)" python setup.py build
 
+.PHONY: install
 ifndef XEN_PYTHON_NATIVE_INSTALL
 install: all
        CFLAGS="$(CFLAGS)" python setup.py install --home="$(DESTDIR)/usr" 
--prefix="" --force
@@ -15,8 +17,10 @@ install: all
        CFLAGS="$(CFLAGS)" python setup.py install --root="$(DESTDIR)" --force
 endif
 
+.PHONY: test
 test:
        export LD_LIBRARY_PATH=$$(readlink -f ../libxc):$$(readlink -f 
../xenstore); python test.py -b -u
 
+.PHONY: clean
 clean:
        rm -rf build *.pyc *.pyo *.o *.a *~
diff -r b54bba73936d -r 4d16755748eb tools/security/Makefile
--- a/tools/security/Makefile   Fri May 12 15:49:11 2006 +0100
+++ b/tools/security/Makefile   Fri May 12 22:35:05 2006 +0100
@@ -54,8 +54,10 @@ ACM_LABEL_SUFFIX  = security_label_templ
 ACM_LABEL_SUFFIX  = security_label_template.xml
 
 ifeq ($(ACM_SECURITY),y)
+.PHONY: all
 all: build
 
+.PHONY: install
 install: all $(ACM_CONFIG_FILE)
        $(INSTALL_DIR) -p $(DESTDIR)/usr/sbin
        $(INSTALL_PROG) -p $(ACM_INST_TOOLS) $(DESTDIR)/usr/sbin
@@ -79,11 +81,14 @@ else
        python python/setup.py install --root="$(DESTDIR)"
 endif
 else
+.PHONY: all
 all:
 
+.PHONY: install
 install:
 endif
 
+.PHONY: build
 build: mk-symlinks $(ACM_INST_TOOLS) $(ACM_NOINST_TOOLS)
        python python/setup.py build
        chmod 700 $(ACM_SCRIPTS)
@@ -100,6 +105,7 @@ xensec_gen: xensec_gen.py
 xensec_gen: xensec_gen.py
        cp -f $^ $@
 
+.PHONY: clean
 clean:
        $(RM) $(ACM_INST_TOOLS) $(ACM_NOINST_TOOLS)
        $(RM) $(ACM_OBJS)
@@ -107,8 +113,10 @@ clean:
        $(RM) -r xen
        $(RM) -r build
 
+.PHONY: mrproper
 mrproper: clean
 
+.PHONY: boot_install
 boot_install: install
        $(ACM_SCRIPT_DIR)/updategrub.sh $(POLICY) $(KERNEL_VERSION)
 
diff -r b54bba73936d -r 4d16755748eb tools/sv/Makefile
--- a/tools/sv/Makefile Fri May 12 15:49:11 2006 +0100
+++ b/tools/sv/Makefile Fri May 12 22:35:05 2006 +0100
@@ -1,2 +1,3 @@
 
+.PHONY: all
 all:
diff -r b54bba73936d -r 4d16755748eb tools/tests/Makefile
--- a/tools/tests/Makefile      Fri May 12 15:49:11 2006 +0100
+++ b/tools/tests/Makefile      Fri May 12 22:35:05 2006 +0100
@@ -6,14 +6,17 @@ TARGET := test_x86_emulator
 
 HOSTCFLAGS += -D__TEST_HARNESS__
 
+.PHONY: all
 all: $(TARGET)
 
 $(TARGET): x86_emulate.o test_x86_emulator.o
        $(HOSTCC) -o $@ $^
 
+.PHONY: clean
 clean:
        rm -rf $(TARGET) *.o *~ core
 
+.PHONY: install
 install:
 
 x86_emulate.o: $(XEN_ROOT)/xen/arch/x86/x86_emulate.c
diff -r b54bba73936d -r 4d16755748eb tools/vnet/Makefile
--- a/tools/vnet/Makefile       Fri May 12 15:49:11 2006 +0100
+++ b/tools/vnet/Makefile       Fri May 12 22:35:05 2006 +0100
@@ -4,10 +4,6 @@ export VNET_ROOT = $(shell pwd)
 export VNET_ROOT = $(shell pwd)
 include $(VNET_ROOT)/Make.env
 endif
-
-.PHONY: all compile install dist clean pristine
-.PHONY: gc-all gc-install gc-clean
-.PHONY: help
 
 SUBDIRS:=
 SUBDIRS+= examples
@@ -17,11 +13,13 @@ SUBDIRS+= vnetd
 SUBDIRS+= vnetd
 SUBDIRS+= vnet-module
 
+.PHONY: all
 all: compile
 
 gc.tar.gz:
        wget http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/$@
 
+.PHONY: gc
 gc: gc.tar.gz
        tar xfz gc.tar.gz
        ln -sf gc?.? gc
@@ -31,10 +29,13 @@ gc: gc.tar.gz
        make -C gc
        DESTDIR="" make -C gc install
 
+.PHONY: gc-all
 gc-all: $(GC_LIB_A)
 
+.PHONY: gc-install
 gc-install:
 
+.PHONY: gc-clean
 gc-clean:
        -@$(RM) -r gc?.? gc
 
@@ -50,19 +51,25 @@ subtgt = $(patsubst %,%-$(1),$(SUBDIRS))
 %-install:
        $(call submak,install)
 
+.PHONY: compile
 compile: $(call subtgt,all)
 
+.PHONY: install
 install: DESTDIR=
 install: dist
 
+.PHONY: dist
 dist: compile $(call subtgt,install)
 
+.PHONY: clean
 clean: $(call subtgt,clean)
        -@$(RM) -r build
 
+.PHONY: pristine
 pristine: clean
        -@$(RM) gc.tar.gz
 
+.PHONY: help
 help:
        @echo 'Cleaning targets:'
        @echo '  clean     - clean subdirs and remove the build dir'
diff -r b54bba73936d -r 4d16755748eb tools/vnet/doc/Makefile
--- a/tools/vnet/doc/Makefile   Fri May 12 15:49:11 2006 +0100
+++ b/tools/vnet/doc/Makefile   Fri May 12 22:35:05 2006 +0100
@@ -23,8 +23,10 @@ DOC_MAN5     := $(patsubst man/%.pod.5,man5/
 
 .PHONY: all man clean install
 
+.PHONY: all
 all: man
 
+.PHONY: man
 man:
        @if which $(POD2MAN) 1>/dev/null 2>/dev/null; then \
        $(MAKE) $(DOC_MAN1) $(DOC_MAN5); fi
@@ -39,10 +41,12 @@ man5/%.5: man/%.pod.5 Makefile
        $(POD2MAN) --release=$(VERSION) --name=`echo $@ | sed 's/^man5.//'| \
                sed 's/.5//'` -s 5 -c $(HEADER) $< $@
 
+.PHONY: clean
 clean:
        @$(RM) -rf man5
        @$(RM) -rf man1
 
+.PHONY:  install
  install: all
        $(INSTALL_DIR) $(DESTDIR)$(MAN_DIR)
        $(CP) -dR man1 $(DESTDIR)$(MAN_DIR)
diff -r b54bba73936d -r 4d16755748eb tools/vnet/examples/Makefile
--- a/tools/vnet/examples/Makefile      Fri May 12 15:49:11 2006 +0100
+++ b/tools/vnet/examples/Makefile      Fri May 12 22:35:05 2006 +0100
@@ -7,13 +7,14 @@ INSTALL_DIR   = $(INSTALL) -d -m0755
 
 XEN_SCRIPT_DIR  = $(DESTDIR)/etc/xen/scripts
 
-.PHONY: all install clean
-
+.PHONY: all
 all:
 
+.PHONY: install
 install:
        $(INSTALL_DIR) $(XEN_SCRIPT_DIR)
        $(INSTALL_PROG) network-vnet $(XEN_SCRIPT_DIR)
        $(INSTALL_PROG) vnet-insert $(XEN_SCRIPT_DIR)
 
-clean:
\ No newline at end of file
+.PHONY: clean
+clean:
diff -r b54bba73936d -r 4d16755748eb tools/vnet/libxutil/Makefile
--- a/tools/vnet/libxutil/Makefile      Fri May 12 15:49:11 2006 +0100
+++ b/tools/vnet/libxutil/Makefile      Fri May 12 22:35:05 2006 +0100
@@ -42,8 +42,10 @@ LIB      += libxutil.so.$(MAJOR).$(MINOR
 LIB      += libxutil.so.$(MAJOR).$(MINOR)
 LIB      += libxutil.a
 
+.PHONY: all
 all: build
 
+.PHONY: build
 build: #check-for-zlib
        $(MAKE) $(LIB)
 
@@ -61,6 +63,7 @@ libxutil.a: $(LIB_OBJS)
 libxutil.a: $(LIB_OBJS)
        $(AR) rc $@ $^
 
+.PHONY: check-for-zlib
 check-for-zlib:
        @if [ ! -e /usr/include/zlib.h ]; then \
        echo "***********************************************************"; \
@@ -69,6 +72,7 @@ check-for-zlib:
        false; \
        fi
 
+.PHONY: install
 install: build
        [ -d $(DESTDIR)/usr/$(LIBDIR) ] || $(INSTALL_DIR) -p 
$(DESTDIR)/usr/$(LIBDIR)
        $(INSTALL_PROG) libxutil.so.$(MAJOR).$(MINOR) $(DESTDIR)/usr/$(LIBDIR)
@@ -76,6 +80,7 @@ install: build
        ln -sf libxutil.so.$(MAJOR).$(MINOR) 
$(DESTDIR)/usr/$(LIBDIR)/libxutil.so.$(MAJOR)
        ln -sf libxutil.so.$(MAJOR) $(DESTDIR)/usr/$(LIBDIR)/libxutil.so
 
+.PHONY: clean
 clean:
        -@$(RM) *.a *.so* *.o *.opic *.rpm 
        -@$(RM) *~
diff -r b54bba73936d -r 4d16755748eb tools/vnet/scripts/Makefile
--- a/tools/vnet/scripts/Makefile       Fri May 12 15:49:11 2006 +0100
+++ b/tools/vnet/scripts/Makefile       Fri May 12 22:35:05 2006 +0100
@@ -7,12 +7,13 @@ INSTALL_DIR   = $(INSTALL) -d -m0755
 
 SBIN_DIR        = $(DESTDIR)/usr/sbin
 
-.PHONY: all install clean
-
+.PHONY: all
 all:
 
+.PHONY: install
 install:
        $(INSTALL_DIR) $(SBIN_DIR)
        $(INSTALL_PROG) vn $(SBIN_DIR)
 
-clean:
\ No newline at end of file
+.PHONY: clean
+clean:
diff -r b54bba73936d -r 4d16755748eb tools/vnet/vnetd/Makefile
--- a/tools/vnet/vnetd/Makefile Fri May 12 15:49:11 2006 +0100
+++ b/tools/vnet/vnetd/Makefile Fri May 12 22:35:05 2006 +0100
@@ -19,6 +19,7 @@ VNET_ROOT = $(shell cd .. && pwd)
 VNET_ROOT = $(shell cd .. && pwd)
 include $(VNET_ROOT)/Make.env
 
+.PHONY: all
 all: vnetd
 
 #----------------------------------------------------------------------------
@@ -104,10 +105,12 @@ vnetd: $(VNETD_OBJ)
 vnetd: $(VNETD_OBJ)
        $(CC) $(CFLAGS) -o $@ $^ $(VNETD_LIBS) -ldl -lpthread
 
+.PHONY: install
 install: vnetd
        mkdir -p $(DESTDIR)$(VNETD_INSTALL_DIR)
        install -m 0755 vnetd $(DESTDIR)$(VNETD_INSTALL_DIR)
 
+.PHONY: clean
 clean:
        -@$(RM) *.a *.o *~
        -@$(RM) vnetd
diff -r b54bba73936d -r 4d16755748eb tools/vtpm/Makefile
--- a/tools/vtpm/Makefile       Fri May 12 15:49:11 2006 +0100
+++ b/tools/vtpm/Makefile       Fri May 12 22:35:05 2006 +0100
@@ -13,14 +13,18 @@ TPM_EMULATOR_TARFILE = tpm_emulator-0.2b
 
 GMP_HEADER = /usr/include/gmp.h
 
+.PHONY: all
 all: build
 
+.PHONY: build
 build: $(TPM_EMULATOR_DIR) $(VTPM_DIR) build_sub
 
+.PHONY: install
 install: build
        $(MAKE) -C $(TPM_EMULATOR_DIR) $@
        $(MAKE) -C $(VTPM_DIR) $@
 
+.PHONY: clean
 clean:
        @if [ -d $(TPM_EMULATOR_DIR) ]; \
                then $(MAKE) -C $(TPM_EMULATOR_DIR) clean; \
@@ -29,6 +33,7 @@ clean:
                then $(MAKE) -C $(VTPM_DIR) clean; \
        fi
 
+.PHONY: mrproper
 mrproper:
        rm -f $(TPM_EMULATOR_TARFILE)
        rm -rf $(TPM_EMULATOR_DIR)
@@ -58,6 +63,7 @@ mrproper:
        patch -p1 < ../tpm_emulator-0.2b-x86_64.patch; \
        patch -p1 <../vtpm.patch
 
+.PHONY: build_sub
 build_sub:
        @if [ -e $(GMP_HEADER) ]; then \
                $(MAKE) -C $(VTPM_DIR); \
diff -r b54bba73936d -r 4d16755748eb tools/vtpm_manager/Makefile
--- a/tools/vtpm_manager/Makefile       Fri May 12 15:49:11 2006 +0100
+++ b/tools/vtpm_manager/Makefile       Fri May 12 22:35:05 2006 +0100
@@ -6,8 +6,10 @@ SUBDIRS                = crypto tcs util manager
 SUBDIRS                = crypto tcs util manager
 OPENSSL_HEADER = /usr/include/openssl/crypto.h
 
+.PHONY: all
 all: build
 
+.PHONY: build
 build:
        @if [ -e $(OPENSSL_HEADER) ]; then \
                @set -e; for subdir in $(SUBDIRS); do \
@@ -17,17 +19,20 @@ build:
                echo "*** Cannot build vtpm_manager: OpenSSL developement files 
missing."; \
        fi
 
+.PHONY: install
 install: build
        @set -e; for subdir in $(SUBDIRS); do \
                $(MAKE) -C $$subdir $@; \
        done
 
+.PHONY: clean
 clean:
        @set -e; for subdir in $(SUBDIRS); do \
                $(MAKE) -C $$subdir $@; \
        done
 
 
+.PHONY: mrproper
 mrproper:
        @set -e; for subdir in $(SUBDIRS); do \
                $(MAKE) -C $$subdir $@; \
diff -r b54bba73936d -r 4d16755748eb tools/vtpm_manager/crypto/Makefile
--- a/tools/vtpm_manager/crypto/Makefile        Fri May 12 15:49:11 2006 +0100
+++ b/tools/vtpm_manager/crypto/Makefile        Fri May 12 22:35:05 2006 +0100
@@ -3,15 +3,20 @@ include $(XEN_ROOT)/tools/vtpm_manager/R
 
 BIN            = libtcpaCrypto.a
 
+.PHONY: all
 all: build
 
+.PHONY: build
 build: $(BIN)
 
+.PHONY: install
 install: build
 
+.PHONY: clean
 clean:
        rm -f *.a *.so *.o *.rpm $(DEP_FILES)
 
+.PHONY: mrproper
 mrproper: clean
        rm -f *~
 
diff -r b54bba73936d -r 4d16755748eb tools/vtpm_manager/manager/Makefile
--- a/tools/vtpm_manager/manager/Makefile       Fri May 12 15:49:11 2006 +0100
+++ b/tools/vtpm_manager/manager/Makefile       Fri May 12 22:35:05 2006 +0100
@@ -3,19 +3,24 @@ include $(XEN_ROOT)/tools/vtpm_manager/R
 
 BIN            = vtpm_managerd
 
+.PHONY: all
 all: build
 
+.PHONY: build
 build: $(BIN)
 
+.PHONY: install
 install: build
        if [ ! -d "$(DESTDIR)/var/vtpm/fifos" ]; \
                then mkdir -p $(DESTDIR)/var/vtpm/fifos; \
        fi
        $(INSTALL_PROG) $(BIN) $(TOOLS_INSTALL_DIR)
 
+.PHONY: clean
 clean:
        rm -f *.a *.so *.o *.rpm $(DEP_FILES)
 
+.PHONY: mrproper
 mrproper: clean
        rm -f $(BIN) *~
 
diff -r b54bba73936d -r 4d16755748eb tools/vtpm_manager/tcs/Makefile
--- a/tools/vtpm_manager/tcs/Makefile   Fri May 12 15:49:11 2006 +0100
+++ b/tools/vtpm_manager/tcs/Makefile   Fri May 12 22:35:05 2006 +0100
@@ -3,15 +3,20 @@ include $(XEN_ROOT)/tools/vtpm_manager/R
 
 BIN            = libTCS.a
 
+.PHONY: all
 all: build
 
+.PHONY: build
 build: $(BIN)
 
+.PHONY: install
 install: build
 
+.PHONY: clean
 clean:
        rm -f *.a *.so *.o *.rpm $(DEP_FILES)
 
+.PHONY: mrproper
 mrproper: clean
        rm -f *~
 
diff -r b54bba73936d -r 4d16755748eb tools/vtpm_manager/util/Makefile
--- a/tools/vtpm_manager/util/Makefile  Fri May 12 15:49:11 2006 +0100
+++ b/tools/vtpm_manager/util/Makefile  Fri May 12 22:35:05 2006 +0100
@@ -3,15 +3,20 @@ include $(XEN_ROOT)/tools/vtpm_manager/R
 
 BIN            = libTCGUtils.a
 
+.PHONY: all
 all: build
 
+.PHONY: build
 build: $(BIN)
 
+.PHONY: install
 install: build
 
+.PHONY: clean
 clean:
        rm -f *.a *.so *.o *.rpm $(DEP_FILES)
 
+.PHONY: mrproper
 mrproper: clean
        rm -f *~
 
diff -r b54bba73936d -r 4d16755748eb tools/xcutils/Makefile
--- a/tools/xcutils/Makefile    Fri May 12 15:49:11 2006 +0100
+++ b/tools/xcutils/Makefile    Fri May 12 22:35:05 2006 +0100
@@ -32,6 +32,8 @@ LDLIBS                        = -L$(XEN_LIBXC) -lxenguest -lx
 
 .PHONY: all
 all: build
+
+.PHONY: build
 build: $(PROGRAMS)
 
 $(PROGRAMS): %: %.o
@@ -44,6 +46,7 @@ install: build
        $(INSTALL_PROG) $(PROGRAMS) $(DESTDIR)$(PROGRAMS_INSTALL_DIR)
 
 
+.PHONY: clean
 clean:
        $(RM) *.o $(PROGRAMS)
        $(RM) $(PROG_DEP)
diff -r b54bba73936d -r 4d16755748eb tools/xenmon/Makefile
--- a/tools/xenmon/Makefile     Fri May 12 15:49:11 2006 +0100
+++ b/tools/xenmon/Makefile     Fri May 12 22:35:05 2006 +0100
@@ -28,16 +28,20 @@ BIN = setmask xenbaked
 BIN = setmask xenbaked
 SCRIPTS = xenmon.py
 
+.PHONY: all
 all: build
 
+.PHONY: build
 build: $(BIN)
 
+.PHONY: install
 install: xenbaked setmask
        [ -d $(DESTDIR)$(sbindir) ] || $(INSTALL_DIR) $(DESTDIR)$(sbindir)
        $(INSTALL_PROG) xenbaked $(DESTDIR)$(sbindir)/xenbaked
        $(INSTALL_PROG) setmask  $(DESTDIR)$(sbindir)/setmask
        $(INSTALL_PROG) xenmon.py  $(DESTDIR)$(sbindir)/xenmon.py
 
+.PHONY: clean
 clean:
        rm -f $(BIN)
 
diff -r b54bba73936d -r 4d16755748eb tools/xenstat/libxenstat/Makefile
--- a/tools/xenstat/libxenstat/Makefile Fri May 12 15:49:11 2006 +0100
+++ b/tools/xenstat/libxenstat/Makefile Fri May 12 22:35:05 2006 +0100
@@ -41,6 +41,7 @@ CFLAGS+=-Isrc -I$(XEN_LIBXC) -I$(XEN_XEN
 CFLAGS+=-Isrc -I$(XEN_LIBXC) -I$(XEN_XENSTORE)
 LDFLAGS+=-Lsrc
 
+.PHONY: all
 all: $(LIB)
 
 $(LIB): $(OBJECTS)
@@ -62,6 +63,7 @@ src/libxenstat.so: src/libxenstat.so.$(M
 src/libxenstat.so: src/libxenstat.so.$(MAJOR)
        $(MAKE_LINK) $(<F) $@
 
+.PHONY: install
 install: all
 #install: all
 #      $(INSTALL_DATA) src/xenstat.h $(DESTDIR)$(includedir)/xenstat.h
@@ -84,6 +86,7 @@ BINDINGSRC=$(PYSRC) $(PERLSRC)
 BINDINGSRC=$(PYSRC) $(PERLSRC)
 
 # The all-bindings target builds all the language bindings
+.PHONY: all-bindings
 all-bindings: perl-bindings python-bindings
 
 # The install-bindings target installs all the language bindings
@@ -110,6 +113,7 @@ install-python-bindings: $(PYLIB) $(PYMO
        $(INSTALL_PROG) $(PYMOD) $(DESTDIR)$(pythonlibdir)/xenstat.py
 
 ifeq ($(XENSTAT_PYTHON_BINDINGS),y)
+.PHONY: all
 all: python-bindings
 install: install-python-bindings
 endif
@@ -122,8 +126,10 @@ PERL_FLAGS=`perl -MConfig -e 'print "$$C
 $(PERLLIB): $(PERLSRC)
        $(CC) $(CFLAGS) $(LDFLAGS) $(PERL_FLAGS) -shared -lxenstat -o $@ $<
 
+.PHONY: perl-bindings
 perl-bindings: $(PERLLIB) $(PERLMOD)
 
+.PHONY: install-perl-bindings
 perllibdir=$(prefix)/lib/perl5
 perlmoddir=$(prefix)/share/perl5
 install-perl-bindings: $(PERLLIB) $(PERLMOD)
@@ -131,10 +137,14 @@ install-perl-bindings: $(PERLLIB) $(PERL
        $(INSTALL_PROG) $(PERLMOD) $(DESTDIR)$(perlmoddir)/xenstat.pm
 
 ifeq ($(XENSTAT_PERL_BINDINGS),y)
+.PHONY: all
 all: perl-bindings
+
+.PHONY: install
 install: install-perl-bindings
 endif
 
+.PHONY: clean
 clean:
        rm -f $(LIB) $(SHLIB) $(SHLIB_LINKS) $(OBJECTS) \
              $(BINDINGS) $(BINDINGSRC)
diff -r b54bba73936d -r 4d16755748eb tools/xenstat/xentop/Makefile
--- a/tools/xenstat/xentop/Makefile     Fri May 12 15:49:11 2006 +0100
+++ b/tools/xenstat/xentop/Makefile     Fri May 12 22:35:05 2006 +0100
@@ -14,6 +14,7 @@ include $(XEN_ROOT)/tools/Rules.mk
 include $(XEN_ROOT)/tools/Rules.mk
 
 ifneq ($(XENSTAT_XENTOP),y)
+.PHONY: all install xentop
 all install xentop:
 else
 
@@ -30,15 +31,16 @@ LDFLAGS += -L$(XEN_LIBXENSTAT)
 LDFLAGS += -L$(XEN_LIBXENSTAT)
 LDLIBS += -lxenstat -lncurses
 
+.PHONY: all
 all: xentop
 
-xentop: xentop.o
-
+.PHONY: install
 install: xentop xentop.1
        $(INSTALL_PROG) xentop $(DESTDIR)$(sbindir)/xentop
        $(INSTALL_DATA) xentop.1 $(DESTDIR)$(man1dir)/xentop.1
 
 endif
 
+.PHONY: clean
 clean:
        rm -f xentop xentop.o
diff -r b54bba73936d -r 4d16755748eb tools/xenstore/Makefile
--- a/tools/xenstore/Makefile   Fri May 12 15:49:11 2006 +0100
+++ b/tools/xenstore/Makefile   Fri May 12 22:35:05 2006 +0100
@@ -27,11 +27,13 @@ CLIENTS += xenstore-write
 CLIENTS += xenstore-write
 CLIENTS_OBJS := $(patsubst xenstore-%,xenstore_%.o,$(CLIENTS))
 
+.PHONY: all
 all: libxenstore.so xenstored $(CLIENTS) xs_tdb_dump xenstore-control 
xenstore-ls
 
 test_interleaved_transactions: test_interleaved_transactions.o
        $(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -L. -lxenstore -o $@
 
+.PHONY: testcode
 testcode: xs_test xenstored_test xs_random
 
 xenstored: xenstored_core.o xenstored_watch.o xenstored_domain.o 
xenstored_transaction.o xs_lib.o talloc.o utils.o tdb.o hashtable.o
@@ -63,6 +65,7 @@ xs_crashme: xs_crashme.o xs_lib.o talloc
 
 speedtest: speedtest.o xs.o xs_lib.o utils.o talloc.o
 
+.PHONY: check-speed
 check-speed: speedtest xenstored_test $(TESTDIR)
        $(TESTENV) time ./speedtest 100
 
@@ -80,6 +83,7 @@ libxenstore.so: xs.opic xs_lib.opic
 libxenstore.so: xs.opic xs_lib.opic
        $(CC) $(CFLAGS) $(LDFLAGS) -Wl,-soname -Wl,libxenstore.so -shared -o $@ 
$^ -lpthread
 
+.PHONY: clean
 clean: testsuite-clean
        rm -f *.o *.opic *.so
        rm -f xenstored xs_random xs_stress xs_crashme
@@ -87,55 +91,69 @@ clean: testsuite-clean
        rm -f $(CLIENTS)
        $(RM) $(PROG_DEP)
 
+.PHONY: print-dir
 print-dir:
        @echo -n tools/xenstore: 
 
+.PHONY: print-end
 print-end:
        @echo
 
+.PHONY: check
 check: print-dir testsuite-fast randomcheck-fast print-end
 
+.PHONY: fullcheck
 fullcheck: testsuite-run randomcheck stresstest
 
 $(TESTDIR):
        mkdir $@
 
+.PHONY: testsuite-run
 testsuite-run: xenstored_test xs_test $(TESTDIR)
        $(TESTENV) testsuite/test.sh && echo
 
+.PHONY: testsuite-fast
 testsuite-fast: xenstored_test xs_test $(TESTDIR)
        @$(TESTENV) testsuite/test.sh --fast
 
+.PHONY: testsuite-clean
 testsuite-clean:
        rm -rf $(TESTDIR)
 
 # Make this visible so they can see repeat tests without --fast if they
 # fail.
 RANDSEED=$(shell date +%s)
+.PHONY: randomcheck
 randomcheck: xs_random xenstored_test $(TESTDIR)
        $(TESTENV) ./xs_random --simple --fast /tmp/xs_random 200000 
$(RANDSEED) && echo
        $(TESTENV) ./xs_random --fast /tmp/xs_random 100000 $(RANDSEED) && echo
 #      $(TESTENV) ./xs_random --fail /tmp/xs_random 10000 $(RANDSEED)
 
+.PHONY: crashme
 crashme:  xs_crashme xenstored_test $(TESTDIR)
        rm -rf $(TESTDIR)/store $(TESTDIR)/transactions /tmp/xs_crashme.vglog* 
/tmp/trace
        export $(TESTENV); ./xs_crashme 5000 $(RANDSEED) 2>/dev/null
        if [ -n "`cat /tmp/xs_crashme.vglog*`" ]; then echo Valgrind 
complained; cat /tmp/xs_crashme.vglog*; exit 1; fi
        rm -rf $(TESTDIR)/store $(TESTDIR)/transactions /tmp/xs_crashme.vglog* 
/tmp/trace
 
+.PHONY: randomcheck-fast
 randomcheck-fast: xs_random xenstored_test $(TESTDIR)
        @$(TESTENV) ./xs_random --fast /tmp/xs_random 2000 $(RANDSEED)
 
+.PHONY: stresstest
 stresstest: xs_stress xenstored_test $(TESTDIR)
        rm -rf $(TESTDIR)/store $(TESTDIR)/transactions
        export $(TESTENV); PID=`./xenstored_test --output-pid 
--trace-file=/tmp/trace`; ./xs_stress 5000; ret=$$?; kill $$PID; exit $$ret
 
+.PHONY: TAGS
 TAGS:
        etags `find . -name '*.[ch]'`
 
+.PHONY: tarball
 tarball: clean
        cd .. && tar -c -j -v -h -f xenstore.tar.bz2 xenstore/
 
+.PHONY: install
 install: all
        $(INSTALL_DIR) -p $(DESTDIR)/var/run/xenstored
        $(INSTALL_DIR) -p $(DESTDIR)/var/lib/xenstored
diff -r b54bba73936d -r 4d16755748eb tools/xentrace/Makefile
--- a/tools/xentrace/Makefile   Fri May 12 15:49:11 2006 +0100
+++ b/tools/xentrace/Makefile   Fri May 12 22:35:05 2006 +0100
@@ -28,9 +28,13 @@ LIBBIN  += xenctx
 LIBBIN  += xenctx
 endif
 
+.PHONY: all
 all: build
+
+.PHONY: build
 build: $(BIN) $(LIBBIN)
 
+.PHONY: install
 install: build
        [ -d $(DESTDIR)/usr/bin ] || $(INSTALL_DIR) $(DESTDIR)/usr/bin
        [ -z "$(LIBBIN)" ] || [ -d $(DESTDIR)/usr/$(LIBDIR)/xen/bin ] || \
@@ -44,6 +48,7 @@ install: build
        $(INSTALL_DATA) $(MAN1) $(DESTDIR)/usr/share/man/man1
        $(INSTALL_DATA) $(MAN8) $(DESTDIR)/usr/share/man/man8
 
+.PHONY: clean
 clean:
        $(RM) *.a *.so *.o *.rpm $(BIN) $(LIBBIN)
 
diff -r b54bba73936d -r 4d16755748eb xen/Makefile
--- a/xen/Makefile      Fri May 12 15:49:11 2006 +0100
+++ b/xen/Makefile      Fri May 12 22:35:05 2006 +0100
@@ -1,31 +1,28 @@ INSTALL                       = install
-INSTALL                        = install
-INSTALL_DATA           = $(INSTALL) -m0644
-INSTALL_DIR            = $(INSTALL) -d -m0755
-
 # This is the correct place to edit the build version.
 # All other places this is stored (eg. compile.h) should be autogenerated.
 export XEN_VERSION       = 3
 export XEN_SUBVERSION    = 0
-export XEN_EXTRAVERSION  = .2-2
+export XEN_EXTRAVERSION ?= .2-2
 export XEN_FULLVERSION   = $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION)
+-include xen-version
 
-export BASEDIR          := $(CURDIR)
+export BASEDIR := $(CURDIR)
 
-include Rules.mk
+.PHONY: default
+default: build
 
-default: build
-$(TARGET).gz: $(TARGET)
-       gzip -f -9 < $< > $@.new
-       mv $@.new $@
-
-debug: 
-       objdump -D -S $(TARGET)-syms > $(TARGET).s
-
+.PHONY: dist
 dist: install
 
-build: $(TARGET).gz
+.PHONY: build install clean cscope TAGS tags
+build install debug clean cscope TAGS tags::
+       make -f Rules.mk _$@
 
-install: $(TARGET).gz
+.PHONY: _build
+_build: $(TARGET).gz
+
+.PHONY: _install
+_install: $(TARGET).gz
        [ -d $(DESTDIR)/boot ] || $(INSTALL_DIR) $(DESTDIR)/boot
        $(INSTALL_DATA) $(TARGET).gz $(DESTDIR)/boot/$(notdir 
$(TARGET))-$(XEN_FULLVERSION).gz
        ln -f -s $(notdir $(TARGET))-$(XEN_FULLVERSION).gz 
$(DESTDIR)/boot/$(notdir $(TARGET))-$(XEN_VERSION).$(XEN_SUBVERSION).gz
@@ -38,27 +35,37 @@ install: $(TARGET).gz
        $(INSTALL_DATA) include/public/io/*.h $(DESTDIR)/usr/include/xen/io
        $(INSTALL_DATA) include/public/COPYING $(DESTDIR)/usr/include/xen
 
-clean: delete-unfresh-files
+.PHONY: _debug
+_debug:
+       objdump -D -S $(TARGET)-syms > $(TARGET).s
+
+.PHONY: _clean
+_clean: delete-unfresh-files
        $(MAKE) -C tools clean
-       $(MAKE) -C common clean
-       $(MAKE) -C drivers clean
-       $(MAKE) -C acm clean
-       $(MAKE) -C arch/$(TARGET_ARCH) clean
+       $(MAKE) -f $(BASEDIR)/Rules.mk -C common clean
+       $(MAKE) -f $(BASEDIR)/Rules.mk -C drivers clean
+       $(MAKE) -f $(BASEDIR)/Rules.mk -C acm clean
+       $(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) clean
        rm -f include/asm *.o $(TARGET)* *~ core
        rm -f include/asm-*/asm-offsets.h
        rm -f include/xen/acm_policy.h
 
+$(TARGET).gz: $(TARGET)
+       gzip -f -9 < $< > $@.new
+       mv $@.new $@
+
 $(TARGET): delete-unfresh-files
        $(MAKE) -C tools
-       $(MAKE) include/xen/compile.h
-       $(MAKE) include/xen/acm_policy.h
+       $(MAKE) -f $(BASEDIR)/Rules.mk include/xen/compile.h
+       $(MAKE) -f $(BASEDIR)/Rules.mk include/xen/acm_policy.h
        [ -e include/asm ] || ln -sf asm-$(TARGET_ARCH) include/asm
-       $(MAKE) -C arch/$(TARGET_ARCH) asm-offsets.s
-       $(MAKE) include/asm-$(TARGET_ARCH)/asm-offsets.h
-       $(MAKE) -C arch/$(TARGET_ARCH) $(TARGET)
+       $(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) asm-offsets.s
+       $(MAKE) -f $(BASEDIR)/Rules.mk include/asm-$(TARGET_ARCH)/asm-offsets.h
+       $(MAKE) -f $(BASEDIR)/Rules.mk -C arch/$(TARGET_ARCH) $(TARGET)
 
 # drivers/char/console.o contains static banner/compile info. Blow it away.
 # Don't refresh these files during e.g., 'sudo make install'
+.PHONY: delete-unfresh-files
 delete-unfresh-files:
        @if [ ! -r include/xen/compile.h -o -O include/xen/compile.h ]; then \
                rm -f include/xen/{banner,compile}.h; \
@@ -115,8 +122,6 @@ include/asm-$(TARGET_ARCH)/asm-offsets.h
          echo ""; \
          echo "#endif") <$< >$@
 
-.PHONY: default debug install dist clean delete-unfresh-files TAGS tags
-
 SUBDIRS = acm arch/$(TARGET_ARCH) common drivers 
 define all_sources
     ( find include/asm-$(TARGET_ARCH) -name SCCS -prune -o -name '*.h' -print; 
\
@@ -124,12 +129,20 @@ define all_sources
             -name config \) -prune -o -name '*.h' -print; \
       find $(SUBDIRS) -name SCCS -prune -o -name '*.[chS]' -print )
 endef
-TAGS: 
+
+.PHONY: _TAGS
+_TAGS: 
        $(all_sources) | etags -
-tags: 
+
+.PHONY: _tags
+_tags: 
        $(all_sources) | xargs ctags
-cscope: 
+
+.PHONY: _cscope
+_cscope:
        $(all_sources) > cscope.files
        cscope -k -b -q
+
+.PHONY: MAP
 MAP:
        $(NM) $(TARGET) | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] 
\)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort > System.map
diff -r b54bba73936d -r 4d16755748eb xen/Rules.mk
--- a/xen/Rules.mk      Fri May 12 15:49:11 2006 +0100
+++ b/xen/Rules.mk      Fri May 12 22:35:05 2006 +0100
@@ -26,20 +26,23 @@ override COMPILE_ARCH    := $(patsubst x
 override COMPILE_ARCH    := $(patsubst x86%,x86,$(XEN_COMPILE_ARCH))
 override TARGET_ARCH     := $(patsubst x86%,x86,$(XEN_TARGET_ARCH))
 
-TARGET  := $(BASEDIR)/xen
-HDRS    := $(wildcard $(BASEDIR)/include/xen/*.h)
-HDRS    += $(wildcard $(BASEDIR)/include/public/*.h)
-HDRS    += $(wildcard $(BASEDIR)/include/asm-$(TARGET_ARCH)/*.h)
-HDRS    += $(wildcard 
$(BASEDIR)/include/asm-$(TARGET_ARCH)/$(TARGET_SUBARCH)/*.h)
-HDRS    += $(wildcard $(BASEDIR)/include/asm-$(TARGET_ARCH)/hvm/*.h)
-HDRS    += $(wildcard $(BASEDIR)/include/asm-$(TARGET_ARCH)/hvm/svm/*.h)
-HDRS    += $(wildcard $(BASEDIR)/include/asm-$(TARGET_ARCH)/hvm/vmx/*.h)
-# Do not depend on auto-generated header files.
-HDRS    := $(subst 
$(BASEDIR)/include/asm-$(TARGET_ARCH)/asm-offsets.h,,$(HDRS))
-HDRS    := $(subst $(BASEDIR)/include/xen/banner.h,,$(HDRS))
-HDRS    := $(subst $(BASEDIR)/include/xen/compile.h,,$(HDRS))
+TARGET := $(BASEDIR)/xen
+
+HDRS := $(wildcard $(BASEDIR)/include/xen/*.h)
+HDRS += $(wildcard $(BASEDIR)/include/public/*.h)
+HDRS += $(wildcard $(BASEDIR)/include/asm-$(TARGET_ARCH)/*.h)
+HDRS += $(wildcard $(BASEDIR)/include/asm-$(TARGET_ARCH)/$(TARGET_SUBARCH)/*.h)
+
+INSTALL      := install
+INSTALL_DATA := $(INSTALL) -m0644
+INSTALL_DIR  := $(INSTALL) -d -m0755
 
 include $(BASEDIR)/arch/$(TARGET_ARCH)/Rules.mk
+
+# Do not depend on auto-generated header files.
+HDRS := $(subst $(BASEDIR)/include/asm-$(TARGET_ARCH)/asm-offsets.h,,$(HDRS))
+HDRS := $(subst $(BASEDIR)/include/xen/banner.h,,$(HDRS))
+HDRS := $(subst $(BASEDIR)/include/xen/compile.h,,$(HDRS))
 
 # Note that link order matters!
 ALL_OBJS-y               += $(BASEDIR)/common/built_in.o
@@ -64,6 +67,38 @@ CFLAGS   := $(strip $(CFLAGS) $(CFLAGS-y
 CFLAGS   := $(strip $(CFLAGS) $(CFLAGS-y))
 AFLAGS   := $(strip $(AFLAGS) $(AFLAGS-y))
 
+include Makefile
+
+# Ensure each subdirectory has exactly one trailing slash.
+subdir-n := $(patsubst %,%/,$(patsubst %/,%,$(subdir-n)))
+subdir-y := $(patsubst %,%/,$(patsubst %/,%,$(subdir-y)))
+
+# Add explicitly declared subdirectories to the object list.
+obj-y += $(patsubst %/,%/built_in.o,$(subdir-y))
+
+# Add implicitly declared subdirectories (in the object list) to the
+# subdirectory list, and rewrite the object-list entry.
+subdir-y += $(filter %/,$(obj-y))
+obj-y    := $(patsubst %/,%/built-in.o,$(obj-y))
+
+subdir-all := $(subdir-y) $(subdir-n)
+
+built_in.o: $(obj-y)
+       $(LD) $(LDFLAGS) -r -o $@ $^
+
+# Force execution of pattern rules (for which PHONY cannot be directly used).
+.PHONY: FORCE
+FORCE:
+
+%/built_in.o: FORCE
+       $(MAKE) -f $(BASEDIR)/Rules.mk -C $* built_in.o
+
+.PHONY: clean
+clean:: $(addprefix _clean_, $(subdir-all))
+       rm -f *.o *~ core
+_clean_%/: FORCE
+       $(MAKE) -f $(BASEDIR)/Rules.mk -C $* clean
+
 %.o: %.c $(HDRS) Makefile
        $(CC) $(CFLAGS) -c $< -o $@
 
diff -r b54bba73936d -r 4d16755748eb xen/acm/Makefile
--- a/xen/acm/Makefile  Fri May 12 15:49:11 2006 +0100
+++ b/xen/acm/Makefile  Fri May 12 22:35:05 2006 +0100
@@ -1,9 +1,5 @@ include $(BASEDIR)/Rules.mk
-include $(BASEDIR)/Rules.mk
-
 obj-y += acm_core.o 
 obj-y += acm_policy.o
 obj-y += acm_simple_type_enforcement_hooks.o
 obj-y += acm_chinesewall_hooks.o
 obj-y += acm_null_hooks.o
-
-include $(BASEDIR)/Post.mk
diff -r b54bba73936d -r 4d16755748eb xen/arch/ia64/Makefile
--- a/xen/arch/ia64/Makefile    Fri May 12 15:49:11 2006 +0100
+++ b/xen/arch/ia64/Makefile    Fri May 12 22:35:05 2006 +0100
@@ -1,21 +1,17 @@ include $(BASEDIR)/Rules.mk
-include $(BASEDIR)/Rules.mk
-
 subdir-y += xen
 subdir-y += vmx
 subdir-y += linux
 subdir-y += linux-xen
 
-include $(BASEDIR)/Post.mk
-
 $(TARGET)-syms: linux-xen/head.o $(ALL_OBJS) xen.lds.s
        $(LD) $(LDFLAGS) -T xen.lds.s -N \
                -Map map.out linux-xen/head.o $(ALL_OBJS) -o $@
        $(NM) -n $@ | $(BASEDIR)/tools/symbols > $(BASEDIR)/xen-syms.S
-       $(MAKE) $(BASEDIR)/xen-syms.o
+       $(MAKE) -f $(BASEDIR)/Rules.mk $(BASEDIR)/xen-syms.o
        $(LD) $(LDFLAGS) -T xen.lds.s -N \
                -Map map.out linux-xen/head.o $(ALL_OBJS) $(BASEDIR)/xen-syms.o 
-o $@
        $(NM) -n $@ | $(BASEDIR)/tools/symbols >$(BASEDIR)/xen-syms.S
-       $(MAKE) $(BASEDIR)/xen-syms.o
+       $(MAKE) -f $(BASEDIR)/Rules.mk $(BASEDIR)/xen-syms.o
        $(LD) $(LDFLAGS) -T xen.lds.s -N \
                -Map map.out linux-xen/head.o $(ALL_OBJS) $(BASEDIR)/xen-syms.o 
-o $@
        rm -f $(BASEDIR)/xen-syms.S $(BASEDIR)/xen-syms.o
@@ -79,7 +75,8 @@ xen.lds.s: xen/xen.lds.S
        $(CC) -E $(CPPFLAGS) -P -DXEN $(AFLAGS) \
                -o xen.lds.s xen/xen.lds.S
 
-clean:: FORCE
+.PHONY: clean
+clean::
        rm -f *.o *~ core  xen.lds.s 
$(BASEDIR)/include/asm-ia64/.offsets.h.stamp asm-offsets.s map.out
        rm -f asm-xsi-offsets.s $(BASEDIR)/include/asm-ia64/asm-xsi-offsets.h
        rm -f $(BASEDIR)/System.map
diff -r b54bba73936d -r 4d16755748eb xen/arch/ia64/linux-xen/Makefile
--- a/xen/arch/ia64/linux-xen/Makefile  Fri May 12 15:49:11 2006 +0100
+++ b/xen/arch/ia64/linux-xen/Makefile  Fri May 12 22:35:05 2006 +0100
@@ -1,5 +1,3 @@ include $(BASEDIR)/Rules.mk
-include $(BASEDIR)/Rules.mk
-
 obj-y += efi.o
 obj-y += entry.o
 obj-y += irq_ia64.o
@@ -15,5 +13,3 @@ obj-y += tlb.o
 obj-y += tlb.o
 obj-y += unaligned.o
 obj-y += unwind.o
-
-include $(BASEDIR)/Post.mk
diff -r b54bba73936d -r 4d16755748eb xen/arch/ia64/linux/Makefile
--- a/xen/arch/ia64/linux/Makefile      Fri May 12 15:49:11 2006 +0100
+++ b/xen/arch/ia64/linux/Makefile      Fri May 12 22:35:05 2006 +0100
@@ -1,6 +1,3 @@ include $(BASEDIR)/Rules.mk
-include $(BASEDIR)/Rules.mk
-
-
 obj-y += bitop.o
 obj-y += clear_page.o
 obj-y += cmdline.o
@@ -25,8 +22,6 @@ obj-y += __udivdi3.o
 obj-y += __udivdi3.o
 obj-y += __moddi3.o
 obj-y += __umoddi3.o
-
-include $(BASEDIR)/Post.mk
 
 ## variants of divide/modulo
 ## see files in xen/arch/ia64/linux/lib (linux/arch/ia64/lib)
diff -r b54bba73936d -r 4d16755748eb xen/arch/ia64/tools/privop/Makefile
--- a/xen/arch/ia64/tools/privop/Makefile       Fri May 12 15:49:11 2006 +0100
+++ b/xen/arch/ia64/tools/privop/Makefile       Fri May 12 22:35:05 2006 +0100
@@ -1,10 +1,12 @@ CC=gcc
 CC=gcc
 CFLAGS=-O -Wall
 
+.PHONY: all
 all: postat
 
 postat: postat.c pohcalls.o
 
+.PHONY: clean
 clean:
        $(RM) -f *.o postat *.s *~
 
diff -r b54bba73936d -r 4d16755748eb xen/arch/ia64/vmx/Makefile
--- a/xen/arch/ia64/vmx/Makefile        Fri May 12 15:49:11 2006 +0100
+++ b/xen/arch/ia64/vmx/Makefile        Fri May 12 22:35:05 2006 +0100
@@ -1,5 +1,3 @@ include $(BASEDIR)/Rules.mk
-include $(BASEDIR)/Rules.mk
-
 obj-y += hvm_vioapic.o
 obj-y += mm.o
 obj-y += mmio.o
@@ -20,5 +18,3 @@ obj-y += vmx_virt.o
 obj-y += vmx_virt.o
 obj-y += vmx_vsa.o
 obj-y += vtlb.o
-
-include $(BASEDIR)/Post.mk
diff -r b54bba73936d -r 4d16755748eb xen/arch/ia64/xen/Makefile
--- a/xen/arch/ia64/xen/Makefile        Fri May 12 15:49:11 2006 +0100
+++ b/xen/arch/ia64/xen/Makefile        Fri May 12 22:35:05 2006 +0100
@@ -1,5 +1,3 @@ include $(BASEDIR)/Rules.mk
-include $(BASEDIR)/Rules.mk
-
 obj-y += acpi.o
 obj-y += dom0_ops.o
 obj-y += domain.o
@@ -26,5 +24,3 @@ obj-y += xentime.o
 obj-y += xentime.o
 
 obj-$(crash_debug) += gdbstub.o
-
-include $(BASEDIR)/Post.mk
diff -r b54bba73936d -r 4d16755748eb xen/arch/x86/Makefile
--- a/xen/arch/x86/Makefile     Fri May 12 15:49:11 2006 +0100
+++ b/xen/arch/x86/Makefile     Fri May 12 22:35:05 2006 +0100
@@ -1,5 +1,3 @@ include $(BASEDIR)/Rules.mk
-include $(BASEDIR)/Rules.mk
-
 subdir-y += acpi
 subdir-y += cpu
 subdir-y += genapic
@@ -49,8 +47,6 @@ obj-$(x86_64) += shadow.o shadow_public.
 
 obj-$(crash_debug) += gdbstub.o
 
-include $(BASEDIR)/Post.mk
-
 $(TARGET): $(TARGET)-syms boot/mkelf32
        ./boot/mkelf32 $(TARGET)-syms $(TARGET) 0x100000 \
        `$(NM) $(TARGET)-syms | sort | tail -n 1 | sed -e 's/^\([^ 
]*\).*/0x\1/'`
@@ -59,11 +55,11 @@ include $(BASEDIR)/Post.mk
        $(LD) $(LDFLAGS) -T xen.lds -N \
            boot/$(TARGET_SUBARCH).o $(ALL_OBJS) -o $@
        $(NM) -n $@ | $(BASEDIR)/tools/symbols >$(BASEDIR)/xen-syms.S
-       $(MAKE) $(BASEDIR)/xen-syms.o
+       $(MAKE) -f $(BASEDIR)/Rules.mk $(BASEDIR)/xen-syms.o
        $(LD) $(LDFLAGS) -T xen.lds -N \
            boot/$(TARGET_SUBARCH).o $(ALL_OBJS) $(BASEDIR)/xen-syms.o -o $@
        $(NM) -n $@ | $(BASEDIR)/tools/symbols >$(BASEDIR)/xen-syms.S
-       $(MAKE) $(BASEDIR)/xen-syms.o
+       $(MAKE) -f $(BASEDIR)/Rules.mk $(BASEDIR)/xen-syms.o
        $(LD) $(LDFLAGS) -T xen.lds -N \
            boot/$(TARGET_SUBARCH).o $(ALL_OBJS) $(BASEDIR)/xen-syms.o -o $@
        rm -f $(BASEDIR)/xen-syms.S $(BASEDIR)/xen-syms.o
@@ -79,5 +75,6 @@ boot/mkelf32: boot/mkelf32.c
 
 shadow_guest32.o: shadow.c
 
-clean:: FORCE
+.PHONY: clean
+clean::
        rm -f asm-offsets.s xen.lds boot/*.o boot/*~ boot/core boot/mkelf32
diff -r b54bba73936d -r 4d16755748eb xen/arch/x86/Rules.mk
--- a/xen/arch/x86/Rules.mk     Fri May 12 15:49:11 2006 +0100
+++ b/xen/arch/x86/Rules.mk     Fri May 12 22:35:05 2006 +0100
@@ -46,6 +46,10 @@ x86_64 := y
 x86_64 := y
 endif
 
+HDRS += $(wildcard $(BASEDIR)/include/asm-x86/hvm/*.h)
+HDRS += $(wildcard $(BASEDIR)/include/asm-x86/hvm/svm/*.h)
+HDRS += $(wildcard $(BASEDIR)/include/asm-x86/hvm/vmx/*.h)
+
 # Test for at least GCC v3.2.x.
 gcc-ver = $(shell $(CC) -dumpversion | sed -e 's/^\(.\)\.\(.\)\.\(.\)/\$(1)/')
 ifeq ($(call gcc-ver,1),1)
diff -r b54bba73936d -r 4d16755748eb xen/arch/x86/acpi/Makefile
--- a/xen/arch/x86/acpi/Makefile        Fri May 12 15:49:11 2006 +0100
+++ b/xen/arch/x86/acpi/Makefile        Fri May 12 22:35:05 2006 +0100
@@ -1,5 +1,1 @@ include $(BASEDIR)/Rules.mk
-include $(BASEDIR)/Rules.mk
-
 obj-y += boot.o
-
-include $(BASEDIR)/Post.mk
diff -r b54bba73936d -r 4d16755748eb xen/arch/x86/cpu/Makefile
--- a/xen/arch/x86/cpu/Makefile Fri May 12 15:49:11 2006 +0100
+++ b/xen/arch/x86/cpu/Makefile Fri May 12 22:35:05 2006 +0100
@@ -1,5 +1,3 @@ include $(BASEDIR)/Rules.mk
-include $(BASEDIR)/Rules.mk
-
 subdir-y += mcheck
 subdir-y += mtrr
 
@@ -12,5 +10,3 @@ obj-$(x86_32) += cyrix.o
 obj-$(x86_32) += cyrix.o
 obj-$(x86_32) += rise.o
 obj-$(x86_32) += transmeta.o
-
-include $(BASEDIR)/Post.mk
diff -r b54bba73936d -r 4d16755748eb xen/arch/x86/cpu/mcheck/Makefile
--- a/xen/arch/x86/cpu/mcheck/Makefile  Fri May 12 15:49:11 2006 +0100
+++ b/xen/arch/x86/cpu/mcheck/Makefile  Fri May 12 22:35:05 2006 +0100
@@ -1,5 +1,3 @@ include $(BASEDIR)/Rules.mk
-include $(BASEDIR)/Rules.mk
-
 obj-y += k7.o
 obj-y += mce.o
 obj-y += non-fatal.o
@@ -7,5 +5,3 @@ obj-y += p5.o
 obj-y += p5.o
 obj-y += p6.o
 obj-y += winchip.o
-
-include $(BASEDIR)/Post.mk
diff -r b54bba73936d -r 4d16755748eb xen/arch/x86/cpu/mtrr/Makefile
--- a/xen/arch/x86/cpu/mtrr/Makefile    Fri May 12 15:49:11 2006 +0100
+++ b/xen/arch/x86/cpu/mtrr/Makefile    Fri May 12 22:35:05 2006 +0100
@@ -1,10 +1,6 @@ include $(BASEDIR)/Rules.mk
-include $(BASEDIR)/Rules.mk
-
 obj-y += amd.o
 obj-y += centaur.o
 obj-y += cyrix.o
 obj-y += generic.o
 obj-y += main.o
 obj-y += state.o
-
-include $(BASEDIR)/Post.mk
diff -r b54bba73936d -r 4d16755748eb xen/arch/x86/genapic/Makefile
--- a/xen/arch/x86/genapic/Makefile     Fri May 12 15:49:11 2006 +0100
+++ b/xen/arch/x86/genapic/Makefile     Fri May 12 22:35:05 2006 +0100
@@ -1,10 +1,6 @@ include $(BASEDIR)/Rules.mk
-include $(BASEDIR)/Rules.mk
-
 obj-y += bigsmp.o
 obj-y += default.o
 obj-y += es7000.o
 obj-y += es7000plat.o
 obj-y += probe.o
 obj-y += summit.o
-
-include $(BASEDIR)/Post.mk
diff -r b54bba73936d -r 4d16755748eb xen/arch/x86/hvm/Makefile
--- a/xen/arch/x86/hvm/Makefile Fri May 12 15:49:11 2006 +0100
+++ b/xen/arch/x86/hvm/Makefile Fri May 12 22:35:05 2006 +0100
@@ -1,5 +1,3 @@ include $(BASEDIR)/Rules.mk
-include $(BASEDIR)/Rules.mk
-
 subdir-y += svm
 subdir-y += vmx
 
@@ -10,5 +8,3 @@ obj-y += platform.o
 obj-y += platform.o
 obj-y += vioapic.o
 obj-y += vlapic.o
-
-include $(BASEDIR)/Post.mk
diff -r b54bba73936d -r 4d16755748eb xen/arch/x86/hvm/svm/Makefile
--- a/xen/arch/x86/hvm/svm/Makefile     Fri May 12 15:49:11 2006 +0100
+++ b/xen/arch/x86/hvm/svm/Makefile     Fri May 12 22:35:05 2006 +0100
@@ -1,5 +1,3 @@ include $(BASEDIR)/Rules.mk
-include $(BASEDIR)/Rules.mk
-
 subdir-$(x86_32) += x86_32
 subdir-$(x86_64) += x86_64
 
@@ -8,5 +6,3 @@ obj-y += intr.o
 obj-y += intr.o
 obj-y += svm.o
 obj-y += vmcb.o
-
-include $(BASEDIR)/Post.mk
diff -r b54bba73936d -r 4d16755748eb xen/arch/x86/hvm/svm/x86_32/Makefile
--- a/xen/arch/x86/hvm/svm/x86_32/Makefile      Fri May 12 15:49:11 2006 +0100
+++ b/xen/arch/x86/hvm/svm/x86_32/Makefile      Fri May 12 22:35:05 2006 +0100
@@ -1,5 +1,1 @@ include $(BASEDIR)/Rules.mk
-include $(BASEDIR)/Rules.mk
-
 obj-y += exits.o
-
-include $(BASEDIR)/Post.mk
diff -r b54bba73936d -r 4d16755748eb xen/arch/x86/hvm/svm/x86_64/Makefile
--- a/xen/arch/x86/hvm/svm/x86_64/Makefile      Fri May 12 15:49:11 2006 +0100
+++ b/xen/arch/x86/hvm/svm/x86_64/Makefile      Fri May 12 22:35:05 2006 +0100
@@ -1,5 +1,1 @@ include $(BASEDIR)/Rules.mk
-include $(BASEDIR)/Rules.mk
-
 obj-y += exits.o
-
-include $(BASEDIR)/Post.mk
diff -r b54bba73936d -r 4d16755748eb xen/arch/x86/hvm/vmx/Makefile
--- a/xen/arch/x86/hvm/vmx/Makefile     Fri May 12 15:49:11 2006 +0100
+++ b/xen/arch/x86/hvm/vmx/Makefile     Fri May 12 22:35:05 2006 +0100
@@ -1,10 +1,6 @@ include $(BASEDIR)/Rules.mk
-include $(BASEDIR)/Rules.mk
-
 subdir-$(x86_32) += x86_32
 subdir-$(x86_64) += x86_64
 
 obj-y += io.o
 obj-y += vmcs.o
 obj-y += vmx.o
-
-include $(BASEDIR)/Post.mk
diff -r b54bba73936d -r 4d16755748eb xen/arch/x86/hvm/vmx/x86_32/Makefile
--- a/xen/arch/x86/hvm/vmx/x86_32/Makefile      Fri May 12 15:49:11 2006 +0100
+++ b/xen/arch/x86/hvm/vmx/x86_32/Makefile      Fri May 12 22:35:05 2006 +0100
@@ -1,5 +1,1 @@ include $(BASEDIR)/Rules.mk
-include $(BASEDIR)/Rules.mk
-
 obj-y += exits.o
-
-include $(BASEDIR)/Post.mk
diff -r b54bba73936d -r 4d16755748eb xen/arch/x86/hvm/vmx/x86_64/Makefile
--- a/xen/arch/x86/hvm/vmx/x86_64/Makefile      Fri May 12 15:49:11 2006 +0100
+++ b/xen/arch/x86/hvm/vmx/x86_64/Makefile      Fri May 12 22:35:05 2006 +0100
@@ -1,5 +1,1 @@ include $(BASEDIR)/Rules.mk
-include $(BASEDIR)/Rules.mk
-
 obj-y += exits.o
-
-include $(BASEDIR)/Post.mk
diff -r b54bba73936d -r 4d16755748eb xen/arch/x86/x86_32/Makefile
--- a/xen/arch/x86/x86_32/Makefile      Fri May 12 15:49:11 2006 +0100
+++ b/xen/arch/x86/x86_32/Makefile      Fri May 12 22:35:05 2006 +0100
@@ -1,5 +1,3 @@ include $(BASEDIR)/Rules.mk
-include $(BASEDIR)/Rules.mk
-
 obj-y += domain_page.o
 obj-y += entry.o
 obj-y += mm.o
@@ -7,5 +5,3 @@ obj-y += traps.o
 obj-y += traps.o
 
 obj-$(supervisor_mode_kernel) += supervisor_mode_kernel.o
-
-include $(BASEDIR)/Post.mk
diff -r b54bba73936d -r 4d16755748eb xen/arch/x86/x86_64/Makefile
--- a/xen/arch/x86/x86_64/Makefile      Fri May 12 15:49:11 2006 +0100
+++ b/xen/arch/x86/x86_64/Makefile      Fri May 12 22:35:05 2006 +0100
@@ -1,7 +1,3 @@ include $(BASEDIR)/Rules.mk
-include $(BASEDIR)/Rules.mk
-
 obj-y += entry.o
 obj-y += mm.o
 obj-y += traps.o
-
-include $(BASEDIR)/Post.mk
diff -r b54bba73936d -r 4d16755748eb xen/common/Makefile
--- a/xen/common/Makefile       Fri May 12 15:49:11 2006 +0100
+++ b/xen/common/Makefile       Fri May 12 22:35:05 2006 +0100
@@ -1,5 +1,3 @@ include $(BASEDIR)/Rules.mk
-include $(BASEDIR)/Rules.mk
-
 obj-y += acm_ops.o
 obj-y += bitmap.o
 obj-y += dom0_ops.o
@@ -28,7 +26,5 @@ obj-$(perfc)       += perfc.o
 obj-$(perfc)       += perfc.o
 obj-$(crash_debug) += gdbstub.o
 
-include $(BASEDIR)/Post.mk
-
 # Object file contains changeset and compiler information.
 kernel.o: $(BASEDIR)/include/xen/compile.h
diff -r b54bba73936d -r 4d16755748eb xen/drivers/Makefile
--- a/xen/drivers/Makefile      Fri May 12 15:49:11 2006 +0100
+++ b/xen/drivers/Makefile      Fri May 12 22:35:05 2006 +0100
@@ -1,6 +1,2 @@ include $(BASEDIR)/Rules.mk
-include $(BASEDIR)/Rules.mk
-
 subdir-y += char
 subdir-$(HAS_ACPI) += acpi
-
-include $(BASEDIR)/Post.mk
diff -r b54bba73936d -r 4d16755748eb xen/drivers/acpi/Makefile
--- a/xen/drivers/acpi/Makefile Fri May 12 15:49:11 2006 +0100
+++ b/xen/drivers/acpi/Makefile Fri May 12 22:35:05 2006 +0100
@@ -1,5 +1,1 @@ include $(BASEDIR)/Rules.mk
-include $(BASEDIR)/Rules.mk
-
 obj-y += tables.o
-
-include $(BASEDIR)/Post.mk
diff -r b54bba73936d -r 4d16755748eb xen/drivers/char/Makefile
--- a/xen/drivers/char/Makefile Fri May 12 15:49:11 2006 +0100
+++ b/xen/drivers/char/Makefile Fri May 12 22:35:05 2006 +0100
@@ -1,10 +1,6 @@ include $(BASEDIR)/Rules.mk
-include $(BASEDIR)/Rules.mk
-
 obj-y += console.o
 obj-y += ns16550.o
 obj-y += serial.o
 
-include $(BASEDIR)/Post.mk
-
 # Object file contains changeset and compiler information.
 console.o: $(BASEDIR)/include/xen/compile.h
diff -r b54bba73936d -r 4d16755748eb xen/tools/Makefile
--- a/xen/tools/Makefile        Fri May 12 15:49:11 2006 +0100
+++ b/xen/tools/Makefile        Fri May 12 22:35:05 2006 +0100
@@ -1,10 +1,12 @@
 
 include $(BASEDIR)/../Config.mk
 
+.PHONY: default
 default:
        $(MAKE) -C figlet
        $(MAKE) symbols
 
+.PHONY: clean
 clean:
        $(MAKE) -C figlet clean
        rm -f *.o symbols
diff -r b54bba73936d -r 4d16755748eb xen/tools/figlet/Makefile
--- a/xen/tools/figlet/Makefile Fri May 12 15:49:11 2006 +0100
+++ b/xen/tools/figlet/Makefile Fri May 12 22:35:05 2006 +0100
@@ -4,5 +4,6 @@ figlet: figlet.c
 figlet: figlet.c
        $(HOSTCC) -o $@ $<
 
+.PHONY: clean
 clean:
        rm -f *.o figlet
diff -r b54bba73936d -r 4d16755748eb xen/Post.mk
--- a/xen/Post.mk       Fri May 12 15:49:11 2006 +0100
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-# Ensure each subdirectory has exactly one trailing slash.
-subdir-n := $(patsubst %,%/,$(patsubst %/,%,$(subdir-n)))
-subdir-y := $(patsubst %,%/,$(patsubst %/,%,$(subdir-y)))
-
-# Add explicitly declared subdirectories to the object list.
-obj-y += $(patsubst %,%/built_in.o,$(subdir-y))
-
-# Add implicitly declared subdirectories (in the object list) to the
-# subdirectory list, and rewrite the object-list entry.
-subdir-y += $(filter %/,$(obj-y))
-obj-y    := $(patsubst %/,%/built-in.o,$(obj-y))
-
-subdir-all := $(subdir-y) $(subdir-n)
-
-built_in.o: $(obj-y)
-       $(LD) $(LDFLAGS) -r -o $@ $^
-
-.PHONY: FORCE
-FORCE:
-
-%/built_in.o: FORCE
-       $(MAKE) -C $*
-
-clean:: $(addprefix _clean_, $(subdir-all)) FORCE
-       rm -f *.o *~ core
-_clean_%/: FORCE
-       $(MAKE) -C $* clean

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.