ia64/xen-unstable

changeset 9660:b454a09cddb1

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@verge.net.au>
author kaf24@firebug.cl.cam.ac.uk
date Mon Apr 10 17:02:49 2006 +0100 (2006-04-10)
parents 5f1c6864a7ac c668b024b2c7
children 4088dd0856a9
files Makefile buildconfigs/Rules.mk buildconfigs/mk.linux-2.6-xen docs/Makefile extras/mini-os/Makefile tools/Makefile tools/Rules.mk tools/blktap/Makefile tools/blktap/parallax/Makefile tools/blktap/ublkback/Makefile tools/check/Makefile tools/console/Makefile tools/console/testsuite/Makefile tools/debugger/libxendebug/Makefile tools/debugger/pdb/Makefile tools/debugger/pdb/linux-2.6-module/Makefile tools/debugger/pdb/linux-2.6-patches/Makefile tools/examples/Makefile tools/firmware/Makefile tools/firmware/acpi/Makefile tools/firmware/hvmloader/Makefile tools/firmware/rombios/Makefile tools/firmware/vgabios/Makefile tools/firmware/vmxassist/Makefile tools/guest-headers/Makefile tools/ioemu/Makefile tools/ioemu/target-i386-dm/Makefile tools/libxc/Makefile tools/misc/Makefile tools/misc/cpuperf/Makefile tools/misc/lomount/Makefile tools/misc/mbootpack/Makefile tools/misc/miniterm/Makefile tools/misc/nsplitd/Makefile tools/pygrub/Makefile tools/python/Makefile tools/security/Makefile tools/sv/Makefile tools/tests/Makefile tools/vnet/Makefile tools/vnet/doc/Makefile tools/vnet/examples/Makefile tools/vnet/libxutil/Makefile tools/vnet/scripts/Makefile tools/vnet/vnetd/Makefile tools/vtpm/Makefile tools/vtpm_manager/Makefile tools/vtpm_manager/crypto/Makefile tools/vtpm_manager/manager/Makefile tools/vtpm_manager/tcs/Makefile tools/vtpm_manager/util/Makefile tools/xcutils/Makefile tools/xenmon/Makefile tools/xenstat/libxenstat/Makefile tools/xenstat/xentop/Makefile tools/xenstore/Makefile tools/xentrace/Makefile xen/Makefile xen/Rules.mk xen/arch/ia64/Makefile xen/arch/ia64/tools/privop/Makefile xen/arch/x86/Makefile xen/tools/Makefile xen/tools/figlet/Makefile
line diff
     1.1 --- a/Makefile	Mon Apr 10 16:36:38 2006 +0100
     1.2 +++ b/Makefile	Mon Apr 10 17:02:49 2006 +0100
     1.3 @@ -14,6 +14,7 @@ export XEN_TARGET_ARCH SUBARCH XEN_SYSTY
     1.4  endif
     1.5  
     1.6  # Default target must appear before any include lines
     1.7 +.PHONY: all
     1.8  all: dist
     1.9  
    1.10  XEN_ROOT=$(CURDIR)
    1.11 @@ -24,12 +25,11 @@ ifeq ($(XEN_TARGET_X86_PAE),y)
    1.12  export pae=y
    1.13  endif
    1.14  
    1.15 -.PHONY:	all dist install xen kernels tools dev-docs docs world clean
    1.16 -.PHONY:	mkpatches mrproper kbuild kdelete kclean
    1.17 -
    1.18  # build and install everything into the standard system directories
    1.19 +.PHONY: install
    1.20  install: install-xen install-kernels install-tools install-docs
    1.21  
    1.22 +.PHONY: build
    1.23  build: kernels
    1.24  	$(MAKE) -C xen build
    1.25  	$(MAKE) -C tools build
    1.26 @@ -38,10 +38,12 @@ build: kernels
    1.27  # The test target is for unit tests that can run without an installation.  Of
    1.28  # course, many tests require a machine running Xen itself, and these are
    1.29  # handled elsewhere.
    1.30 +.PHONY: test
    1.31  test:
    1.32  	$(MAKE) -C tools/python test
    1.33  
    1.34  # build and install everything into local dist directory
    1.35 +.PHONY: dist
    1.36  dist: DESTDIR=$(DISTDIR)/install
    1.37  dist: dist-xen dist-kernels dist-tools dist-docs
    1.38  	$(INSTALL_DIR) $(DISTDIR)/check
    1.39 @@ -54,67 +56,83 @@ dist-%: install-%
    1.40  	@: # do nothing
    1.41  
    1.42  # Legacy dist targets
    1.43 +.PHONY: xen tools kernels docs
    1.44  xen: dist-xen
    1.45  tools: dist-tools
    1.46  kernels: dist-kernels
    1.47  docs: dist-docs
    1.48  
    1.49 +.PHONY: prep-kernels
    1.50  prep-kernels:
    1.51  	for i in $(XKERNELS) ; do $(MAKE) $$i-prep || exit 1; done
    1.52  
    1.53 +.PHONY: install-xen
    1.54  install-xen:
    1.55  	$(MAKE) -C xen install
    1.56  
    1.57 +.PHONY: install-tools
    1.58  install-tools:
    1.59  	$(MAKE) -C tools install
    1.60  
    1.61 +.PHONY: install-kernels
    1.62  install-kernels:
    1.63  	for i in $(XKERNELS) ; do $(MAKE) $$i-install || exit 1; done
    1.64  
    1.65 +.PHONY: install-docs
    1.66  install-docs:
    1.67  	sh ./docs/check_pkgs && $(MAKE) -C docs install || true
    1.68  
    1.69 +.PHONY: dev-docs
    1.70  dev-docs:
    1.71  	$(MAKE) -C docs dev-docs
    1.72  
    1.73  # Build all the various kernels and modules
    1.74 +.PHONY: kbuild
    1.75  kbuild: kernels
    1.76  
    1.77  # Delete the kernel build trees entirely
    1.78 +.PHONY: kdelete
    1.79  kdelete:
    1.80  	for i in $(XKERNELS) ; do $(MAKE) $$i-delete ; done
    1.81  
    1.82  # Clean the kernel build trees
    1.83 +.PHONY: kclean
    1.84  kclean:
    1.85  	for i in $(XKERNELS) ; do $(MAKE) $$i-clean ; done
    1.86  
    1.87  # Make patches from kernel sparse trees
    1.88 +.PHONY: mkpatches
    1.89  mkpatches:
    1.90  	for i in $(ALLSPARSETREES) ; do $(MAKE) $$i-xen.patch; done
    1.91  
    1.92  # build xen, the tools, and a domain 0 plus unprivileged linux-xen images,
    1.93  # and place them in the install directory. 'make install' should then
    1.94  # copy them to the normal system directories
    1.95 +.PHONY: world
    1.96  world: 
    1.97  	$(MAKE) clean
    1.98  	$(MAKE) kdelete
    1.99  	$(MAKE) dist
   1.100  
   1.101  # clean doesn't do a kclean
   1.102 +.PHONY: clean
   1.103  clean:: 
   1.104  	$(MAKE) -C xen clean
   1.105  	$(MAKE) -C tools clean
   1.106  	$(MAKE) -C docs clean
   1.107  
   1.108  # clean, but blow away kernel build tree plus tarballs
   1.109 +.PHONY: distclean
   1.110  distclean: clean
   1.111  	rm -rf dist patches/tmp
   1.112  	for i in $(ALLKERNELS) ; do $(MAKE) $$i-delete ; done
   1.113  	for i in $(ALLSPARSETREES) ; do $(MAKE) $$i-mrproper ; done
   1.114  
   1.115  # Linux name for GNU distclean
   1.116 +.PHONY: mrproper
   1.117  mrproper: distclean
   1.118  
   1.119 +.PHONY: help
   1.120  help:
   1.121  	@echo 'Installation targets:'
   1.122  	@echo '  install          - build and install everything'
   1.123 @@ -156,6 +174,7 @@ help:
   1.124  	@echo '                     true if set to non-empty value, false otherwise'
   1.125  
   1.126  # Use this target with extreme care!
   1.127 +.PHONY: uninstall
   1.128  uninstall: D=$(DESTDIR)
   1.129  uninstall:
   1.130  	[ -d $(D)/etc/xen ] && mv -f $(D)/etc/xen $(D)/etc/xen.old-`date +%s` || true
   1.131 @@ -189,5 +208,6 @@ uninstall:
   1.132  	rm -rf $(D)/usr/share/man/man8/xen*
   1.133  
   1.134  # Legacy targets for compatibility
   1.135 +.PHONY: linux26
   1.136  linux26:
   1.137  	$(MAKE) 'KERNELS=linux-2.6*' kernels
     2.1 --- a/README	Mon Apr 10 16:36:38 2006 +0100
     2.2 +++ b/README	Mon Apr 10 17:02:49 2006 +0100
     2.3 @@ -1,158 +1,176 @@
     2.4 -################################
     2.5 - __  __            _____  ___  
     2.6 - \ \/ /___ _ __   |___ / / _ \ 
     2.7 -  \  // _ \ '_ \    |_ \| | | |
     2.8 -  /  \  __/ | | |  ___) | |_| |
     2.9 - /_/\_\___|_| |_| |____(_)___/ 
    2.10 -
    2.11 -################################
    2.12 -
    2.13 -http://www.xensource.com/xen/about.html
    2.14 -
    2.15 -What is Xen?
    2.16 -============
    2.17 -
    2.18 -Xen is a Virtual Machine Monitor (VMM) originally developed by the
    2.19 -Systems Research Group of the University of Cambridge Computer
    2.20 -Laboratory, as part of the UK-EPSRC funded XenoServers project.  Xen
    2.21 -is freely-distributable Open Source software, released under the GNU
    2.22 -GPL. Since its initial public release, Xen has grown a large
    2.23 -development community, spearheaded by XenSource Inc, a company created
    2.24 -by the original Xen development team to build enterprise products
    2.25 -around Xen.
    2.26 -
    2.27 -The 3.0 release offers excellent performance, hardware support and
    2.28 -enterprise-grade features such as x86_32-PAE, x86_64, SMP guests and
    2.29 -live relocation of VMs. This install tree contains source for a Linux
    2.30 -2.6 guest; ports to Linux 2.4, NetBSD, FreeBSD and Solaris will follow
    2.31 -later (and are already available for previous Xen releases).
    2.32 -
    2.33 -This file contains some quick-start instructions to install Xen on
    2.34 -your system. For full documentation, see the Xen User Manual. If this
    2.35 -is a pre-built release then you can find the manual at:
    2.36 - dist/install/usr/share/doc/xen/pdf/user.pdf
    2.37 -If you have a source release, then 'make -C docs' will build the
    2.38 -manual at docs/pdf/user.pdf.
    2.39 -
    2.40 -Quick-Start Guide - Pre-Built Binary Release
    2.41 -============================================
    2.42 -
    2.43 -[NB. Unless noted otherwise, all the following steps should be
    2.44 -performed with root privileges.]
    2.45 -
    2.46 -1. Install the binary distribution onto your filesystem:
    2.47 -
    2.48 -    # sh ./install.sh
    2.49 -
    2.50 -   Among other things, this will install Xen and Xen-ready Linux
    2.51 -   kernel files in /boot, kernel modules and Python packages in /lib,
    2.52 -   and various control tools in standard 'bin' directories.
    2.53 -
    2.54 -2. Configure your bootloader to boot Xen and an initial Linux virtual
    2.55 -   machine. Note that Xen currently only works with GRUB and pxelinux
    2.56 -   derived boot loaders: less common alternatives such as LILO are
    2.57 -   *not* supported. You can most likely find your GRUB menu file at
    2.58 -   /boot/grub/menu.lst: edit this file to include an entry like the
    2.59 -   following:
    2.60 -
    2.61 -    title Xen 3.0 / XenLinux 2.6
    2.62 -       kernel /boot/xen-3.0.gz console=vga
    2.63 -       module /boot/vmlinuz-2.6-xen root=<root-dev> ro console=tty0
    2.64 -       module /boot/initrd-2.6-xen.img
    2.65 -
    2.66 -   NB: Not all kernel configs need an initial ram disk (initrd), but
    2.67 -   if you do specify one you'll need to use the 'module' grub directive
    2.68 -   rather than 'initrd'.
    2.69 -
    2.70 -   The linux command line takes all the usual options, such as
    2.71 -   root=<root-dev> to specify your usual root partition (e.g.,
    2.72 -   /dev/hda1).  
    2.73 -
    2.74 -   The Xen command line takes a number of optional arguments described
    2.75 -   in the manual. The most common is 'dom0_mem=xxxM' which sets the
    2.76 -   amount of memory to allocate for use by your initial virtual
    2.77 -   machine (known as domain 0). Note that Xen itself reserves about
    2.78 -   32MB memory for internal use, which is not available for allocation
    2.79 -   to virtual machines.  
    2.80 -
    2.81 -3. Reboot your system and select the "Xen 3.0 / XenLinux 2.6" menu
    2.82 -   option. After booting Xen, Linux will start and your initialisation
    2.83 -   scripts should execute in the usual way.
    2.84 -
    2.85 -Quick-Start Guide - Source Release
    2.86 -==================================
    2.87 -
    2.88 -First, there are a number of prerequisites for building a Xen source
    2.89 -release. Make sure you have all the following installed, either by
    2.90 -visiting the project webpage or installing a pre-built package
    2.91 -provided by your Linux distributor:
    2.92 -    * GCC (preferably v3.2.x or v3.3.x; older versions are unsupported) 
    2.93 -    * GNU Make
    2.94 -    * GNU Binutils
    2.95 -    * Development install of zlib (e.g., zlib-dev)
    2.96 -    * Development install of Python v2.3 or later (e.g., python-dev)
    2.97 -    * bridge-utils package (/sbin/brctl)
    2.98 -    * iproute package (/sbin/ip)
    2.99 -    * hotplug or udev
   2.100 -
   2.101 -[NB. Unless noted otherwise, all the following steps should be
   2.102 -performed with root privileges.]
   2.103 -
   2.104 -1. Download and untar the source tarball file. This will be a
   2.105 -   file named xen-unstable-src.tgz, or xen-$version-src.tgz.
   2.106 -   You can also pull the current version from the SCMS
   2.107 -   that is being used (Bitkeeper, scheduled to change shortly).
   2.108 -
   2.109 -    # tar xzf xen-unstable-src.tgz
   2.110 -
   2.111 -   Assuming you are using the unstable tree, this will
   2.112 -   untar into xen-unstable. The rest of the instructions
   2.113 -   use the unstable tree as an example, substitute the
   2.114 -   version for unstable.
   2.115 -
   2.116 -2. cd to xen-unstable (or whatever you sensibly rename it to).
   2.117 -   The Linux, netbsd and freebsd kernel source trees are in
   2.118 -   the $os-$version-xen-sparse directories.
   2.119 -
   2.120 -On Linux:
   2.121 -
   2.122 -3. For the very first build, or if you want to destroy existing
   2.123 -   .configs and build trees, perform the following steps:
   2.124 -
   2.125 -    # make KERNELS=linux-2.6-xen world
   2.126 -    # make install
   2.127 -
   2.128 -   It will create and install into the dist/ directory which is the
   2.129 -   default install location. It will build the xen binary (xen.gz),
   2.130 -   and a linux kernel and modules that can be used in both dom0 and an
   2.131 -   unprivileged guest kernel (vmlinuz-2.6.x-xen), the tools and the
   2.132 -   documentation.
   2.133 -
   2.134 -   If you don't specify KERNELS= on the make command line it will
   2.135 -   default to building two kernels, vmlinuz-2.6.x-xen0 and
   2.136 -   vmlinuz-2.6.x-xenU. These are smaller builds with just selected
   2.137 -   modules, intended primarilly for developers that don't like to wait
   2.138 -   for a -xen kernel to build. The -xenU kernel is particularly small
   2.139 -   as it does not contain any physical device drivers, and hence is
   2.140 -   only useful for guest domains.
   2.141 -
   2.142 -   If you want to build an x86_32 PAE capable xen and kernel to work
   2.143 -   on machines with >= 4GB of memory, use XEN_TARGET_X86_PAE=y on the
   2.144 -   make command line.
   2.145 -
   2.146 -4. To rebuild an existing tree without modifying the config:
   2.147 -    # make dist
   2.148 -
   2.149 -   This will build and install xen, kernels, tools, and
   2.150 -   docs into the local dist/ directory.
   2.151 -
   2.152 -5. To rebuild a kernel with a modified config:
   2.153 -
   2.154 -    # make linux-2.6-xen-config CONFIGMODE=menuconfig     (or xconfig)
   2.155 -    # make linux-2.6-xen-build
   2.156 -    # make linux-2.6-xen-install
   2.157 -
   2.158 -   Depending on your config, you may need to use 'mkinitrd' to create
   2.159 -   an initial ram disk, just like a native system e.g. 
   2.160 -    # depmod 2.6.12.6-xen
   2.161 -    # mkinitrd -v -f --with=aacraid --with=sd_mod --with=scsi_mod initrd-2.6.12.6-xen.img 2.6.12.6-xen
   2.162 +################################
   2.163 + __  __            _____  ___  
   2.164 + \ \/ /___ _ __   |___ / / _ \ 
   2.165 +  \  // _ \ '_ \    |_ \| | | |
   2.166 +  /  \  __/ | | |  ___) | |_| |
   2.167 + /_/\_\___|_| |_| |____(_)___/ 
   2.168 +
   2.169 +################################
   2.170 +
   2.171 +http://www.xensource.com/xen/about.html
   2.172 +
   2.173 +What is Xen?
   2.174 +============
   2.175 +
   2.176 +Xen is a Virtual Machine Monitor (VMM) originally developed by the
   2.177 +Systems Research Group of the University of Cambridge Computer
   2.178 +Laboratory, as part of the UK-EPSRC funded XenoServers project.  Xen
   2.179 +is freely-distributable Open Source software, released under the GNU
   2.180 +GPL. Since its initial public release, Xen has grown a large
   2.181 +development community, spearheaded by XenSource Inc, a company created
   2.182 +by the original Xen development team to build enterprise products
   2.183 +around Xen.
   2.184 +
   2.185 +The 3.0 release offers excellent performance, hardware support and
   2.186 +enterprise-grade features such as x86_32-PAE, x86_64, SMP guests and
   2.187 +live relocation of VMs. This install tree contains source for a Linux
   2.188 +2.6 guest; ports to Linux 2.4, NetBSD, FreeBSD and Solaris will follow
   2.189 +later (and are already available for previous Xen releases).
   2.190 +
   2.191 +This file contains some quick-start instructions to install Xen on
   2.192 +your system. For full documentation, see the Xen User Manual. If this
   2.193 +is a pre-built release then you can find the manual at:
   2.194 + dist/install/usr/share/doc/xen/pdf/user.pdf
   2.195 +If you have a source release, then 'make -C docs' will build the
   2.196 +manual at docs/pdf/user.pdf.
   2.197 +
   2.198 +Quick-Start Guide - Pre-Built Binary Release
   2.199 +============================================
   2.200 +
   2.201 +[NB. Unless noted otherwise, all the following steps should be
   2.202 +performed with root privileges.]
   2.203 +
   2.204 +1. Install the binary distribution onto your filesystem:
   2.205 +
   2.206 +    # sh ./install.sh
   2.207 +
   2.208 +   Among other things, this will install Xen and Xen-ready Linux
   2.209 +   kernel files in /boot, kernel modules and Python packages in /lib,
   2.210 +   and various control tools in standard 'bin' directories.
   2.211 +
   2.212 +2. Configure your bootloader to boot Xen and an initial Linux virtual
   2.213 +   machine. Note that Xen currently only works with GRUB and pxelinux
   2.214 +   derived boot loaders: less common alternatives such as LILO are
   2.215 +   *not* supported. You can most likely find your GRUB menu file at
   2.216 +   /boot/grub/menu.lst: edit this file to include an entry like the
   2.217 +   following:
   2.218 +
   2.219 +    title Xen 3.0 / XenLinux 2.6
   2.220 +       kernel /boot/xen-3.0.gz console=vga
   2.221 +       module /boot/vmlinuz-2.6-xen root=<root-dev> ro console=tty0
   2.222 +       module /boot/initrd-2.6-xen.img
   2.223 +
   2.224 +   NB: Not all kernel configs need an initial ram disk (initrd), but
   2.225 +   if you do specify one you'll need to use the 'module' grub directive
   2.226 +   rather than 'initrd'.
   2.227 +
   2.228 +   The linux command line takes all the usual options, such as
   2.229 +   root=<root-dev> to specify your usual root partition (e.g.,
   2.230 +   /dev/hda1).  
   2.231 +
   2.232 +   The Xen command line takes a number of optional arguments described
   2.233 +   in the manual. The most common is 'dom0_mem=xxxM' which sets the
   2.234 +   amount of memory to allocate for use by your initial virtual
   2.235 +   machine (known as domain 0). Note that Xen itself reserves about
   2.236 +   32MB memory for internal use, which is not available for allocation
   2.237 +   to virtual machines.  
   2.238 +
   2.239 +3. Reboot your system and select the "Xen 3.0 / XenLinux 2.6" menu
   2.240 +   option. After booting Xen, Linux will start and your initialisation
   2.241 +   scripts should execute in the usual way.
   2.242 +
   2.243 +Quick-Start Guide - Source Release
   2.244 +==================================
   2.245 +
   2.246 +First, there are a number of prerequisites for building a Xen source
   2.247 +release. Make sure you have all the following installed, either by
   2.248 +visiting the project webpage or installing a pre-built package
   2.249 +provided by your Linux distributor:
   2.250 +    * GCC (preferably v3.2.x or v3.3.x; older versions are unsupported) 
   2.251 +    * GNU Make
   2.252 +    * GNU Binutils
   2.253 +    * Development install of zlib (e.g., zlib-dev)
   2.254 +    * Development install of Python v2.3 or later (e.g., python-dev)
   2.255 +    * bridge-utils package (/sbin/brctl)
   2.256 +    * iproute package (/sbin/ip)
   2.257 +    * hotplug or udev
   2.258 +
   2.259 +[NB. Unless noted otherwise, all the following steps should be
   2.260 +performed with root privileges.]
   2.261 +
   2.262 +1. Download and untar the source tarball file. This will be a
   2.263 +   file named xen-unstable-src.tgz, or xen-$version-src.tgz.
   2.264 +   You can also pull the current version from the SCMS
   2.265 +   that is being used (Bitkeeper, scheduled to change shortly).
   2.266 +
   2.267 +    # tar xzf xen-unstable-src.tgz
   2.268 +
   2.269 +   Assuming you are using the unstable tree, this will
   2.270 +   untar into xen-unstable. The rest of the instructions
   2.271 +   use the unstable tree as an example, substitute the
   2.272 +   version for unstable.
   2.273 +
   2.274 +2. cd to xen-unstable (or whatever you sensibly rename it to).
   2.275 +   The Linux, netbsd and freebsd kernel source trees are in
   2.276 +   the $os-$version-xen-sparse directories.
   2.277 +
   2.278 +On Linux:
   2.279 +
   2.280 +3. For the very first build, or if you want to destroy existing
   2.281 +   .configs and build trees, perform the following steps:
   2.282 +
   2.283 +    # make world
   2.284 +    # make install
   2.285 +
   2.286 +   This will create and install onto the local machine. It will build 
   2.287 +   the xen binary (xen.gz), and a linux kernel and modules that can be
   2.288 +   used in both dom0 and an unprivileged guest kernel (vmlinuz-2.6.x-xen),
   2.289 +   the tools and the documentation.
   2.290 +
   2.291 +   You can override the destination for make install by setting DESTDIR 
   2.292 +   to some value.
   2.293 +
   2.294 +   The make command line defaults to building the kernel vmlinuz-2.6.x-xen. 
   2.295 +   You can override this default by specifying KERNELS=kernelname. For 
   2.296 +   example, you can make two kernels - linux-2.6.16-xen0 
   2.297 +   and linux-2.6.16-xenU - which are smaller builds containing only selected 
   2.298 +   modules, intended primarilly for developers that don't like to wait 
   2.299 +   for a full -xen kernel to build. The -xenU kernel is particularly small,
   2.300 +   as it does not contain any physical device drivers, and hence is
   2.301 +   only useful for guest domains.
   2.302 +
   2.303 +   To make these two kernels, simply specify
   2.304 +
   2.305 +   KERNELS="linux-2.6.16-xen0 linux-2.6.16-xenU"
   2.306 +
   2.307 +   in the make command line.
   2.308 +
   2.309 +   If you want to build an x86_32 PAE capable xen and kernel to work
   2.310 +   on machines with >= 4GB of memory, use XEN_TARGET_X86_PAE=y on the
   2.311 +   make command line.
   2.312 +
   2.313 +4. To rebuild an existing tree without modifying the config:
   2.314 +    # make dist
   2.315 +
   2.316 +   This will build and install xen, kernels, tools, and
   2.317 +   docs into the local dist/ directory. 
   2.318 +
   2.319 +   You can override the destination for make install by setting DISTDIR 
   2.320 +   to some value.
   2.321 +
   2.322 +   make install and make dist differ in that make install does the 
   2.323 +   right things for your local machine (installing the appropriate 
   2.324 +   version of hotplug or udev scripts, for example), but make dist 
   2.325 +   includes all versions of those scripts, so that you can copy the dist 
   2.326 +   directory to another machine and install from that distribution.
   2.327 +
   2.328 +5. To rebuild a kernel with a modified config:
   2.329 +
   2.330 +    # make linux-2.6-xen-config CONFIGMODE=menuconfig     (or xconfig)
   2.331 +    # make linux-2.6-xen-build
   2.332 +    # make linux-2.6-xen-install
   2.333 +
   2.334 +   Depending on your config, you may need to use 'mkinitrd' to create
   2.335 +   an initial ram disk, just like a native system e.g. 
   2.336 +    # depmod 2.6.12.6-xen
   2.337 +    # mkinitrd -v -f --with=aacraid --with=sd_mod --with=scsi_mod initrd-2.6.12.6-xen.img 2.6.12.6-xen
     3.1 --- a/buildconfigs/Rules.mk	Mon Apr 10 16:36:38 2006 +0100
     3.2 +++ b/buildconfigs/Rules.mk	Mon Apr 10 17:02:49 2006 +0100
     3.3 @@ -6,8 +6,6 @@ export DESTDIR
     3.4  ALLKERNELS = $(patsubst buildconfigs/mk.%,%,$(wildcard buildconfigs/mk.*))
     3.5  ALLSPARSETREES = $(patsubst %-xen-sparse,%,$(wildcard *-xen-sparse))
     3.6  
     3.7 -.PHONY:	mkpatches mrproper
     3.8 -
     3.9  # Setup pristine search path
    3.10  PRISTINE_SRC_PATH	?= .:..
    3.11  vpath pristine-% $(PRISTINE_SRC_PATH)
    3.12 @@ -61,6 +59,7 @@ ifneq ($(PATCHDIRS),)
    3.13  $(patsubst patches/%,patches/%/.makedep,$(PATCHDIRS)): patches/%/.makedep: 
    3.14  	@echo 'ref-$*/.valid-ref: $$(wildcard patches/$*/*.patch)' >$@
    3.15  
    3.16 +.PHONY: clean
    3.17  clean::
    3.18  	rm -f patches/*/.makedep
    3.19  
    3.20 @@ -115,6 +114,7 @@ linux-2.6-xen.patch: ref-linux-$(LINUX_V
    3.21  	rm -rf pristine-$(*)* ref-$(*)* $*.tar.bz2
    3.22  	rm -rf $*-xen.patch
    3.23  
    3.24 +.PHONY: config-update-pae
    3.25  config-update-pae:
    3.26  ifeq ($(XEN_TARGET_X86_PAE),y)
    3.27  	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)
     4.1 --- a/buildconfigs/mk.linux-2.6-xen	Mon Apr 10 16:36:38 2006 +0100
     4.2 +++ b/buildconfigs/mk.linux-2.6-xen	Mon Apr 10 17:02:49 2006 +0100
     4.3 @@ -8,9 +8,8 @@ LINUX_DIR    = linux-$(LINUX_VER)-$(EXTR
     4.4  
     4.5  include buildconfigs/Rules.mk
     4.6  
     4.7 -.PHONY: build clean delete
     4.8 -
     4.9  # The real action starts here!
    4.10 +.PHONY: build
    4.11  build: $(LINUX_DIR)/include/linux/autoconf.h
    4.12  	if grep "^CONFIG_MODULES=" $(LINUX_DIR)/.config ; then \
    4.13  	    $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) modules ; \
    4.14 @@ -39,14 +38,18 @@ build: $(LINUX_DIR)/include/linux/autoco
    4.15  	  rm -f Makefile ; mv Mk.tmp Makefile )
    4.16  	$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) oldconfig
    4.17  
    4.18 +.PHONY: prep
    4.19  prep: $(LINUX_DIR)/include/linux/autoconf.h
    4.20  
    4.21 +.PHONY: config
    4.22  config: CONFIGMODE = menuconfig
    4.23  config: $(LINUX_DIR)/include/linux/autoconf.h
    4.24  	$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) $(CONFIGMODE)
    4.25  
    4.26 +.PHONY: clean
    4.27  clean::
    4.28  	$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) clean
    4.29  
    4.30 +.PHONY: delete
    4.31  delete: 
    4.32  	rm -rf tmp-linux-$(LINUX_VER) $(LINUX_DIR) 
     5.1 --- a/docs/Makefile	Mon Apr 10 16:36:38 2006 +0100
     5.2 +++ b/docs/Makefile	Mon Apr 10 17:02:49 2006 +0100
     5.3 @@ -26,22 +26,28 @@ DOC_HTML	:= $(patsubst src/%.tex,html/%/
     5.4  
     5.5  GFX = $(patsubst %.fig, %.eps, $(wildcard figs/*.fig))
     5.6  
     5.7 -.PHONY:	all build dev-docs python-dev-docs ps pdf html clean install
     5.8 +.PHONY: all
     5.9 +all: build
    5.10  
    5.11 -all: build
    5.12 +.PHONY: build
    5.13  build: ps pdf html man-pages
    5.14  	rm -f *.aux *.dvi *.bbl *.blg *.glo *.idx *.ilg *.log *.ind *.toc
    5.15  
    5.16 +.PHONY: dev-docs
    5.17  dev-docs: python-dev-docs
    5.18  
    5.19 +.PHONY: ps
    5.20  ps: $(DOC_PS)
    5.21  
    5.22 +.PHONY: pdf
    5.23  pdf: $(DOC_PDF)
    5.24  
    5.25 +.PHONY: html
    5.26  html:
    5.27  	@if which $(LATEX2HTML) 1>/dev/null 2>/dev/null; then \
    5.28  	$(MAKE) $(DOC_HTML); fi
    5.29  
    5.30 +.PHONY: python-dev-docs
    5.31  python-dev-docs:
    5.32  	@mkdir -v -p api/tools/python
    5.33  	@if which $(DOXYGEN) 1>/dev/null 2>/dev/null; then         \
    5.34 @@ -50,6 +56,7 @@ python-dev-docs:
    5.35  	$(MAKE) -C api/tools/python/latex ; else                   \
    5.36          echo "Doxygen not installed; skipping python-dev-docs."; fi
    5.37  
    5.38 +.PHONY: man-pages
    5.39  man-pages:
    5.40  	@if which $(POD2MAN) 1>/dev/null 2>/dev/null; then \
    5.41  	$(MAKE) $(DOC_MAN1) $(DOC_MAN5); fi
    5.42 @@ -64,6 +71,7 @@ man5/%.5: man/%.pod.5 Makefile
    5.43  	$(POD2MAN) --release=$(VERSION) --name=`echo $@ | sed 's/^man5.//'| \
    5.44  		sed 's/.5//'` -s 5 -c "Xen" $< $@
    5.45  
    5.46 +.PHONY: clean
    5.47  clean:
    5.48  	rm -rf .word_count *.aux *.dvi *.bbl *.blg *.glo *.idx *~ 
    5.49  	rm -rf *.ilg *.log *.ind *.toc *.bak core
    5.50 @@ -72,6 +80,7 @@ clean:
    5.51  	rm -rf man5
    5.52  	rm -rf man1
    5.53  
    5.54 +.PHONY: install
    5.55  install: all
    5.56  	rm -rf $(DESTDIR)$(pkgdocdir)
    5.57  	$(INSTALL_DIR) $(DESTDIR)$(pkgdocdir)
     6.1 --- a/extras/mini-os/Makefile	Mon Apr 10 16:36:38 2006 +0100
     6.2 +++ b/extras/mini-os/Makefile	Mon Apr 10 17:02:49 2006 +0100
     6.3 @@ -37,8 +37,10 @@ OBJS += $(patsubst %.c,%.o,$(wildcard co
     6.4  HDRS := $(wildcard include/*.h)
     6.5  HDRS += $(wildcard include/xen/*.h)
     6.6  
     6.7 +.PHONY: default
     6.8  default: $(TARGET)
     6.9  
    6.10 +.PHONY: links
    6.11  links:
    6.12  	[ -e include/xen ] || ln -sf ../../../xen/include/public include/xen
    6.13  
    6.14 @@ -46,6 +48,7 @@ links:
    6.15  	$(LD) -N -T minios-$(TARGET_ARCH).lds $(OBJS) -o $@.elf
    6.16  	gzip -f -9 -c $@.elf >$@.gz
    6.17  
    6.18 +.PHONY: clean
    6.19  clean:
    6.20  	find . -type f -name '*.o' | xargs rm -f
    6.21  	rm -f *.o *~ core $(TARGET).elf $(TARGET).raw $(TARGET) $(TARGET).gz
     7.1 --- a/tools/Makefile	Mon Apr 10 16:36:38 2006 +0100
     7.2 +++ b/tools/Makefile	Mon Apr 10 17:02:49 2006 +0100
     7.3 @@ -24,14 +24,14 @@ SUBDIRS += python
     7.4  SUBDIRS += pygrub
     7.5  endif
     7.6  
     7.7 -.PHONY: all install clean check check_clean ioemu eioemuinstall ioemuclean
     7.8 -
     7.9 +.PHONY: all
    7.10  all: check
    7.11  	@set -e; for subdir in $(SUBDIRS); do \
    7.12  		$(MAKE) -C $$subdir $@; \
    7.13  	done
    7.14  	$(MAKE) ioemu
    7.15  
    7.16 +.PHONY: install
    7.17  install: check
    7.18  	@set -e; for subdir in $(SUBDIRS); do \
    7.19  		$(MAKE) -C $$subdir $@; \
    7.20 @@ -39,18 +39,22 @@ install: check
    7.21  	$(MAKE) ioemuinstall
    7.22  	$(INSTALL_DIR) -p $(DESTDIR)/var/xen/dump
    7.23  
    7.24 +.PHONY: clean
    7.25  clean: check_clean
    7.26  	@set -e; for subdir in $(SUBDIRS); do \
    7.27  		$(MAKE) -C $$subdir $@; \
    7.28  	done
    7.29  	$(MAKE) ioemuclean
    7.30  
    7.31 +.PHONY: check
    7.32  check:
    7.33  	$(MAKE) -C check
    7.34  
    7.35 +.PHONY: check_clean
    7.36  check_clean:
    7.37  	$(MAKE) -C check clean
    7.38  
    7.39 +.PHONY: ioemu ioemuinstall ioemuclean
    7.40  ifndef XEN_NO_IOEMU
    7.41  ioemu ioemuinstall ioemuclean:
    7.42  	[ -f ioemu/config-host.h ] || \
     8.1 --- a/tools/Rules.mk	Mon Apr 10 16:36:38 2006 +0100
     8.2 +++ b/tools/Rules.mk	Mon Apr 10 17:02:49 2006 +0100
     8.3 @@ -23,6 +23,7 @@ CFLAGS += -D__XEN_INTERFACE_VERSION__=0x
     8.4  %.o: %.cc
     8.5  	$(CC) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<
     8.6  
     8.7 +.PHONY: mk-symlinks
     8.8  mk-symlinks: LINUX_ROOT=$(XEN_ROOT)/linux-2.6-xen-sparse
     8.9  mk-symlinks:
    8.10  	mkdir -p xen
     9.1 --- a/tools/blktap/Makefile	Mon Apr 10 16:36:38 2006 +0100
     9.2 +++ b/tools/blktap/Makefile	Mon Apr 10 17:02:49 2006 +0100
     9.3 @@ -39,11 +39,13 @@ IBINS   :=
     9.4  
     9.5  LIB      = libblktap.so libblktap.so.$(MAJOR) libblktap.so.$(MAJOR).$(MINOR)
     9.6  
     9.7 +.PHONY: all
     9.8  all: mk-symlinks libblktap.so #blkdump
     9.9  	@set -e; for subdir in $(SUBDIRS); do \
    9.10  		$(MAKE) -C $$subdir $@;       \
    9.11  	done
    9.12  
    9.13 +.PHONY: install
    9.14  install: all
    9.15  	$(INSTALL_DIR) -p $(DESTDIR)/usr/$(LIBDIR)
    9.16  	$(INSTALL_DIR) -p $(DESTDIR)/usr/include
    9.17 @@ -54,12 +56,14 @@ install: all
    9.18  		$(MAKE) -C $$subdir $@;       \
    9.19  	done
    9.20  
    9.21 +.PHONY: clean
    9.22  clean:
    9.23  	rm -rf *.a *.so *.o *.rpm $(LIB) *~ $(DEPS) xen TAGS blkdump
    9.24  	@set -e; for subdir in $(SUBDIRS); do \
    9.25  		$(MAKE) -C $$subdir $@;       \
    9.26  	done
    9.27  
    9.28 +.PHONY: rpm
    9.29  rpm: all
    9.30  	rm -rf staging
    9.31  	mkdir staging
    9.32 @@ -82,6 +86,7 @@ blkdump: libblktap.so
    9.33  
    9.34  .PHONY: TAGS clean install mk-symlinks rpm
    9.35  
    9.36 +.PHONY: TAGS
    9.37  TAGS:
    9.38  	etags -t $(SRCS) *.h
    9.39  
    10.1 --- a/tools/blktap/parallax/Makefile	Mon Apr 10 16:36:38 2006 +0100
    10.2 +++ b/tools/blktap/parallax/Makefile	Mon Apr 10 17:02:49 2006 +0100
    10.3 @@ -43,11 +43,14 @@ DEPS     = .*.d
    10.4  OBJS     = $(patsubst %.c,%.o,$(SRCS))
    10.5  IBINS    = parallax $(VDI_TOOLS)
    10.6  
    10.7 +.PHONY: all
    10.8  all: $(VDI_TOOLS) parallax blockstored
    10.9  
   10.10 +.PHONY: install
   10.11  install: all
   10.12  	$(INSTALL_PROG) $(IBINS) $(DESTDIR)$(PARALLAX_INSTALL_DIR)
   10.13  
   10.14 +.PHONY: clean
   10.15  clean:
   10.16  	rm -rf *.o *~ $(DEPS) xen TAGS $(VDI_TOOLS) parallax vdi_unittest
   10.17  
   10.18 @@ -57,5 +60,4 @@ parallax: $(PLX_SRCS)
   10.19  ${VDI_TOOLS}: %: %.c $(VDI_SRCS)
   10.20  	$(CC) $(CFLAGS) -o $@ $@.c $(LDFLAGS) $(VDI_SRCS)
   10.21  
   10.22 -.PHONY: TAGS clean install rpm
   10.23  -include $(DEPS)
    11.1 --- a/tools/blktap/ublkback/Makefile	Mon Apr 10 16:36:38 2006 +0100
    11.2 +++ b/tools/blktap/ublkback/Makefile	Mon Apr 10 17:02:49 2006 +0100
    11.3 @@ -21,12 +21,16 @@ DEPS     = .*.d
    11.4  
    11.5  OBJS     = $(patsubst %.c,%.o,$(SRCS))
    11.6  
    11.7 +.PHONY: all
    11.8  all: $(IBIN)
    11.9  
   11.10  LINUX_ROOT := $(wildcard $(XEN_ROOT)/linux-2.6.*-xen-sparse)
   11.11  
   11.12 +.PHONY: install
   11.13  install:
   11.14  	$(INSTALL_PROG) $(IBIN) $(DESTDIR)$(INSTALL_DIR)
   11.15 +
   11.16 +.PHONY: clean
   11.17  clean:
   11.18  	rm -rf *.o*~ $(DEPS) xen TAGS $(IBIN)
   11.19  
   11.20 @@ -34,6 +38,4 @@ ublkback:
   11.21  	$(CC) $(CFLAGS) -o ublkback -L$(XEN_LIBXC) -L. -L..  \
   11.22  	      -lblktap -laio ublkback.c ublkbacklib.c -pg
   11.23  
   11.24 -.PHONY: clean install
   11.25 -
   11.26  -include $(DEPS)
    12.1 --- a/tools/check/Makefile	Mon Apr 10 16:36:38 2006 +0100
    12.2 +++ b/tools/check/Makefile	Mon Apr 10 17:02:49 2006 +0100
    12.3 @@ -1,7 +1,9 @@
    12.4  
    12.5 +.PHONY: all
    12.6  all: build
    12.7  
    12.8  # Check this machine is OK for building on.
    12.9 +.PHONY: build
   12.10  build:
   12.11  	./chk build
   12.12  
   12.13 @@ -9,8 +11,10 @@ build:
   12.14  # DO NOT use this check from 'make install' in the parent
   12.15  # directory, as that target can be used to make an installable
   12.16  # copy rather than actually installing.
   12.17 +.PHONY: install
   12.18  install:
   12.19  	./chk install
   12.20  
   12.21 +.PHONY: clean
   12.22  clean:
   12.23 -	./chk clean
   12.24 \ No newline at end of file
   12.25 +	./chk clean
    13.1 --- a/tools/console/Makefile	Mon Apr 10 16:36:38 2006 +0100
    13.2 +++ b/tools/console/Makefile	Mon Apr 10 17:02:49 2006 +0100
    13.3 @@ -16,8 +16,10 @@ CFLAGS  += -I $(XEN_XENSTORE)
    13.4  
    13.5  BIN      = xenconsoled xenconsole
    13.6  
    13.7 +.PHONY: all
    13.8  all: $(BIN)
    13.9  
   13.10 +.PHONY: clean
   13.11  clean:
   13.12  	$(RM) *.a *.so *.o *.rpm $(BIN)
   13.13  	$(RM) client/*.o daemon/*.o
   13.14 @@ -30,6 +32,7 @@ xenconsole: $(patsubst %.c,%.o,$(wildcar
   13.15  	$(CC) $(CFLAGS) $^ -o $@ -L$(XEN_LIBXC) -L$(XEN_XENSTORE) \
   13.16  	      -lxenctrl -lxenstore
   13.17  
   13.18 +.PHONY: install
   13.19  install: $(BIN)
   13.20  	$(INSTALL_DIR) -p $(DESTDIR)/$(DAEMON_INSTALL_DIR)
   13.21  	$(INSTALL_PROG) xenconsoled $(DESTDIR)/$(DAEMON_INSTALL_DIR)
    14.1 --- a/tools/console/testsuite/Makefile	Mon Apr 10 16:36:38 2006 +0100
    14.2 +++ b/tools/console/testsuite/Makefile	Mon Apr 10 17:02:49 2006 +0100
    14.3 @@ -3,10 +3,12 @@ include $(XEN_ROOT)/tools/Rules.mk
    14.4  
    14.5  LDFLAGS=-static
    14.6  
    14.7 +.PHONY: all
    14.8  all: console-dom0 console-domU procpipe
    14.9  
   14.10  console-dom0: console-dom0.o
   14.11  console-domU: console-domU.o
   14.12  procpipe: procpipe.o
   14.13  
   14.14 +.PHONY: clean
   14.15  clean:; $(RM) *.o console-domU console-dom0 procpipe
    15.1 --- a/tools/debugger/libxendebug/Makefile	Mon Apr 10 16:36:38 2006 +0100
    15.2 +++ b/tools/debugger/libxendebug/Makefile	Mon Apr 10 17:02:49 2006 +0100
    15.3 @@ -26,10 +26,14 @@ PIC_OBJS := $(patsubst %.c,%.opic,$(SRCS
    15.4  LIB      := libxendebug.a libxendebug.so
    15.5  LIB      += libxendebug.so.$(MAJOR) libxendebug.so.$(MAJOR).$(MINOR)
    15.6  
    15.7 +.PHONY: all
    15.8  all: build
    15.9 +
   15.10 +.PHONY: build
   15.11  build:
   15.12  	$(MAKE) $(LIB)
   15.13  
   15.14 +.PHONY: install
   15.15  install: build
   15.16  	[ -d $(DESTDIR)/usr/$(LIBDIR) ] || $(INSTALL_DIR) $(DESTDIR)/usr/$(LIBDIR)
   15.17  	[ -d $(DESTDIR)/usr/include ] || $(INSTALL_DIR) $(DESTDIR)/usr/include
   15.18 @@ -39,14 +43,15 @@ install: build
   15.19  	ln -sf libxendebug.so.$(MAJOR) $(DESTDIR)/usr/$(LIBDIR)/libxendebug.so
   15.20  	$(INSTALL_DATA) xendebug.h $(DESTDIR)/usr/include
   15.21  
   15.22 -.PHONY: TAGS clean rpm install all
   15.23 -
   15.24 +.PHONY: TAGS
   15.25  TAGS:
   15.26  	etags -t $(SRCS) *.h
   15.27  
   15.28 +.PHONY: clean
   15.29  clean:
   15.30  	rm -rf *.a *.so* *.o *.opic *.rpm $(LIB) *~ $(DEPS) xen
   15.31  
   15.32 +.PHONY: rpm
   15.33  rpm: build
   15.34  	rm -rf staging
   15.35  	mkdir staging
    16.1 --- a/tools/debugger/pdb/Makefile	Mon Apr 10 16:36:38 2006 +0100
    16.2 +++ b/tools/debugger/pdb/Makefile	Mon Apr 10 17:02:49 2006 +0100
    16.3 @@ -33,6 +33,7 @@ LIBS       += unix str
    16.4  
    16.5  # bc = byte-code, dc = debug byte-code
    16.6  # patches = patch linux domU source code
    16.7 +.PHONY: all 
    16.8  all : dc
    16.9  
   16.10  SOURCES    += pdb_caml_xc.c 
   16.11 @@ -51,5 +52,6 @@ RESULT      = pdb
   16.12  include $(OCAMLMAKEFILE)
   16.13  
   16.14  PATCHDIR    = ./linux-2.6-patches
   16.15 +.PHONY: patches 
   16.16  patches :
   16.17  	make -C $(PATCHDIR) patches
    17.1 --- a/tools/debugger/pdb/linux-2.6-module/Makefile	Mon Apr 10 16:36:38 2006 +0100
    17.2 +++ b/tools/debugger/pdb/linux-2.6-module/Makefile	Mon Apr 10 17:02:49 2006 +0100
    17.3 @@ -10,10 +10,12 @@ CFLAGS += -g
    17.4  CFLAGS += -Wall
    17.5  CFLAGS += -Werror
    17.6  
    17.7 +.PHONY: module 
    17.8  module : 
    17.9  #	make KBUILD_VERBOSE=1 ARCH=xen -C $(KDIR) M=$(PWD) modules
   17.10  	make                  ARCH=xen -C $(KDIR) M=$(PWD) modules
   17.11  
   17.12 +.PHONY: clean 
   17.13  clean :
   17.14  	make -C $(KDIR) M=$(PWD) clean
   17.15  
    18.1 --- a/tools/debugger/pdb/linux-2.6-patches/Makefile	Mon Apr 10 16:36:38 2006 +0100
    18.2 +++ b/tools/debugger/pdb/linux-2.6-patches/Makefile	Mon Apr 10 17:02:49 2006 +0100
    18.3 @@ -3,6 +3,7 @@ LINUX_DIR  = linux-2.6.12-xenU
    18.4  KDIR       = $(XEN_ROOT)/$(LINUX_DIR)
    18.5  PATCH_DIR  = $(CURDIR)
    18.6  
    18.7 +.PHONY: patches 
    18.8  patches : patches-done
    18.9  
   18.10  patches-done :
    19.1 --- a/tools/examples/Makefile	Mon Apr 10 16:36:38 2006 +0100
    19.2 +++ b/tools/examples/Makefile	Mon Apr 10 17:02:49 2006 +0100
    19.3 @@ -50,11 +50,16 @@ HOTPLUGS=install-hotplug
    19.4  endif
    19.5  endif
    19.6  
    19.7 +.PHONY: all
    19.8  all:
    19.9 +
   19.10 +.PHONY: build
   19.11  build:
   19.12  
   19.13 +.PHONY: install
   19.14  install: all install-initd install-configs install-scripts $(HOTPLUGS)
   19.15  
   19.16 +.PHONY: install-initd
   19.17  install-initd:
   19.18  	[ -d $(DESTDIR)/etc/init.d ] || $(INSTALL_DIR) $(DESTDIR)/etc/init.d
   19.19  	[ -d $(DESTDIR)/etc/sysconfig ] || $(INSTALL_DIR) $(DESTDIR)/etc/sysconfig
   19.20 @@ -62,6 +67,7 @@ install-initd:
   19.21  	$(INSTALL_PROG) $(XENDOMAINS_INITD) $(DESTDIR)/etc/init.d
   19.22  	$(INSTALL_PROG) $(XENDOMAINS_SYSCONFIG) $(DESTDIR)/etc/sysconfig/xendomains
   19.23  
   19.24 +.PHONY: install-configs
   19.25  install-configs: $(XEN_CONFIGS)
   19.26  	[ -d $(DESTDIR)$(XEN_CONFIG_DIR) ] || \
   19.27  		$(INSTALL_DIR) $(DESTDIR)$(XEN_CONFIG_DIR)
   19.28 @@ -72,6 +78,7 @@ install-configs: $(XEN_CONFIGS)
   19.29  	    $(INSTALL_DATA) $$i $(DESTDIR)$(XEN_CONFIG_DIR); \
   19.30  	done
   19.31  
   19.32 +.PHONY: install-scripts
   19.33  install-scripts:
   19.34  	[ -d $(DESTDIR)$(XEN_SCRIPT_DIR) ] || \
   19.35  		$(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR)
   19.36 @@ -84,6 +91,7 @@ install-scripts:
   19.37  	    $(INSTALL_DATA) $$i $(DESTDIR)$(XEN_SCRIPT_DIR); \
   19.38  	done
   19.39  
   19.40 +.PHONY: install-hotplug
   19.41  install-hotplug:
   19.42  	[ -d $(DESTDIR)$(XEN_HOTPLUG_DIR) ] || \
   19.43  		$(INSTALL_DIR) $(DESTDIR)$(XEN_HOTPLUG_DIR)
   19.44 @@ -92,6 +100,7 @@ install-hotplug:
   19.45  	    $(INSTALL_PROG) $$i $(DESTDIR)$(XEN_HOTPLUG_DIR); \
   19.46  	done
   19.47  
   19.48 +.PHONY: install-udev
   19.49  install-udev:
   19.50  	[ -d $(DESTDIR)$(UDEV_RULES_DIR) ] || \
   19.51  		$(INSTALL_DIR) $(DESTDIR)$(UDEV_RULES_DIR)/rules.d
   19.52 @@ -102,4 +111,5 @@ install-udev:
   19.53  	        ln -sf ../$$i . ) \
   19.54  	done
   19.55  
   19.56 +.PHONY: clean
   19.57  clean:
    20.1 --- a/tools/firmware/Makefile	Mon Apr 10 16:36:38 2006 +0100
    20.2 +++ b/tools/firmware/Makefile	Mon Apr 10 17:02:49 2006 +0100
    20.3 @@ -13,8 +13,7 @@ SUBDIRS += acpi
    20.4  SUBDIRS += vmxassist
    20.5  SUBDIRS += hvmloader
    20.6  
    20.7 -.PHONY: all install clean
    20.8 -
    20.9 +.PHONY: all
   20.10  all:
   20.11  	@set -e; if ! `which bcc 1>/dev/null 2>/dev/null`; then \
   20.12  	echo "***********************************************************"; \
   20.13 @@ -28,10 +27,12 @@ all:
   20.14  	fi
   20.15  
   20.16  
   20.17 +.PHONY: install
   20.18  install: all
   20.19  	[ -d $(INSTALL_DIR) ] || install -d -m0755 $(INSTALL_DIR)
   20.20  	[ ! -e $(TARGET) ] || install -m0644 $(TARGET) $(INSTALL_DIR)
   20.21  
   20.22 +.PHONY: clean
   20.23  clean: 
   20.24  	@set -e; for subdir in $(SUBDIRS); do \
   20.25  		$(MAKE) -C $$subdir $@; \
    21.1 --- a/tools/firmware/acpi/Makefile	Mon Apr 10 16:36:38 2006 +0100
    21.2 +++ b/tools/firmware/acpi/Makefile	Mon Apr 10 17:02:49 2006 +0100
    21.3 @@ -33,6 +33,7 @@ IASL_VER=acpica-unix-20050513
    21.4  IASL_URL=http://developer.intel.com/technology/iapc/acpi/downloads/$(IASL_VER).tar.gz
    21.5  
    21.6  vpath iasl $(PATH)
    21.7 +.PHONY: all
    21.8  all:$(ACPI_BIN)
    21.9  
   21.10  acpi_dsdt.c:acpi_dsdt.asl
   21.11 @@ -42,6 +43,7 @@ acpi_dsdt.c:acpi_dsdt.asl
   21.12  	echo "int DsdtLen=sizeof(AmlCode);" >> acpi_dsdt.c
   21.13  	rm *.aml
   21.14  
   21.15 +.PHONY: iasl
   21.16  iasl:
   21.17  	@echo
   21.18  	@echo "ACPI ASL compiler(iasl) is needed"
   21.19 @@ -60,8 +62,10 @@ iasl:
   21.20  $(ACPI_BIN):$(ACPI_GEN)
   21.21  	./$(ACPI_GEN) $(ACPI_BIN)
   21.22  
   21.23 +.PHONY: clean
   21.24  clean:
   21.25  	rm -rf *.o $(ACPI_GEN) $(ACPI_BIN) $(IASL_VER) 
   21.26  	rm -rf  $(IASL_VER).tar.gz
   21.27  
   21.28 +.PHONY: install
   21.29  install: all
    22.1 --- a/tools/firmware/hvmloader/Makefile	Mon Apr 10 16:36:38 2006 +0100
    22.2 +++ b/tools/firmware/hvmloader/Makefile	Mon Apr 10 17:02:49 2006 +0100
    22.3 @@ -42,6 +42,7 @@ OBJCOPY  = objcopy
    22.4  CFLAGS  += $(DEFINES) -I. $(XENINC) -fno-builtin -O2 -msoft-float
    22.5  LDFLAGS  = -m32 -nostdlib -Wl,-N -Wl,-Ttext -Wl,$(LOADADDR)
    22.6  
    22.7 +.PHONY: all
    22.8  all: hvmloader
    22.9  
   22.10  hvmloader: roms.h hvmloader.c acpi_madt.c
   22.11 @@ -57,6 +58,7 @@ roms.h:	../rombios/BIOS-bochs-latest ../
   22.12  	./mkhex vmxassist ../vmxassist/vmxassist.bin >> roms.h
   22.13  	./mkhex acpi ../acpi/acpi.bin >> roms.h
   22.14  
   22.15 +.PHONY: clean
   22.16  clean:
   22.17  	rm -f roms.h acpi.h
   22.18  	rm -f hvmloader hvmloader.tmp hvmloader.o $(OBJECTS)
    23.1 --- a/tools/firmware/rombios/Makefile	Mon Apr 10 16:36:38 2006 +0100
    23.2 +++ b/tools/firmware/rombios/Makefile	Mon Apr 10 17:02:49 2006 +0100
    23.3 @@ -3,10 +3,13 @@ BIOS_BUILDS = BIOS-bochs-latest
    23.4  #BIOS_BUILDS += BIOS-bochs-4-processors
    23.5  #BIOS_BUILDS += BIOS-bochs-8-processors
    23.6  
    23.7 +.PHONY: all
    23.8  all: bios
    23.9  
   23.10 +.PHONY: bios
   23.11  bios: biossums ${BIOS_BUILDS}
   23.12  
   23.13 +.PHONY: clean
   23.14  clean:
   23.15  	rm -f  *.o *.a *.s rombios.bin _rombios*_.c
   23.16  	rm -f  as86-sym.txt ld86-sym.txt 
    24.1 --- a/tools/firmware/vgabios/Makefile	Mon Apr 10 16:36:38 2006 +0100
    24.2 +++ b/tools/firmware/vgabios/Makefile	Mon Apr 10 17:02:49 2006 +0100
    24.3 @@ -10,17 +10,22 @@ RELVERS = `pwd | sed "s-.*/--" | sed "s/
    24.4  
    24.5  VGABIOS_DATE = "-DVGABIOS_DATE=\"$(RELDATE)\""
    24.6  
    24.7 +.PHONY: all
    24.8  all: bios cirrus-bios
    24.9  
   24.10 +.PHONY: bios
   24.11  bios: biossums vgabios.bin vgabios.debug.bin 
   24.12  
   24.13 +.PHONY: cirrus-bios
   24.14  cirrus-bios: vgabios-cirrus.bin vgabios-cirrus.debug.bin
   24.15  
   24.16 +.PHONY: clean
   24.17  clean:
   24.18  	rm -f biossums *.o *.s *.ld86 \
   24.19            temp.awk.* vgabios*.orig _vgabios_* _vgabios-debug_* core vgabios*.bin vgabios*.txt $(RELEASE).bin *.bak
   24.20  	rm -f VGABIOS-lgpl-latest*.bin
   24.21  
   24.22 +.PHONY: release
   24.23  release: 
   24.24  	VGABIOS_VERS=\"-DVGABIOS_VERS=\\\"$(RELVERS)\\\"\" make bios cirrus-bios
   24.25  	/bin/rm -f  *.o *.s *.ld86 \
    25.1 --- a/tools/firmware/vmxassist/Makefile	Mon Apr 10 16:36:38 2006 +0100
    25.2 +++ b/tools/firmware/vmxassist/Makefile	Mon Apr 10 17:02:49 2006 +0100
    25.3 @@ -43,6 +43,7 @@ LDFLAGS  = -m elf_i386
    25.4  
    25.5  OBJECTS = head.o trap.o vm86.o setup.o util.o
    25.6  
    25.7 +.PHONY: all
    25.8  all: vmxassist.bin
    25.9  
   25.10  vmxassist.bin: vmxassist.ld $(OBJECTS)
   25.11 @@ -74,6 +75,7 @@ offsets.h: gen
   25.12  gen:	vm86.h gen.c
   25.13  	$(HOSTCC) $(HOSTCFLAGS) -I. $(XENINC) -o gen gen.c
   25.14  
   25.15 +.PHONY: clean
   25.16  clean:
   25.17  	rm -f vmxassist vmxassist.tmp vmxassist.bin vmxassist.run vmxassist.sym head.s
   25.18  	rm -f $(OBJECTS)
    26.1 --- a/tools/guest-headers/Makefile	Mon Apr 10 16:36:38 2006 +0100
    26.2 +++ b/tools/guest-headers/Makefile	Mon Apr 10 17:02:49 2006 +0100
    26.3 @@ -2,12 +2,16 @@
    26.4  XEN_ROOT=../..
    26.5  linuxsparsetree = $(XEN_ROOT)/linux-2.6-xen-sparse
    26.6  
    26.7 +.PHONY: all
    26.8  all:
    26.9  
   26.10 +.PHONY: check
   26.11  check:
   26.12  
   26.13 +.PHONY: install
   26.14  install:
   26.15  	mkdir -p $(DESTDIR)/usr/include/xen/linux
   26.16  	install -m0644 $(linuxsparsetree)/include/xen/public/*.h $(DESTDIR)/usr/include/xen/linux
   26.17  
   26.18 +.PHONY: clean
   26.19  clean:
    27.1 --- a/tools/ioemu/Makefile	Mon Apr 10 16:36:38 2006 +0100
    27.2 +++ b/tools/ioemu/Makefile	Mon Apr 10 17:02:49 2006 +0100
    27.3 @@ -19,6 +19,7 @@ LDFLAGS+=-static
    27.4  endif
    27.5  #DOCS=qemu-doc.html qemu-tech.html qemu.1
    27.6  
    27.7 +.PHONY: all
    27.8  all: $(DOCS) HEADERS
    27.9  	for d in $(TARGET_DIRS); do \
   27.10  	$(MAKE) -C $$d $@ || exit 1 ; \
   27.11 @@ -30,6 +31,7 @@ qemu-img: qemu-img.c block.c block-cow.c
   27.12  dyngen$(EXESUF): dyngen.c
   27.13  	$(HOST_CC) $(CFLAGS) $(DEFINES) -o $@ $^
   27.14  
   27.15 +.PHONY: clean
   27.16  clean:
   27.17  # avoid old build problems by removing potentially incorrect old files
   27.18  	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 
   27.19 @@ -41,6 +43,7 @@ clean:
   27.20  	rm -f config-host.mak config-host.h
   27.21  	rm -f keysym_adapter_sdl.h keysym_adapter_vnc.h
   27.22  
   27.23 +.PHONY: distclean
   27.24  distclean: clean
   27.25  	rm -f config-host.mak config-host.h
   27.26  	rm -f keysym_adapter_sdl.h keysym_adapter_vnc.h
   27.27 @@ -52,6 +55,7 @@ KEYMAPS=da     en-gb  et  fr     fr-ch  
   27.28  ar      de     en-us  fi  fr-be  hr     it  lv  nl         pl  ru     th \
   27.29  common  de-ch  es     fo  fr-ca  hu     ja  mk  nl-be      pt  sl     tr
   27.30  
   27.31 +.PHONY: install
   27.32  install: all 
   27.33  	mkdir -p "$(bindir)"
   27.34  	mkdir -p "$(DESTDIR)/$(datadir)"
   27.35 @@ -62,9 +66,11 @@ install: all
   27.36          done
   27.37  
   27.38  # various test targets
   27.39 +.PHONY: test speed test2
   27.40  test speed test2: all
   27.41  	$(MAKE) -C tests $@
   27.42  
   27.43 +.PHONY: TAGS
   27.44  TAGS: 
   27.45  	etags *.[ch] tests/*.[ch]
   27.46  
   27.47 @@ -79,6 +85,7 @@ qemu.1: qemu-doc.texi
   27.48  FILE=qemu-$(shell cat VERSION)
   27.49  
   27.50  # tar release (use 'make -k tar' on a checkouted tree)
   27.51 +.PHONY: tar
   27.52  tar:
   27.53  	rm -rf /tmp/$(FILE)
   27.54  	cp -r . /tmp/$(FILE)
   27.55 @@ -86,6 +93,7 @@ tar:
   27.56  	rm -rf /tmp/$(FILE)
   27.57  
   27.58  # generate a binary distribution
   27.59 +.PHONY: tarbin
   27.60  tarbin:
   27.61  	( cd $(DESTDIR) ; tar zcvf ~/qemu-$(VERSION)-i386.tar.gz \
   27.62  	$(DESTDIR)/$(bindir)/qemu $(DESTDIR)/$(bindir)/qemu-fast \
   27.63 @@ -100,6 +108,7 @@ ifneq ($(wildcard .depend),)
   27.64  include .depend
   27.65  endif
   27.66  
   27.67 +.PHONY: HEADERS
   27.68  HEADERS:
   27.69  
   27.70  ifdef CONFIG_SDL
    28.1 --- a/tools/ioemu/target-i386-dm/Makefile	Mon Apr 10 16:36:38 2006 +0100
    28.2 +++ b/tools/ioemu/target-i386-dm/Makefile	Mon Apr 10 17:02:49 2006 +0100
    28.3 @@ -329,6 +329,7 @@ sdl.o: sdl.c keyboard_rdesktop.c
    28.4  sdlaudio.o: sdlaudio.c
    28.5  	$(CC) $(CFLAGS) $(DEFINES) $(SDL_CFLAGS) -c -o $@ $<
    28.6  
    28.7 +.PHONY: depend
    28.8  depend: $(SRCS)
    28.9  	$(CC) -MM $(CFLAGS) $(DEFINES) $^ 1>.depend
   28.10  
   28.11 @@ -382,12 +383,15 @@ mixeng.o: mixeng.c mixeng.h mixeng_templ
   28.12  %.o: %.S
   28.13  	$(CC) $(DEFINES) -c -o $@ $<
   28.14  
   28.15 +.PHONY: clean
   28.16  clean:
   28.17  	rm -rf *.o  *.a *~ $(PROGS) gen-op.h opc.h op.h nwfpe slirp
   28.18  	rm -rf config.mak config.h
   28.19  
   28.20 +.PHONY: distclean
   28.21  distclean: clean
   28.22  
   28.23 +.PHONY: install
   28.24  install: all 
   28.25  	if [ ! -d $(INSTALL_DIR) ];then mkdir -p $(INSTALL_DIR);fi
   28.26  	if [ ! -d $(DESTDIR)$(configdir) ];then mkdir -p $(DESTDIR)$(configdir);fi
    29.1 --- a/tools/libxc/Makefile	Mon Apr 10 16:36:38 2006 +0100
    29.2 +++ b/tools/libxc/Makefile	Mon Apr 10 17:02:49 2006 +0100
    29.3 @@ -67,10 +67,14 @@ LIB += libxenctrl.so libxenctrl.so.$(MAJ
    29.4  LIB += libxenguest.a
    29.5  LIB += libxenguest.so libxenguest.so.$(MAJOR) libxenguest.so.$(MAJOR).$(MINOR)
    29.6  
    29.7 +.PHONY: all
    29.8  all: build
    29.9 +
   29.10 +.PHONY: build
   29.11  build: check-for-zlib mk-symlinks
   29.12  	$(MAKE) $(LIB)
   29.13  
   29.14 +.PHONY: check-for-zlib
   29.15  check-for-zlib:
   29.16  	@if [ ! -e /usr/include/zlib.h ]; then \
   29.17  	echo "***********************************************************"; \
   29.18 @@ -79,6 +83,7 @@ check-for-zlib:
   29.19  	false; \
   29.20  	fi
   29.21  
   29.22 +.PHONY: install
   29.23  install: build
   29.24  	[ -d $(DESTDIR)/usr/$(LIBDIR) ] || $(INSTALL_DIR) $(DESTDIR)/usr/$(LIBDIR)
   29.25  	[ -d $(DESTDIR)/usr/include ] || $(INSTALL_DIR) $(DESTDIR)/usr/include
   29.26 @@ -94,14 +99,15 @@ install: build
   29.27  	ln -sf libxenguest.so.$(MAJOR) $(DESTDIR)/usr/$(LIBDIR)/libxenguest.so
   29.28  	$(INSTALL_DATA) xenguest.h $(DESTDIR)/usr/include
   29.29  
   29.30 -.PHONY: TAGS clean rpm install all
   29.31 -
   29.32 +.PHONY: TAGS
   29.33  TAGS:
   29.34  	etags -t *.c *.h
   29.35  
   29.36 +.PHONY: clean
   29.37  clean:
   29.38  	rm -rf *.a *.so* *.o *.opic *.rpm $(LIB) *~ $(DEPS) xen
   29.39  
   29.40 +.PHONY: rpm
   29.41  rpm: build
   29.42  	rm -rf staging
   29.43  	mkdir staging
    30.1 --- a/tools/misc/Makefile	Mon Apr 10 16:36:38 2006 +0100
    30.2 +++ b/tools/misc/Makefile	Mon Apr 10 17:02:49 2006 +0100
    30.3 @@ -18,7 +18,10 @@ TARGETS  = xenperf xc_shadow
    30.4  INSTALL_BIN  = $(TARGETS) xencons
    30.5  INSTALL_SBIN = netfix xm xen-bugtool xend xenperf
    30.6  
    30.7 +.PHONY: all
    30.8  all: build
    30.9 +
   30.10 +.PHONY: build
   30.11  build: $(TARGETS)
   30.12  	$(MAKE) -C miniterm
   30.13  	$(MAKE) -C cpuperf
   30.14 @@ -27,6 +30,7 @@ ifneq ($(XEN_TARGET_ARCH),ia64)
   30.15  endif
   30.16  	$(MAKE) -C lomount
   30.17  
   30.18 +.PHONY: install
   30.19  install: build
   30.20  	[ -d $(DESTDIR)/usr/bin ] || $(INSTALL_DIR) $(DESTDIR)/usr/bin
   30.21  	[ -d $(DESTDIR)/usr/sbin ] || $(INSTALL_DIR) $(DESTDIR)/usr/sbin
   30.22 @@ -39,6 +43,7 @@ install: build
   30.23  #       Likewise mbootpack
   30.24  #	$(MAKE) -C mbootpack install
   30.25  
   30.26 +.PHONY: clean
   30.27  clean:
   30.28  	$(RM) *.o $(TARGETS) *~
   30.29  	$(MAKE) -C miniterm clean
    31.1 --- a/tools/misc/cpuperf/Makefile	Mon Apr 10 16:36:38 2006 +0100
    31.2 +++ b/tools/misc/cpuperf/Makefile	Mon Apr 10 17:02:49 2006 +0100
    31.3 @@ -26,8 +26,10 @@ TARGETS      = cpuperf-xen cpuperf-perfc
    31.4  INSTALL_BIN  = $(TARGETS)
    31.5  
    31.6  
    31.7 +.PHONY: all
    31.8  all: $(TARGETS)
    31.9  
   31.10 +.PHONY: clean
   31.11  clean:
   31.12  	$(RM) *.o $(TARGETS)
   31.13  
   31.14 @@ -40,6 +42,7 @@ cpuperf-xen: cpuperf.c $(HDRS) Makefile
   31.15  cpuperf-perfcntr: cpuperf.c $(HDRS) Makefile
   31.16  	$(CC) $(CFLAGS) -DPERFCNTR -o $@ $<
   31.17  
   31.18 +.PHONY: install
   31.19  install: all
   31.20  	$(INSTALL_PROG) $(INSTALL_BIN) $(DESTDIR)/usr/bin
   31.21  
    32.1 --- a/tools/misc/lomount/Makefile	Mon Apr 10 16:36:38 2006 +0100
    32.2 +++ b/tools/misc/lomount/Makefile	Mon Apr 10 17:02:49 2006 +0100
    32.3 @@ -13,12 +13,17 @@ OBJS     = $(patsubst %.c,%.o,$(wildcard
    32.4  
    32.5  BIN      = lomount
    32.6  
    32.7 +.PHONY: all
    32.8  all: build
    32.9 +
   32.10 +.PHONY: build
   32.11  build: $(BIN)
   32.12  
   32.13 +.PHONY: install
   32.14  install: build
   32.15  	$(INSTALL_PROG) $(BIN) $(SCRIPTS) $(DESTDIR)/usr/bin
   32.16  
   32.17 +.PHONY: clean
   32.18  clean:
   32.19  	$(RM) *.a *.so *.o *.rpm $(BIN)
   32.20  
    33.1 --- a/tools/misc/mbootpack/Makefile	Mon Apr 10 16:36:38 2006 +0100
    33.2 +++ b/tools/misc/mbootpack/Makefile	Mon Apr 10 17:02:49 2006 +0100
    33.3 @@ -8,9 +8,13 @@ INSTALL_DIR	= $(INSTALL) -d -m0755
    33.4  XEN_ROOT=../../..
    33.5  include $(XEN_ROOT)/tools/Rules.mk
    33.6  
    33.7 +.PHONY: all
    33.8  all: build
    33.9 +
   33.10 +.PHONY: build
   33.11  build: mbootpack
   33.12  
   33.13 +.PHONY: install
   33.14  install: build
   33.15  	$(INSTALL_PROG) mbootpack $(DESTDIR)/usr/bin
   33.16  
   33.17 @@ -33,6 +37,7 @@ DEPS     = .*.d
   33.18  mbootpack: $(OBJS)
   33.19  	$(HOSTCC) -o $@ $(filter-out %.a, $^)
   33.20  
   33.21 +.PHONY: clean
   33.22  clean:
   33.23  	$(RM) mbootpack *.o $(DEPS) bootsect setup bzimage_header.c bin2c
   33.24  
   33.25 @@ -60,7 +65,6 @@ buildimage.c: bzimage_header.c
   33.26  %.o: %.c
   33.27  	$(HOSTCC) $(DEPFLAGS) $(CFLAGS) $(INCS) $(DEFS) -c $< -o $@
   33.28  
   33.29 -.PHONY: all clean gdb
   33.30  .PRECIOUS: $(OBJS) $(OBJS:.o=.c) $(DEPS)
   33.31  .SUFFIXES: 
   33.32  
    34.1 --- a/tools/misc/miniterm/Makefile	Mon Apr 10 16:36:38 2006 +0100
    34.2 +++ b/tools/misc/miniterm/Makefile	Mon Apr 10 17:02:49 2006 +0100
    34.3 @@ -7,12 +7,15 @@ INSTALL_DIR	= $(INSTALL) -d -m0755
    34.4  
    34.5  TARGET = miniterm
    34.6  
    34.7 +.PHONY: all
    34.8  all: $(TARGET)
    34.9  
   34.10 +.PHONY: install
   34.11  install: all
   34.12  	[ -d $(DESTDIR)/usr/bin ] || $(INSTALL_DIR) $(DESTDIR)/usr/bin
   34.13  	$(INSTALL_PROG) $(TARGET) $(DESTDIR)/usr/bin
   34.14  
   34.15 +.PHONY: clean
   34.16  clean:
   34.17  	$(RM) *.o $(TARGET) *~
   34.18  
    35.1 --- a/tools/misc/nsplitd/Makefile	Mon Apr 10 16:36:38 2006 +0100
    35.2 +++ b/tools/misc/nsplitd/Makefile	Mon Apr 10 17:02:49 2006 +0100
    35.3 @@ -8,10 +8,13 @@ OBJS     = $(patsubst %.c,%.o,$(wildcard
    35.4  
    35.5  TARGET   = nsplitd
    35.6  
    35.7 +.PHONY: all
    35.8  all: $(TARGET)
    35.9  
   35.10 +.PHONY: install
   35.11  install: all
   35.12  
   35.13 +.PHONY: clean
   35.14  clean:
   35.15  	$(RM) *.o $(TARGET) *~
   35.16  
    36.1 --- a/tools/pygrub/Makefile	Mon Apr 10 16:36:38 2006 +0100
    36.2 +++ b/tools/pygrub/Makefile	Mon Apr 10 17:02:49 2006 +0100
    36.3 @@ -2,10 +2,13 @@
    36.4  XEN_ROOT = ../..
    36.5  include $(XEN_ROOT)/tools/Rules.mk
    36.6  
    36.7 +.PHONY: all
    36.8  all: build
    36.9 +.PHONY: build
   36.10  build:
   36.11  	CFLAGS="$(CFLAGS)" python setup.py build
   36.12  
   36.13 +.PHONY: install
   36.14  ifndef XEN_PYTHON_NATIVE_INSTALL
   36.15  install: all
   36.16  	CFLAGS="$(CFLAGS)" python setup.py install --home="$(DESTDIR)/usr"
   36.17 @@ -14,5 +17,6 @@ install: all
   36.18  	CFLAGS="$(CFLAGS)" python setup.py install --root="$(DESTDIR)"
   36.19  endif
   36.20  
   36.21 +.PHONY: clean
   36.22  clean:
   36.23  	rm -rf build tmp *.pyc *.pyo *.o *.a *~ a.out
    37.1 --- a/tools/pygrub/src/fsys/ext2/ext2module.c	Mon Apr 10 16:36:38 2006 +0100
    37.2 +++ b/tools/pygrub/src/fsys/ext2/ext2module.c	Mon Apr 10 17:02:49 2006 +0100
    37.3 @@ -228,7 +228,10 @@ ext2_fs_open (Ext2Fs *fs, PyObject *args
    37.4      }
    37.5  
    37.6  #ifdef HAVE_EXT2FS_OPEN2
    37.7 -    if (offset != 0) {
    37.8 +    if (offset == 0) {
    37.9 +        offsetopt[0] = '\0';
   37.10 +    }
   37.11 +    else {
   37.12          snprintf(offsetopt, 29, "offset=%d", offset);
   37.13      }
   37.14  
    38.1 --- a/tools/python/Makefile	Mon Apr 10 16:36:38 2006 +0100
    38.2 +++ b/tools/python/Makefile	Mon Apr 10 17:02:49 2006 +0100
    38.3 @@ -1,12 +1,14 @@
    38.4  XEN_ROOT = ../..
    38.5  include $(XEN_ROOT)/tools/Rules.mk
    38.6  
    38.7 -.PHONY: all build install clean
    38.8 +.PHONY: all
    38.9 +all: build
   38.10  
   38.11 -all: build
   38.12 +.PHONY: build
   38.13  build:
   38.14  	CFLAGS="$(CFLAGS)" python setup.py build
   38.15  
   38.16 +.PHONY: install
   38.17  ifndef XEN_PYTHON_NATIVE_INSTALL
   38.18  install: all
   38.19  	CFLAGS="$(CFLAGS)" python setup.py install --home="$(DESTDIR)/usr" --force
   38.20 @@ -15,8 +17,10 @@ install: all
   38.21  	CFLAGS="$(CFLAGS)" python setup.py install --root="$(DESTDIR)" --force
   38.22  endif
   38.23  
   38.24 +.PHONY: test
   38.25  test:
   38.26  	export LD_LIBRARY_PATH=$$(readlink -f ../libxc):$$(readlink -f ../xenstore); python test.py -b -u
   38.27  
   38.28 +.PHONY: clean
   38.29  clean:
   38.30  	rm -rf build *.pyc *.pyo *.o *.a *~
    39.1 --- a/tools/python/xen/util/diagnose.py	Mon Apr 10 16:36:38 2006 +0100
    39.2 +++ b/tools/python/xen/util/diagnose.py	Mon Apr 10 17:02:49 2006 +0100
    39.3 @@ -41,7 +41,7 @@ def diagnose(dom):
    39.4      global dompath
    39.5      
    39.6      try:
    39.7 -        domain = server.xend_domain(dom)
    39.8 +        domain = server.xend.domain(dom)
    39.9          state = sxp.child_value(domain, 'state')
   39.10          domid = int(sxp.child_value(domain, 'domid'))
   39.11          name = sxp.child_value(domain, 'name')
    40.1 --- a/tools/security/Makefile	Mon Apr 10 16:36:38 2006 +0100
    40.2 +++ b/tools/security/Makefile	Mon Apr 10 17:02:49 2006 +0100
    40.3 @@ -54,8 +54,10 @@ ACM_POLICY_SUFFIX = security_policy.xml
    40.4  ACM_LABEL_SUFFIX  = security_label_template.xml
    40.5  
    40.6  ifeq ($(ACM_SECURITY),y)
    40.7 +.PHONY: all
    40.8  all: build
    40.9  
   40.10 +.PHONY: install
   40.11  install: all $(ACM_CONFIG_FILE)
   40.12  	$(INSTALL_DIR) -p $(DESTDIR)/usr/sbin
   40.13  	$(INSTALL_PROG) -p $(ACM_INST_TOOLS) $(DESTDIR)/usr/sbin
   40.14 @@ -79,11 +81,14 @@ else
   40.15  	python python/setup.py install --root="$(DESTDIR)"
   40.16  endif
   40.17  else
   40.18 +.PHONY: all
   40.19  all:
   40.20  
   40.21 +.PHONY: install
   40.22  install:
   40.23  endif
   40.24  
   40.25 +.PHONY: build
   40.26  build: mk-symlinks $(ACM_INST_TOOLS) $(ACM_NOINST_TOOLS)
   40.27  	python python/setup.py build
   40.28  	chmod 700 $(ACM_SCRIPTS)
   40.29 @@ -100,6 +105,7 @@ get_decision: $(OBJS_GETD)
   40.30  xensec_gen: xensec_gen.py
   40.31  	cp -f $^ $@
   40.32  
   40.33 +.PHONY: clean
   40.34  clean:
   40.35  	$(RM) $(ACM_INST_TOOLS) $(ACM_NOINST_TOOLS)
   40.36  	$(RM) $(ACM_OBJS)
   40.37 @@ -107,8 +113,10 @@ clean:
   40.38  	$(RM) -r xen
   40.39  	$(RM) -r build
   40.40  
   40.41 +.PHONY: mrproper
   40.42  mrproper: clean
   40.43  
   40.44 +.PHONY: boot_install
   40.45  boot_install: install
   40.46  	$(ACM_SCRIPT_DIR)/updategrub.sh $(POLICY) $(KERNEL_VERSION)
   40.47  
    41.1 --- a/tools/sv/Makefile	Mon Apr 10 16:36:38 2006 +0100
    41.2 +++ b/tools/sv/Makefile	Mon Apr 10 17:02:49 2006 +0100
    41.3 @@ -1,2 +1,3 @@
    41.4  
    41.5 +.PHONY: all
    41.6  all:
    42.1 --- a/tools/tests/Makefile	Mon Apr 10 16:36:38 2006 +0100
    42.2 +++ b/tools/tests/Makefile	Mon Apr 10 17:02:49 2006 +0100
    42.3 @@ -6,14 +6,17 @@ TARGET := test_x86_emulator
    42.4  
    42.5  HOSTCFLAGS += -D__TEST_HARNESS__
    42.6  
    42.7 +.PHONY: all
    42.8  all: $(TARGET)
    42.9  
   42.10  $(TARGET): x86_emulate.o test_x86_emulator.o
   42.11  	$(HOSTCC) -o $@ $^
   42.12  
   42.13 +.PHONY: clean
   42.14  clean:
   42.15  	rm -rf $(TARGET) *.o *~ core
   42.16  
   42.17 +.PHONY: install
   42.18  install:
   42.19  
   42.20  x86_emulate.o: $(XEN_ROOT)/xen/arch/x86/x86_emulate.c
    43.1 --- a/tools/vnet/Makefile	Mon Apr 10 16:36:38 2006 +0100
    43.2 +++ b/tools/vnet/Makefile	Mon Apr 10 17:02:49 2006 +0100
    43.3 @@ -5,10 +5,6 @@ export VNET_ROOT = $(shell pwd)
    43.4  include $(VNET_ROOT)/Make.env
    43.5  endif
    43.6  
    43.7 -.PHONY: all compile install dist clean pristine
    43.8 -.PHONY: gc-all gc-install gc-clean
    43.9 -.PHONY: help
   43.10 -
   43.11  SUBDIRS:=
   43.12  SUBDIRS+= examples
   43.13  SUBDIRS+= scripts
   43.14 @@ -17,11 +13,13 @@ SUBDIRS+= libxutil
   43.15  SUBDIRS+= vnetd
   43.16  SUBDIRS+= vnet-module
   43.17  
   43.18 +.PHONY: all
   43.19  all: compile
   43.20  
   43.21  gc.tar.gz:
   43.22  	wget http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/$@
   43.23  
   43.24 +.PHONY: gc
   43.25  gc: gc.tar.gz
   43.26  	tar xfz gc.tar.gz
   43.27  	ln -sf gc?.? gc
   43.28 @@ -31,10 +29,13 @@ gc: gc.tar.gz
   43.29  	make -C gc
   43.30  	DESTDIR="" make -C gc install
   43.31  
   43.32 +.PHONY: gc-all
   43.33  gc-all: $(GC_LIB_A)
   43.34  
   43.35 +.PHONY: gc-install
   43.36  gc-install:
   43.37  
   43.38 +.PHONY: gc-clean
   43.39  gc-clean:
   43.40  	-@$(RM) -r gc?.? gc
   43.41  
   43.42 @@ -50,19 +51,25 @@ subtgt = $(patsubst %,%-$(1),$(SUBDIRS))
   43.43  %-install:
   43.44  	$(call submak,install)
   43.45  
   43.46 +.PHONY: compile
   43.47  compile: $(call subtgt,all)
   43.48  
   43.49 +.PHONY: install
   43.50  install: DESTDIR=
   43.51  install: dist
   43.52  
   43.53 +.PHONY: dist
   43.54  dist: compile $(call subtgt,install)
   43.55  
   43.56 +.PHONY: clean
   43.57  clean: $(call subtgt,clean)
   43.58  	-@$(RM) -r build
   43.59  
   43.60 +.PHONY: pristine
   43.61  pristine: clean
   43.62  	-@$(RM) gc.tar.gz
   43.63  
   43.64 +.PHONY: help
   43.65  help:
   43.66  	@echo 'Cleaning targets:'
   43.67  	@echo '  clean     - clean subdirs and remove the build dir'
    44.1 --- a/tools/vnet/doc/Makefile	Mon Apr 10 16:36:38 2006 +0100
    44.2 +++ b/tools/vnet/doc/Makefile	Mon Apr 10 17:02:49 2006 +0100
    44.3 @@ -23,8 +23,10 @@ DOC_MAN5	:= $(patsubst man/%.pod.5,man5/
    44.4  
    44.5  .PHONY: all man clean install
    44.6  
    44.7 +.PHONY: all
    44.8  all: man
    44.9  
   44.10 +.PHONY: man
   44.11  man:
   44.12  	@if which $(POD2MAN) 1>/dev/null 2>/dev/null; then \
   44.13  	$(MAKE) $(DOC_MAN1) $(DOC_MAN5); fi
   44.14 @@ -39,10 +41,12 @@ man5/%.5: man/%.pod.5 Makefile
   44.15  	$(POD2MAN) --release=$(VERSION) --name=`echo $@ | sed 's/^man5.//'| \
   44.16  		sed 's/.5//'` -s 5 -c $(HEADER) $< $@
   44.17  
   44.18 +.PHONY: clean
   44.19  clean:
   44.20  	@$(RM) -rf man5
   44.21  	@$(RM) -rf man1
   44.22  
   44.23 +.PHONY:  install
   44.24   install: all
   44.25  	$(INSTALL_DIR) $(DESTDIR)$(MAN_DIR)
   44.26  	$(CP) -dR man1 $(DESTDIR)$(MAN_DIR)
    45.1 --- a/tools/vnet/examples/Makefile	Mon Apr 10 16:36:38 2006 +0100
    45.2 +++ b/tools/vnet/examples/Makefile	Mon Apr 10 17:02:49 2006 +0100
    45.3 @@ -7,13 +7,14 @@ INSTALL_DIR	= $(INSTALL) -d -m0755
    45.4  
    45.5  XEN_SCRIPT_DIR  = $(DESTDIR)/etc/xen/scripts
    45.6  
    45.7 -.PHONY: all install clean
    45.8 -
    45.9 +.PHONY: all
   45.10  all:
   45.11  
   45.12 +.PHONY: install
   45.13  install:
   45.14  	$(INSTALL_DIR) $(XEN_SCRIPT_DIR)
   45.15  	$(INSTALL_PROG) network-vnet $(XEN_SCRIPT_DIR)
   45.16  	$(INSTALL_PROG) vnet-insert $(XEN_SCRIPT_DIR)
   45.17  
   45.18 -clean:
   45.19 \ No newline at end of file
   45.20 +.PHONY: clean
   45.21 +clean:
    46.1 --- a/tools/vnet/libxutil/Makefile	Mon Apr 10 16:36:38 2006 +0100
    46.2 +++ b/tools/vnet/libxutil/Makefile	Mon Apr 10 17:02:49 2006 +0100
    46.3 @@ -42,8 +42,10 @@ LIB      += libxutil.so.$(MAJOR)
    46.4  LIB      += libxutil.so.$(MAJOR).$(MINOR)
    46.5  LIB      += libxutil.a
    46.6  
    46.7 +.PHONY: all
    46.8  all: build
    46.9  
   46.10 +.PHONY: build
   46.11  build: #check-for-zlib
   46.12  	$(MAKE) $(LIB)
   46.13  
   46.14 @@ -61,6 +63,7 @@ libxutil.so.$(MAJOR).$(MINOR): $(PIC_OBJ
   46.15  libxutil.a: $(LIB_OBJS)
   46.16  	$(AR) rc $@ $^
   46.17  
   46.18 +.PHONY: check-for-zlib
   46.19  check-for-zlib:
   46.20  	@if [ ! -e /usr/include/zlib.h ]; then \
   46.21  	echo "***********************************************************"; \
   46.22 @@ -69,6 +72,7 @@ check-for-zlib:
   46.23  	false; \
   46.24  	fi
   46.25  
   46.26 +.PHONY: install
   46.27  install: build
   46.28  	[ -d $(DESTDIR)/usr/$(LIBDIR) ] || $(INSTALL_DIR) -p $(DESTDIR)/usr/$(LIBDIR)
   46.29  	$(INSTALL_PROG) libxutil.so.$(MAJOR).$(MINOR) $(DESTDIR)/usr/$(LIBDIR)
   46.30 @@ -76,6 +80,7 @@ install: build
   46.31  	ln -sf libxutil.so.$(MAJOR).$(MINOR) $(DESTDIR)/usr/$(LIBDIR)/libxutil.so.$(MAJOR)
   46.32  	ln -sf libxutil.so.$(MAJOR) $(DESTDIR)/usr/$(LIBDIR)/libxutil.so
   46.33  
   46.34 +.PHONY: clean
   46.35  clean:
   46.36  	-@$(RM) *.a *.so* *.o *.opic *.rpm 
   46.37  	-@$(RM) *~
    47.1 --- a/tools/vnet/scripts/Makefile	Mon Apr 10 16:36:38 2006 +0100
    47.2 +++ b/tools/vnet/scripts/Makefile	Mon Apr 10 17:02:49 2006 +0100
    47.3 @@ -7,12 +7,13 @@ INSTALL_DIR	= $(INSTALL) -d -m0755
    47.4  
    47.5  SBIN_DIR        = $(DESTDIR)/usr/sbin
    47.6  
    47.7 -.PHONY: all install clean
    47.8 -
    47.9 +.PHONY: all
   47.10  all:
   47.11  
   47.12 +.PHONY: install
   47.13  install:
   47.14  	$(INSTALL_DIR) $(SBIN_DIR)
   47.15  	$(INSTALL_PROG) vn $(SBIN_DIR)
   47.16  
   47.17 -clean:
   47.18 \ No newline at end of file
   47.19 +.PHONY: clean
   47.20 +clean:
    48.1 --- a/tools/vnet/vnetd/Makefile	Mon Apr 10 16:36:38 2006 +0100
    48.2 +++ b/tools/vnet/vnetd/Makefile	Mon Apr 10 17:02:49 2006 +0100
    48.3 @@ -19,6 +19,7 @@
    48.4  VNET_ROOT = $(shell cd .. && pwd)
    48.5  include $(VNET_ROOT)/Make.env
    48.6  
    48.7 +.PHONY: all
    48.8  all: vnetd
    48.9  
   48.10  #----------------------------------------------------------------------------
   48.11 @@ -104,10 +105,12 @@ VNETD_LIBS:= $(GC_LIB_A)
   48.12  vnetd: $(VNETD_OBJ)
   48.13  	$(CC) $(CFLAGS) -o $@ $^ $(VNETD_LIBS) -ldl -lpthread
   48.14  
   48.15 +.PHONY: install
   48.16  install: vnetd
   48.17  	mkdir -p $(DESTDIR)$(VNETD_INSTALL_DIR)
   48.18  	install -m 0755 vnetd $(DESTDIR)$(VNETD_INSTALL_DIR)
   48.19  
   48.20 +.PHONY: clean
   48.21  clean:
   48.22  	-@$(RM) *.a *.o *~
   48.23  	-@$(RM) vnetd
    49.1 --- a/tools/vtpm/Makefile	Mon Apr 10 16:36:38 2006 +0100
    49.2 +++ b/tools/vtpm/Makefile	Mon Apr 10 17:02:49 2006 +0100
    49.3 @@ -13,14 +13,18 @@ TPM_EMULATOR_TARFILE = tpm_emulator-0.2b
    49.4  
    49.5  GMP_HEADER = /usr/include/gmp.h
    49.6  
    49.7 +.PHONY: all
    49.8  all: build
    49.9  
   49.10 +.PHONY: build
   49.11  build: $(TPM_EMULATOR_DIR) $(VTPM_DIR) build_sub
   49.12  
   49.13 +.PHONY: install
   49.14  install: build
   49.15  	$(MAKE) -C $(TPM_EMULATOR_DIR) $@
   49.16  	$(MAKE) -C $(VTPM_DIR) $@
   49.17  
   49.18 +.PHONY: clean
   49.19  clean:
   49.20  	@if [ -d $(TPM_EMULATOR_DIR) ]; \
   49.21  		then $(MAKE) -C $(TPM_EMULATOR_DIR) clean; \
   49.22 @@ -29,6 +33,7 @@ clean:
   49.23  		then $(MAKE) -C $(VTPM_DIR) clean; \
   49.24  	fi
   49.25  
   49.26 +.PHONY: mrproper
   49.27  mrproper:
   49.28  	rm -f $(TPM_EMULATOR_TARFILE)
   49.29  	rm -rf $(TPM_EMULATOR_DIR)
   49.30 @@ -58,6 +63,7 @@ mrproper:
   49.31  	patch -p1 < ../tpm_emulator-0.2b-x86_64.patch; \
   49.32  	patch -p1 <../vtpm.patch
   49.33  
   49.34 +.PHONY: build_sub
   49.35  build_sub:
   49.36  	@if [ -e $(GMP_HEADER) ]; then \
   49.37  		$(MAKE) -C $(VTPM_DIR); \
    50.1 --- a/tools/vtpm_manager/Makefile	Mon Apr 10 16:36:38 2006 +0100
    50.2 +++ b/tools/vtpm_manager/Makefile	Mon Apr 10 17:02:49 2006 +0100
    50.3 @@ -6,8 +6,10 @@ include $(XEN_ROOT)/tools/vtpm_manager/R
    50.4  SUBDIRS		= crypto tcs util manager
    50.5  OPENSSL_HEADER	= /usr/include/openssl/crypto.h
    50.6  
    50.7 +.PHONY: all
    50.8  all: build
    50.9  
   50.10 +.PHONY: build
   50.11  build:
   50.12  	@if [ -e $(OPENSSL_HEADER) ]; then \
   50.13  		@set -e; for subdir in $(SUBDIRS); do \
   50.14 @@ -17,17 +19,20 @@ build:
   50.15  		echo "*** Cannot build vtpm_manager: OpenSSL developement files missing."; \
   50.16  	fi
   50.17  
   50.18 +.PHONY: install
   50.19  install: build
   50.20  	@set -e; for subdir in $(SUBDIRS); do \
   50.21  		$(MAKE) -C $$subdir $@; \
   50.22  	done
   50.23  
   50.24 +.PHONY: clean
   50.25  clean:
   50.26  	@set -e; for subdir in $(SUBDIRS); do \
   50.27  		$(MAKE) -C $$subdir $@; \
   50.28  	done
   50.29  
   50.30  
   50.31 +.PHONY: mrproper
   50.32  mrproper:
   50.33  	@set -e; for subdir in $(SUBDIRS); do \
   50.34  		$(MAKE) -C $$subdir $@; \
    51.1 --- a/tools/vtpm_manager/crypto/Makefile	Mon Apr 10 16:36:38 2006 +0100
    51.2 +++ b/tools/vtpm_manager/crypto/Makefile	Mon Apr 10 17:02:49 2006 +0100
    51.3 @@ -3,15 +3,20 @@ include $(XEN_ROOT)/tools/vtpm_manager/R
    51.4  
    51.5  BIN		= libtcpaCrypto.a
    51.6  
    51.7 +.PHONY: all
    51.8  all: build
    51.9  
   51.10 +.PHONY: build
   51.11  build: $(BIN)
   51.12  
   51.13 +.PHONY: install
   51.14  install: build
   51.15  
   51.16 +.PHONY: clean
   51.17  clean:
   51.18  	rm -f *.a *.so *.o *.rpm $(DEP_FILES)
   51.19  
   51.20 +.PHONY: mrproper
   51.21  mrproper: clean
   51.22  	rm -f *~
   51.23  
    52.1 --- a/tools/vtpm_manager/manager/Makefile	Mon Apr 10 16:36:38 2006 +0100
    52.2 +++ b/tools/vtpm_manager/manager/Makefile	Mon Apr 10 17:02:49 2006 +0100
    52.3 @@ -3,19 +3,24 @@ include $(XEN_ROOT)/tools/vtpm_manager/R
    52.4  
    52.5  BIN		= vtpm_managerd
    52.6  
    52.7 +.PHONY: all
    52.8  all: build
    52.9  
   52.10 +.PHONY: build
   52.11  build: $(BIN)
   52.12  
   52.13 +.PHONY: install
   52.14  install: build
   52.15  	if [ ! -d "$(DESTDIR)/var/vtpm/fifos" ]; \
   52.16  		then mkdir -p $(DESTDIR)/var/vtpm/fifos; \
   52.17  	fi
   52.18  	$(INSTALL_PROG) $(BIN) $(TOOLS_INSTALL_DIR)
   52.19  
   52.20 +.PHONY: clean
   52.21  clean:
   52.22  	rm -f *.a *.so *.o *.rpm $(DEP_FILES)
   52.23  
   52.24 +.PHONY: mrproper
   52.25  mrproper: clean
   52.26  	rm -f $(BIN) *~
   52.27  
    53.1 --- a/tools/vtpm_manager/tcs/Makefile	Mon Apr 10 16:36:38 2006 +0100
    53.2 +++ b/tools/vtpm_manager/tcs/Makefile	Mon Apr 10 17:02:49 2006 +0100
    53.3 @@ -3,15 +3,20 @@ include $(XEN_ROOT)/tools/vtpm_manager/R
    53.4  
    53.5  BIN		= libTCS.a
    53.6  
    53.7 +.PHONY: all
    53.8  all: build
    53.9  
   53.10 +.PHONY: build
   53.11  build: $(BIN)
   53.12  
   53.13 +.PHONY: install
   53.14  install: build
   53.15  
   53.16 +.PHONY: clean
   53.17  clean:
   53.18  	rm -f *.a *.so *.o *.rpm $(DEP_FILES)
   53.19  
   53.20 +.PHONY: mrproper
   53.21  mrproper: clean
   53.22  	rm -f *~
   53.23  
    54.1 --- a/tools/vtpm_manager/util/Makefile	Mon Apr 10 16:36:38 2006 +0100
    54.2 +++ b/tools/vtpm_manager/util/Makefile	Mon Apr 10 17:02:49 2006 +0100
    54.3 @@ -3,15 +3,20 @@ include $(XEN_ROOT)/tools/vtpm_manager/R
    54.4  
    54.5  BIN		= libTCGUtils.a
    54.6  
    54.7 +.PHONY: all
    54.8  all: build
    54.9  
   54.10 +.PHONY: build
   54.11  build: $(BIN)
   54.12  
   54.13 +.PHONY: install
   54.14  install: build
   54.15  
   54.16 +.PHONY: clean
   54.17  clean:
   54.18  	rm -f *.a *.so *.o *.rpm $(DEP_FILES)
   54.19  
   54.20 +.PHONY: mrproper
   54.21  mrproper: clean
   54.22  	rm -f *~
   54.23  
    55.1 --- a/tools/xcutils/Makefile	Mon Apr 10 16:36:38 2006 +0100
    55.2 +++ b/tools/xcutils/Makefile	Mon Apr 10 17:02:49 2006 +0100
    55.3 @@ -32,6 +32,8 @@ LDLIBS			= -L$(XEN_LIBXC) -lxenguest -lx
    55.4  
    55.5  .PHONY: all
    55.6  all: build
    55.7 +
    55.8 +.PHONY: build
    55.9  build: $(PROGRAMS)
   55.10  
   55.11  $(PROGRAMS): %: %.o
   55.12 @@ -44,6 +46,7 @@ install: build
   55.13  	$(INSTALL_PROG) $(PROGRAMS) $(DESTDIR)$(PROGRAMS_INSTALL_DIR)
   55.14  
   55.15  
   55.16 +.PHONY: clean
   55.17  clean:
   55.18  	$(RM) *.o $(PROGRAMS)
   55.19  	$(RM) $(PROG_DEP)
    56.1 --- a/tools/xenmon/Makefile	Mon Apr 10 16:36:38 2006 +0100
    56.2 +++ b/tools/xenmon/Makefile	Mon Apr 10 17:02:49 2006 +0100
    56.3 @@ -28,16 +28,20 @@ LDFLAGS += -L $(XEN_LIBXC)
    56.4  BIN = setmask xenbaked
    56.5  SCRIPTS = xenmon.py
    56.6  
    56.7 +.PHONY: all
    56.8  all: build
    56.9  
   56.10 +.PHONY: build
   56.11  build: $(BIN)
   56.12  
   56.13 +.PHONY: install
   56.14  install: xenbaked setmask
   56.15  	[ -d $(DESTDIR)$(sbindir) ] || $(INSTALL_DIR) $(DESTDIR)$(sbindir)
   56.16  	$(INSTALL_PROG) xenbaked $(DESTDIR)$(sbindir)/xenbaked
   56.17  	$(INSTALL_PROG) setmask  $(DESTDIR)$(sbindir)/setmask
   56.18  	$(INSTALL_PROG) xenmon.py  $(DESTDIR)$(sbindir)/xenmon.py
   56.19  
   56.20 +.PHONY: clean
   56.21  clean:
   56.22  	rm -f $(BIN)
   56.23  
    57.1 --- a/tools/xenstat/libxenstat/Makefile	Mon Apr 10 16:36:38 2006 +0100
    57.2 +++ b/tools/xenstat/libxenstat/Makefile	Mon Apr 10 17:02:49 2006 +0100
    57.3 @@ -41,6 +41,7 @@ WARN_FLAGS=-Wall -Werror
    57.4  CFLAGS+=-Isrc -I$(XEN_LIBXC) -I$(XEN_XENSTORE)
    57.5  LDFLAGS+=-Lsrc
    57.6  
    57.7 +.PHONY: all
    57.8  all: $(LIB)
    57.9  
   57.10  $(LIB): $(OBJECTS)
   57.11 @@ -62,6 +63,7 @@ src/libxenstat.so.$(MAJOR): $(LIB)
   57.12  src/libxenstat.so: src/libxenstat.so.$(MAJOR)
   57.13  	$(MAKE_LINK) $(<F) $@
   57.14  
   57.15 +.PHONY: install
   57.16  install: all
   57.17  #install: all
   57.18  #	$(INSTALL_DATA) src/xenstat.h $(DESTDIR)$(includedir)/xenstat.h
   57.19 @@ -84,6 +86,7 @@ BINDINGS=$(PYLIB) $(PYMOD) $(PERLLIB) $(
   57.20  BINDINGSRC=$(PYSRC) $(PERLSRC)
   57.21  
   57.22  # The all-bindings target builds all the language bindings
   57.23 +.PHONY: all-bindings
   57.24  all-bindings: perl-bindings python-bindings
   57.25  
   57.26  # The install-bindings target installs all the language bindings
   57.27 @@ -110,6 +113,7 @@ install-python-bindings: $(PYLIB) $(PYMO
   57.28  	$(INSTALL_PROG) $(PYMOD) $(DESTDIR)$(pythonlibdir)/xenstat.py
   57.29  
   57.30  ifeq ($(XENSTAT_PYTHON_BINDINGS),y)
   57.31 +.PHONY: all
   57.32  all: python-bindings
   57.33  install: install-python-bindings
   57.34  endif
   57.35 @@ -122,8 +126,10 @@ PERL_FLAGS=`perl -MConfig -e 'print "$$C
   57.36  $(PERLLIB): $(PERLSRC)
   57.37  	$(CC) $(CFLAGS) $(LDFLAGS) $(PERL_FLAGS) -shared -lxenstat -o $@ $<
   57.38  
   57.39 +.PHONY: perl-bindings
   57.40  perl-bindings: $(PERLLIB) $(PERLMOD)
   57.41  
   57.42 +.PHONY: install-perl-bindings
   57.43  perllibdir=$(prefix)/lib/perl5
   57.44  perlmoddir=$(prefix)/share/perl5
   57.45  install-perl-bindings: $(PERLLIB) $(PERLMOD)
   57.46 @@ -131,10 +137,14 @@ install-perl-bindings: $(PERLLIB) $(PERL
   57.47  	$(INSTALL_PROG) $(PERLMOD) $(DESTDIR)$(perlmoddir)/xenstat.pm
   57.48  
   57.49  ifeq ($(XENSTAT_PERL_BINDINGS),y)
   57.50 +.PHONY: all
   57.51  all: perl-bindings
   57.52 +
   57.53 +.PHONY: install
   57.54  install: install-perl-bindings
   57.55  endif
   57.56  
   57.57 +.PHONY: clean
   57.58  clean:
   57.59  	rm -f $(LIB) $(SHLIB) $(SHLIB_LINKS) $(OBJECTS) \
   57.60  	      $(BINDINGS) $(BINDINGSRC)
    58.1 --- a/tools/xenstat/xentop/Makefile	Mon Apr 10 16:36:38 2006 +0100
    58.2 +++ b/tools/xenstat/xentop/Makefile	Mon Apr 10 17:02:49 2006 +0100
    58.3 @@ -14,6 +14,7 @@ XEN_ROOT=../../..
    58.4  include $(XEN_ROOT)/tools/Rules.mk
    58.5  
    58.6  ifneq ($(XENSTAT_XENTOP),y)
    58.7 +.PHONY: all install xentop
    58.8  all install xentop:
    58.9  else
   58.10  
   58.11 @@ -30,15 +31,19 @@ CFLAGS += -DGCC_PRINTF -Wall -Werror -I$
   58.12  LDFLAGS += -L$(XEN_LIBXENSTAT)
   58.13  LDLIBS += -lxenstat -lncurses
   58.14  
   58.15 +.PHONY: all
   58.16  all: xentop
   58.17  
   58.18 +.PHONY: xentop
   58.19  xentop: xentop.o
   58.20  
   58.21 +.PHONY: install
   58.22  install: xentop xentop.1
   58.23  	$(INSTALL_PROG) xentop $(DESTDIR)$(sbindir)/xentop
   58.24  	$(INSTALL_DATA) xentop.1 $(DESTDIR)$(man1dir)/xentop.1
   58.25  
   58.26  endif
   58.27  
   58.28 +.PHONY: clean
   58.29  clean:
   58.30  	rm -f xentop xentop.o
    59.1 --- a/tools/xenstore/Makefile	Mon Apr 10 16:36:38 2006 +0100
    59.2 +++ b/tools/xenstore/Makefile	Mon Apr 10 17:02:49 2006 +0100
    59.3 @@ -27,11 +27,13 @@ CLIENTS := xenstore-exists xenstore-list
    59.4  CLIENTS += xenstore-write
    59.5  CLIENTS_OBJS := $(patsubst xenstore-%,xenstore_%.o,$(CLIENTS))
    59.6  
    59.7 +.PHONY: all
    59.8  all: libxenstore.so xenstored $(CLIENTS) xs_tdb_dump xenstore-control xenstore-ls
    59.9  
   59.10  test_interleaved_transactions: test_interleaved_transactions.o
   59.11  	$(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -L. -lxenstore -o $@
   59.12  
   59.13 +.PHONY: testcode
   59.14  testcode: xs_test xenstored_test xs_random
   59.15  
   59.16  xenstored: xenstored_core.o xenstored_watch.o xenstored_domain.o xenstored_transaction.o xs_lib.o talloc.o utils.o tdb.o hashtable.o
   59.17 @@ -55,14 +57,17 @@ xenstored_test: xenstored_core_test.o xe
   59.18  xs_tdb_dump: xs_tdb_dump.o utils.o tdb.o talloc.o
   59.19  	$(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -o $@
   59.20  
   59.21 +.PHONY: xs_test xs_random xs_stress xs_crashme
   59.22  xs_test xs_random xs_stress xs_crashme: LDFLAGS+=-lpthread
   59.23  xs_test: xs_test.o xs_lib.o utils.o
   59.24  xs_random: xs_random.o xs_test_lib.o xs_lib.o talloc.o utils.o
   59.25  xs_stress: xs_stress.o xs_test_lib.o xs_lib.o talloc.o utils.o
   59.26  xs_crashme: xs_crashme.o xs_lib.o talloc.o utils.o
   59.27  
   59.28 +.PHONY: speedtest
   59.29  speedtest: speedtest.o xs.o xs_lib.o utils.o talloc.o
   59.30  
   59.31 +.PHONY: check-speed
   59.32  check-speed: speedtest xenstored_test $(TESTDIR)
   59.33  	$(TESTENV) time ./speedtest 100
   59.34  
   59.35 @@ -80,6 +85,7 @@ talloc_test.o: talloc.c
   59.36  libxenstore.so: xs.opic xs_lib.opic
   59.37  	$(CC) $(CFLAGS) $(LDFLAGS) -Wl,-soname -Wl,libxenstore.so -shared -o $@ $^ -lpthread
   59.38  
   59.39 +.PHONY: clean
   59.40  clean: testsuite-clean
   59.41  	rm -f *.o *.opic *.so
   59.42  	rm -f xenstored xs_random xs_stress xs_crashme
   59.43 @@ -87,55 +93,69 @@ clean: testsuite-clean
   59.44  	rm -f $(CLIENTS)
   59.45  	$(RM) $(PROG_DEP)
   59.46  
   59.47 +.PHONY: print-dir
   59.48  print-dir:
   59.49  	@echo -n tools/xenstore: 
   59.50  
   59.51 +.PHONY: print-end
   59.52  print-end:
   59.53  	@echo
   59.54  
   59.55 +.PHONY: check
   59.56  check: print-dir testsuite-fast randomcheck-fast print-end
   59.57  
   59.58 +.PHONY: fullcheck
   59.59  fullcheck: testsuite-run randomcheck stresstest
   59.60  
   59.61  $(TESTDIR):
   59.62  	mkdir $@
   59.63  
   59.64 +.PHONY: testsuite-run
   59.65  testsuite-run: xenstored_test xs_test $(TESTDIR)
   59.66  	$(TESTENV) testsuite/test.sh && echo
   59.67  
   59.68 +.PHONY: testsuite-fast
   59.69  testsuite-fast: xenstored_test xs_test $(TESTDIR)
   59.70  	@$(TESTENV) testsuite/test.sh --fast
   59.71  
   59.72 +.PHONY: testsuite-clean
   59.73  testsuite-clean:
   59.74  	rm -rf $(TESTDIR)
   59.75  
   59.76  # Make this visible so they can see repeat tests without --fast if they
   59.77  # fail.
   59.78  RANDSEED=$(shell date +%s)
   59.79 +.PHONY: randomcheck
   59.80  randomcheck: xs_random xenstored_test $(TESTDIR)
   59.81  	$(TESTENV) ./xs_random --simple --fast /tmp/xs_random 200000 $(RANDSEED) && echo
   59.82  	$(TESTENV) ./xs_random --fast /tmp/xs_random 100000 $(RANDSEED) && echo
   59.83  #	$(TESTENV) ./xs_random --fail /tmp/xs_random 10000 $(RANDSEED)
   59.84  
   59.85 +.PHONY: crashme
   59.86  crashme:  xs_crashme xenstored_test $(TESTDIR)
   59.87  	rm -rf $(TESTDIR)/store $(TESTDIR)/transactions /tmp/xs_crashme.vglog* /tmp/trace
   59.88  	export $(TESTENV); ./xs_crashme 5000 $(RANDSEED) 2>/dev/null
   59.89  	if [ -n "`cat /tmp/xs_crashme.vglog*`" ]; then echo Valgrind complained; cat /tmp/xs_crashme.vglog*; exit 1; fi
   59.90  	rm -rf $(TESTDIR)/store $(TESTDIR)/transactions /tmp/xs_crashme.vglog* /tmp/trace
   59.91  
   59.92 +.PHONY: randomcheck-fast
   59.93  randomcheck-fast: xs_random xenstored_test $(TESTDIR)
   59.94  	@$(TESTENV) ./xs_random --fast /tmp/xs_random 2000 $(RANDSEED)
   59.95  
   59.96 +.PHONY: stresstest
   59.97  stresstest: xs_stress xenstored_test $(TESTDIR)
   59.98  	rm -rf $(TESTDIR)/store $(TESTDIR)/transactions
   59.99  	export $(TESTENV); PID=`./xenstored_test --output-pid --trace-file=/tmp/trace`; ./xs_stress 5000; ret=$$?; kill $$PID; exit $$ret
  59.100  
  59.101 +.PHONY: TAGS
  59.102  TAGS:
  59.103  	etags `find . -name '*.[ch]'`
  59.104  
  59.105 +.PHONY: tarball
  59.106  tarball: clean
  59.107  	cd .. && tar -c -j -v -h -f xenstore.tar.bz2 xenstore/
  59.108  
  59.109 +.PHONY: install
  59.110  install: all
  59.111  	$(INSTALL_DIR) -p $(DESTDIR)/var/run/xenstored
  59.112  	$(INSTALL_DIR) -p $(DESTDIR)/var/lib/xenstored
    60.1 --- a/tools/xentrace/Makefile	Mon Apr 10 16:36:38 2006 +0100
    60.2 +++ b/tools/xentrace/Makefile	Mon Apr 10 17:02:49 2006 +0100
    60.3 @@ -28,9 +28,13 @@ ifeq ($(XEN_TARGET_ARCH),x86_64)
    60.4  LIBBIN  += xenctx
    60.5  endif
    60.6  
    60.7 +.PHONY: all
    60.8  all: build
    60.9 +
   60.10 +.PHONY: build
   60.11  build: $(BIN) $(LIBBIN)
   60.12  
   60.13 +.PHONY: install
   60.14  install: build
   60.15  	[ -d $(DESTDIR)/usr/bin ] || $(INSTALL_DIR) $(DESTDIR)/usr/bin
   60.16  	[ -z "$(LIBBIN)" ] || [ -d $(DESTDIR)/usr/$(LIBDIR)/xen/bin ] || \
   60.17 @@ -44,6 +48,7 @@ install: build
   60.18  	$(INSTALL_DATA) $(MAN1) $(DESTDIR)/usr/share/man/man1
   60.19  	$(INSTALL_DATA) $(MAN8) $(DESTDIR)/usr/share/man/man8
   60.20  
   60.21 +.PHONY: clean
   60.22  clean:
   60.23  	$(RM) *.a *.so *.o *.rpm $(BIN) $(LIBBIN)
   60.24  
    61.1 --- a/xen/Makefile	Mon Apr 10 16:36:38 2006 +0100
    61.2 +++ b/xen/Makefile	Mon Apr 10 17:02:49 2006 +0100
    61.3 @@ -7,17 +7,21 @@ export XEN_FULLVERSION  := $(XEN_VERSION
    61.4  
    61.5  export BASEDIR := $(CURDIR)
    61.6  
    61.7 +.PHONY: default
    61.8  default: build
    61.9  
   61.10  ifeq ($(XEN_ROOT),)
   61.11  
   61.12 +.PHONY: build install clean
   61.13  build install clean:
   61.14  	make -f Rules.mk $@
   61.15  
   61.16  else
   61.17  
   61.18 +.PHONY: build
   61.19  build: $(TARGET).gz
   61.20  
   61.21 +.PHONY: install
   61.22  install: $(TARGET).gz
   61.23  	[ -d $(DESTDIR)/boot ] || $(INSTALL_DIR) $(DESTDIR)/boot
   61.24  	$(INSTALL_DATA) $(TARGET).gz $(DESTDIR)/boot/$(notdir $(TARGET))-$(XEN_FULLVERSION).gz
   61.25 @@ -31,6 +35,7 @@ install: $(TARGET).gz
   61.26  	$(INSTALL_DATA) include/public/io/*.h $(DESTDIR)/usr/include/xen/io
   61.27  	$(INSTALL_DATA) include/public/COPYING $(DESTDIR)/usr/include/xen
   61.28  
   61.29 +.PHONY: clean
   61.30  clean:: delete-unfresh-files
   61.31  	$(MAKE) -C tools clean
   61.32  	$(MAKE) -f $(BASEDIR)/Rules.mk -C common clean
   61.33 @@ -43,9 +48,11 @@ clean:: delete-unfresh-files
   61.34  
   61.35  endif
   61.36  
   61.37 +.PHONY: install
   61.38  dist: install
   61.39  
   61.40 -debug: FORCE
   61.41 +.PHONY: debug
   61.42 +debug:
   61.43  	objdump -D -S $(TARGET)-syms > $(TARGET).s
   61.44  
   61.45  $(TARGET).gz: $(TARGET)
   61.46 @@ -63,6 +70,7 @@ debug: FORCE
   61.47  
   61.48  # drivers/char/console.o contains static banner/compile info. Blow it away.
   61.49  # Don't refresh these files during e.g., 'sudo make install'
   61.50 +.PHONY: delete-unfresh-files
   61.51  delete-unfresh-files:
   61.52  	@if [ ! -r include/xen/compile.h -o -O include/xen/compile.h ]; then \
   61.53  		rm -f include/xen/{banner,compile}.h; \
   61.54 @@ -119,8 +127,6 @@ include/asm-$(TARGET_ARCH)/asm-offsets.h
   61.55  	  echo ""; \
   61.56  	  echo "#endif") <$< >$@
   61.57  
   61.58 -.PHONY: default debug build install dist clean delete-unfresh-files TAGS tags
   61.59 -
   61.60  SUBDIRS = acm arch/$(TARGET_ARCH) common drivers 
   61.61  define all_sources
   61.62      ( find include/asm-$(TARGET_ARCH) -name SCCS -prune -o -name '*.h' -print; \
   61.63 @@ -128,12 +134,20 @@ define all_sources
   61.64              -name config \) -prune -o -name '*.h' -print; \
   61.65        find $(SUBDIRS) -name SCCS -prune -o -name '*.[chS]' -print )
   61.66  endef
   61.67 +
   61.68 +.PHONY: TAGS
   61.69  TAGS: 
   61.70  	$(all_sources) | etags -
   61.71 +
   61.72 +.PHONY: tags
   61.73  tags: 
   61.74  	$(all_sources) | xargs ctags
   61.75 +
   61.76 +.PHONY: cscope
   61.77  cscope: 
   61.78  	$(all_sources) > cscope.files
   61.79  	cscope -k -b -q
   61.80 +
   61.81 +.PHONY: MAP
   61.82  MAP:
   61.83  	$(NM) $(TARGET) | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort > System.map
    62.1 --- a/xen/Rules.mk	Mon Apr 10 16:36:38 2006 +0100
    62.2 +++ b/xen/Rules.mk	Mon Apr 10 17:02:49 2006 +0100
    62.3 @@ -86,13 +86,15 @@ subdir-all := $(subdir-y) $(subdir-n)
    62.4  built_in.o: $(obj-y)
    62.5  	$(LD) $(LDFLAGS) -r -o $@ $^
    62.6  
    62.7 +# Force execution of pattern rules (for which PHONY cannot be directly used).
    62.8  .PHONY: FORCE
    62.9  FORCE:
   62.10  
   62.11  %/built_in.o: FORCE
   62.12  	$(MAKE) -f $(BASEDIR)/Rules.mk -C $* built_in.o
   62.13  
   62.14 -clean:: $(addprefix _clean_, $(subdir-all)) FORCE
   62.15 +.PHONY: clean
   62.16 +clean:: $(addprefix _clean_, $(subdir-all))
   62.17  	rm -f *.o *~ core
   62.18  _clean_%/: FORCE
   62.19  	$(MAKE) -f $(BASEDIR)/Rules.mk -C $* clean
    63.1 --- a/xen/arch/ia64/Makefile	Mon Apr 10 16:36:38 2006 +0100
    63.2 +++ b/xen/arch/ia64/Makefile	Mon Apr 10 17:02:49 2006 +0100
    63.3 @@ -75,7 +75,8 @@ xen.lds.s: xen/xen.lds.S
    63.4  	$(CC) -E $(CPPFLAGS) -P -DXEN $(AFLAGS) \
    63.5  		-o xen.lds.s xen/xen.lds.S
    63.6  
    63.7 -clean:: FORCE
    63.8 +.PHONY: clean
    63.9 +clean::
   63.10  	rm -f *.o *~ core  xen.lds.s $(BASEDIR)/include/asm-ia64/.offsets.h.stamp asm-offsets.s map.out
   63.11  	rm -f asm-xsi-offsets.s $(BASEDIR)/include/asm-ia64/asm-xsi-offsets.h
   63.12  	rm -f $(BASEDIR)/System.map
    64.1 --- a/xen/arch/ia64/tools/privop/Makefile	Mon Apr 10 16:36:38 2006 +0100
    64.2 +++ b/xen/arch/ia64/tools/privop/Makefile	Mon Apr 10 17:02:49 2006 +0100
    64.3 @@ -1,10 +1,13 @@
    64.4  CC=gcc
    64.5  CFLAGS=-O -Wall
    64.6  
    64.7 +.PHONY: all
    64.8  all: postat
    64.9  
   64.10 +.PHONY: postat
   64.11  postat: postat.c pohcalls.o
   64.12  
   64.13 +.PHONY: clean
   64.14  clean:
   64.15  	$(RM) -f *.o postat *.s *~
   64.16  
    65.1 --- a/xen/arch/x86/Makefile	Mon Apr 10 16:36:38 2006 +0100
    65.2 +++ b/xen/arch/x86/Makefile	Mon Apr 10 17:02:49 2006 +0100
    65.3 @@ -77,5 +77,6 @@ boot/mkelf32: boot/mkelf32.c
    65.4  
    65.5  shadow_guest32.o: shadow.c
    65.6  
    65.7 -clean:: FORCE
    65.8 +.PHONY: clean
    65.9 +clean::
   65.10  	rm -f asm-offsets.s xen.lds boot/*.o boot/*~ boot/core boot/mkelf32
    66.1 --- a/xen/tools/Makefile	Mon Apr 10 16:36:38 2006 +0100
    66.2 +++ b/xen/tools/Makefile	Mon Apr 10 17:02:49 2006 +0100
    66.3 @@ -1,13 +1,16 @@
    66.4  
    66.5  include $(BASEDIR)/../Config.mk
    66.6  
    66.7 +.PHONY: default
    66.8  default:
    66.9  	$(MAKE) -C figlet
   66.10  	$(MAKE) symbols
   66.11  
   66.12 +.PHONY: clean
   66.13  clean:
   66.14  	$(MAKE) -C figlet clean
   66.15  	rm -f *.o symbols
   66.16  
   66.17 +.PHONY: symbols
   66.18  symbols: symbols.c
   66.19  	$(HOSTCC) $(HOSTCFLAGS) -o $@ $<
    67.1 --- a/xen/tools/figlet/Makefile	Mon Apr 10 16:36:38 2006 +0100
    67.2 +++ b/xen/tools/figlet/Makefile	Mon Apr 10 17:02:49 2006 +0100
    67.3 @@ -4,5 +4,6 @@ include $(BASEDIR)/../Config.mk
    67.4  figlet: figlet.c
    67.5  	$(HOSTCC) -o $@ $<
    67.6  
    67.7 +.PHONY: clean
    67.8  clean:
    67.9  	rm -f *.o figlet