bitkeeper revision 1.1159.234.1 (41f9203a3hESfmWBG29VVoqa-chOrA)
authorcl349@arcadians.cl.cam.ac.uk <cl349@arcadians.cl.cam.ac.uk>
Thu, 27 Jan 2005 17:09:14 +0000 (17:09 +0000)
committercl349@arcadians.cl.cam.ac.uk <cl349@arcadians.cl.cam.ac.uk>
Thu, 27 Jan 2005 17:09:14 +0000 (17:09 +0000)
Build system cleanups.

Signed-off-by: c@pin.lu
Makefile
linux-2.6.10-xen-sparse/arch/xen/Kconfig
tools/examples/Makefile
tools/libxc/Makefile
tools/libxutil/Makefile
tools/misc/Makefile
tools/misc/miniterm/Makefile
tools/sv/Makefile
tools/xentrace/Makefile
tools/xfrd/Makefile
xen/Makefile

index 1c8ee8dc8ae7a35ee0f070cb0f66e8b6705aa146..b7229fc9a779202209674013fab26aae1ca5f40d 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -11,7 +11,7 @@ INSTALL_DIR   := $(INSTALL) -d -m0755
 INSTALL_DATA   := $(INSTALL) -m0644
 INSTALL_PROG   := $(INSTALL) -m0755
 
-KERNELS ?= *2.6*
+KERNELS ?= linux-2.6-xen0 linux-2.6-xenU
 # linux-2.4-xen0 linux-2.4-xenU netbsd-2.0-xenU
 # You may use wildcards in the above e.g. KERNELS=*2.4*
 
@@ -30,20 +30,12 @@ endif
 include buildconfigs/Rules.mk
 
 .PHONY:        all dist install xen tools kernels docs world clean mkpatches mrproper
-.PHONY:        kbuild kdelete kclean install-tools install-xen install-docs
-.PHONY: install-kernels
+.PHONY:        kbuild kdelete kclean
 
 all: dist
 
-# install everything into the standard system directories
-# NB: install explicitly does not check that everything is up to date!
-install: DESTDIR=
-install: xen checked-tools kernels docs
-
-# Only check for install req'mts on 'make install', not on 'make dist'.
-checked-tools:
-       $(MAKE) -C tools/check install
-       $(MAKE) -C tools install
+# build and install everything into the standard system directories
+install: install-xen install-tools install-kernels install-docs
 
 # build and install everything into local dist directory
 dist: xen tools kernels docs
@@ -118,9 +110,17 @@ install-iptables:
        tar -jxf iptables-1.2.11.tar.bz2
        $(MAKE) -C iptables-1.2.11 PREFIX= KERNEL_DIR=../linux-$(LINUX_VER)-xen0 install
 
+install-%: DESTDIR=
+install-%: %
+       @: # do nothing
+
 help:
        @echo 'Installation targets:'
        @echo '  install          - build and install everything'
+       @echo '  install-xen      - build and install the Xen hypervisor'
+       @echo '  install-tools    - build and install the control tools'
+       @echo '  install-kernels  - build and install guest kernels'
+       @echo '  install-docs     - build and install documentation'
        @echo ''
        @echo 'Building targets:'
        @echo '  dist             - build and install everything into local dist directory'
@@ -178,3 +178,4 @@ linux26:
 
 netbsd20:
        $(MAKE) netbsd-2.0-xenU-build
+
index cfc3ea04c4f92ac2ecbedd1368c6258a43bb7302..27eac46739ece9d78d6203e49c4b1ce012a8e019 100644 (file)
@@ -26,7 +26,7 @@ menu "XEN"
 config XEN_PRIVILEGED_GUEST
        bool "Privileged Guest (domain 0)"
        default n
-        select XEN_PHYSDEV_ACCESS
+       select XEN_PHYSDEV_ACCESS
        help
          Support for privileged operation (domain 0)
 
@@ -35,91 +35,91 @@ config XEN_PHYSDEV_ACCESS
        default XEN_PRIVILEGED_GUEST
        help
          Assume access is available to physical hardware devices
-          (e.g., hard drives, network cards). This allows you to configure
-          such devices and also includes some low-level support that is
-          otherwise not compiled into the kernel.
+         (e.g., hard drives, network cards). This allows you to configure
+         such devices and also includes some low-level support that is
+         otherwise not compiled into the kernel.
 
 config XEN_BLKDEV_BACKEND
-        bool "Block-device backend driver"
-      depends on XEN_PHYSDEV_ACCESS
-        default y
-        help
-          The block-device backend driver allows the kernel to export its
-          block devices to other guests via a high-performance shared-memory
-          interface.
+       bool "Block-device backend driver"
+       depends on XEN_PHYSDEV_ACCESS
+       default y
+       help
+         The block-device backend driver allows the kernel to export its
+         block devices to other guests via a high-performance shared-memory
+         interface.
 
 config XEN_NETDEV_BACKEND
-        bool "Network-device backend driver"
-      depends on XEN_PHYSDEV_ACCESS
-        default y
-        help
-          The network-device backend driver allows the kernel to export its
-          network devices to other guests via a high-performance shared-memory
-          interface.
+       bool "Network-device backend driver"
+       depends on XEN_PHYSDEV_ACCESS
+       default y
+       help
+         The network-device backend driver allows the kernel to export its
+         network devices to other guests via a high-performance shared-memory
+         interface.
 
 config XEN_BLKDEV_FRONTEND
-        bool "Block-device frontend driver"
-        default y
-        help
-          The block-device frontend driver allows the kernel to access block
-          devices mounted within another guest OS. Unless you are building a
-          dedicated device-driver domain, or your master control domain
-          (domain 0), then you almost certainly want to say Y here.
+       bool "Block-device frontend driver"
+       default y
+       help
+         The block-device frontend driver allows the kernel to access block
+         devices mounted within another guest OS. Unless you are building a
+         dedicated device-driver domain, or your master control domain
+         (domain 0), then you almost certainly want to say Y here.
 
 config XEN_NETDEV_FRONTEND
-        bool "Network-device frontend driver"
-        default y
-        help
-          The network-device frontend driver allows the kernel to access
-          network interfaces within another guest OS. Unless you are building a
-          dedicated device-driver domain, or your master control domain
-          (domain 0), then you almost certainly want to say Y here.
+       bool "Network-device frontend driver"
+       default y
+       help
+         The network-device frontend driver allows the kernel to access
+         network interfaces within another guest OS. Unless you are building a
+         dedicated device-driver domain, or your master control domain
+         (domain 0), then you almost certainly want to say Y here.
 
 config XEN_NETDEV_FRONTEND_PIPELINED_TRANSMITTER
-        bool "Pipelined transmitter (DANGEROUS)"
+       bool "Pipelined transmitter (DANGEROUS)"
        depends on XEN_NETDEV_FRONTEND
-        default n
-        help
-          The driver will assume that the backend is pipelining packets for
-          transmission: whenever packets are pending in the remote backend,
-          the driver will not send asynchronous notifications when it queues
-          additional packets for transmission.
-          If the backend is a dumb domain, such as a transparent Ethernet
-          bridge with no local IP interface, it is safe to say Y here to get
-          slightly lower network overhead.
-          If the backend has a local IP interface; or may be doing smart things
-          like reassembling packets to perform firewall filtering; or if you
-          are unsure; or if you experience network hangs when this option is
-          enabled; then you must say N here.
+       default n
+       help
+         The driver will assume that the backend is pipelining packets for
+         transmission: whenever packets are pending in the remote backend,
+         the driver will not send asynchronous notifications when it queues
+         additional packets for transmission.
+         If the backend is a dumb domain, such as a transparent Ethernet
+         bridge with no local IP interface, it is safe to say Y here to get
+         slightly lower network overhead.
+         If the backend has a local IP interface; or may be doing smart things
+         like reassembling packets to perform firewall filtering; or if you
+         are unsure; or if you experience network hangs when this option is
+         enabled; then you must say N here.
 
 config XEN_WRITABLE_PAGETABLES
        bool
        default y
 
 config XEN_SCRUB_PAGES
-        bool "Scrub memory before freeing it to Xen"
-        default y
-        help
-          Erase memory contents before freeing it back to Xen's global
-          pool. This ensures that any secrets contained within that
-          memory (e.g., private keys) cannot be found by other guests that
-          may be running on the machine. Most people will want to say Y here.
-          If security is not a concern then you may increase performance by
-          saying N.
+       bool "Scrub memory before freeing it to Xen"
+       default y
+       help
+         Erase memory contents before freeing it back to Xen's global
+         pool. This ensures that any secrets contained within that
+         memory (e.g., private keys) cannot be found by other guests that
+         may be running on the machine. Most people will want to say Y here.
+         If security is not a concern then you may increase performance by
+         saying N.
 
 choice
-        prompt "Processor Type"
-        default X86
+       prompt "Processor Type"
+       default X86
 
 config X86
-        bool "X86"
-        help
-          Choose this option if your computer is a X86 architecture.
+       bool "X86"
+       help
+         Choose this option if your computer is a X86 architecture.
 
 config X86_64
-        bool "X86_64"
-        help
-          Choose this option if your computer is a X86 architecture.
+       bool "X86_64"
+       help
+         Choose this option if your computer is a X86 architecture.
 
 endchoice
 
index cc9ebbc50e3a7b9fd9e5d244424e8d8e170b250b..72c1f610eb97007ddb73e694a30bfc4790a34406 100644 (file)
@@ -25,20 +25,23 @@ all:
 install: all install-initd install-configs install-scripts
 
 install-initd:
-       $(INSTALL_DIR) $(DESTDIR)/etc/init.d
+       [ -d $(DESTDIR)/etc/init.d ] || $(INSTALL_DIR) $(DESTDIR)/etc/init.d
        $(INSTALL_PROG) $(XEND_INITD) $(DESTDIR)/etc/init.d
        $(INSTALL_PROG) $(XENDOMAINS_INITD) $(DESTDIR)/etc/init.d
 
 install-configs:
-       $(INSTALL_DIR) $(DESTDIR)$(XEN_CONFIG_DIR)
-       $(INSTALL_DIR) $(DESTDIR)$(XEN_CONFIG_DIR)/auto
+       [ -d $(DESTDIR)$(XEN_CONFIG_DIR) ] || \
+               $(INSTALL_DIR) $(DESTDIR)$(XEN_CONFIG_DIR)
+       [ -d $(DESTDIR)$(XEN_CONFIG_DIR)/auto ] || \
+               $(INSTALL_DIR) $(DESTDIR)$(XEN_CONFIG_DIR)/auto
        for i in $(XEN_CONFIGS); \
            do [ -a $(DESTDIR)$(XEN_CONFIG_DIR)/$$i ] || \
            $(INSTALL_DATA) $$i $(DESTDIR)$(XEN_CONFIG_DIR); \
        done
 
 install-scripts:
-       $(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR)
+       [ -d $(DESTDIR)$(XEN_SCRIPT_DIR) ] || \
+               $(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR)
        for i in $(XEN_SCRIPTS); \
            do [ -a $(DESTDIR)$(XEN_SCRIPT_DIR)/$$i ] || \
            $(INSTALL_PROG) $$i $(DESTDIR)$(XEN_SCRIPT_DIR); \
index d25e653467a314ecc237b918dbc25efd718bb175..e27556349ebc385ac0f33a2dd1dadb0623956c27 100644 (file)
@@ -66,8 +66,8 @@ mk-symlinks:
          ln -sf ../../$(LINUX_ROOT)/include/asm-xen/linux-public/*.h . )
 
 install: all
-       $(INSTALL_DIR) $(DESTDIR)/usr/lib
-       $(INSTALL_DIR) $(DESTDIR)/usr/include
+       [ -d $(DESTDIR)/usr/lib ] || $(INSTALL_DIR) $(DESTDIR)/usr/lib
+       [ -d $(DESTDIR)/usr/include ] || $(INSTALL_DIR) $(DESTDIR)/usr/include
        $(INSTALL_PROG) $(LIB) $(DESTDIR)/usr/lib
        ln -sf libxc.so.$(MAJOR).$(MINOR) $(DESTDIR)/usr/lib/libxc.so.$(MAJOR)
        ln -sf libxc.so.$(MAJOR) $(DESTDIR)/usr/lib/libxc.so
index 67cfbe08fdc56ded7d607e8efb2b386d93bc5786..70d2a02c1986c38e71762dfa46329e9cad5cc550 100644 (file)
@@ -63,7 +63,7 @@ check-for-zlib:
        fi
 
 install: all
-       $(INSTALL_DIR) -p $(DESTDIR)/usr/lib
+       [ -d $(DESTDIR)/usr/lib ] || $(INSTALL_DIR) -p $(DESTDIR)/usr/lib
        $(INSTALL_PROG) $(LIB) $(DESTDIR)/usr/lib
        ln -sf $(LIB_NAME).so.$(MAJOR).$(MINOR) $(DESTDIR)/usr/lib/$(LIB_NAME).so.$(MAJOR)
        ln -sf $(LIB_NAME).so.$(MAJOR) $(DESTDIR)/usr/lib/$(LIB_NAME).so
index b339e300dbe03eaa50db7eda5febb9f647f874a5..4cfc16f58ec345ca1f28b1bc8919180ab67727d1 100644 (file)
@@ -23,8 +23,8 @@ all: $(TARGETS)
        $(MAKE) -C miniterm
 
 install: all
-       $(INSTALL_DIR) $(DESTDIR)/usr/bin
-       $(INSTALL_DIR) $(DESTDIR)/usr/sbin
+       [ -d $(DESTDIR)/usr/bin ] || $(INSTALL_DIR) $(DESTDIR)/usr/bin
+       [ -d $(DESTDIR)/usr/sbin ] || $(INSTALL_DIR) $(DESTDIR)/usr/sbin
        $(INSTALL_PROG) $(INSTALL_BIN) $(DESTDIR)/usr/bin
        $(INSTALL_PROG) $(INSTALL_SBIN) $(DESTDIR)/usr/sbin
 #       No sense in installing miniterm on the Xen box.
index e85ee3738ea395920ebbd84aefbeb92046e0eb4c..4051eb61de62fc71d0e6f1973bb4b32121083a5f 100644 (file)
@@ -9,7 +9,7 @@ TARGET = miniterm
 all: $(TARGET)
 
 install: all
-       $(INSTALL_DIR) $(DESTDIR)/usr/bin
+       [ -d $(DESTDIR)/usr/bin ] || $(INSTALL_DIR) $(DESTDIR)/usr/bin
        $(INSTALL_PROG) $(TARGET) $(DESTDIR)/usr/bin
 
 clean:
index c2b4e92dfcd05c267977f70af5dfa7a269613cf5..4da91e0674b34ce6253d13bfc037616b236fc71c 100755 (executable)
@@ -17,15 +17,17 @@ IMAGES      += next.png previous.png finish.png
 
 install:
        # copy XenSV Main.rpy file
-       @$(INSTALL_DIR) $(DESTDIR)$(sv_insdir)
+       @[ -d $(DESTDIR)$(sv_insdir) ] || $(INSTALL_DIR) $(DESTDIR)$(sv_insdir)
        @$(INSTALL_DATA) Main.rpy $(DESTDIR)$(sv_insdir)
 
        # copy XenSV images
-       @$(INSTALL_DIR) $(DESTDIR)$(sv_insdir)/images
+       @[ -d $(DESTDIR)$(sv_insdir)/images ] || \
+               $(INSTALL_DIR) $(DESTDIR)$(sv_insdir)/images
        @(cd images && $(INSTALL_DATA) $(IMAGES) $(DESTDIR)$(sv_insdir)/images)
 
        # copy XenSV stylesheet
-       @$(INSTALL_DIR) $(DESTDIR)$(sv_insdir)/inc
+       @[ -d $(DESTDIR)$(sv_insdir)/inc ] || \
+               $(INSTALL_DIR) $(DESTDIR)$(sv_insdir)/inc
        @$(INSTALL_DATA) inc/style.css inc/script.js $(DESTDIR)$(sv_insdir)/inc
 
 clean:
index 5fe6a9d61dfc0b99e4d9181187570526f91b66f4..5ed26cf795a1f9a4a8f41145ccf1f18b580d3815 100644 (file)
@@ -24,9 +24,11 @@ MAN8     = $(wildcard *.8)
 all: $(BIN)
 
 install: all
-       $(INSTALL_DIR) $(DESTDIR)/usr/bin
-       $(INSTALL_DIR) $(DESTDIR)/usr/man/man1
-       $(INSTALL_DIR) $(DESTDIR)/usr/man/man8
+       [ -d $(DESTDIR)/usr/bin ] || $(INSTALL_DIR) $(DESTDIR)/usr/bin
+       [ -d $(DESTDIR)/usr/man/man1 ] || \
+               $(INSTALL_DIR) $(DESTDIR)/usr/man/man1
+       [ -d $(DESTDIR)/usr/man/man8 ] || \
+               $(INSTALL_DIR) $(DESTDIR)/usr/man/man8
        $(INSTALL_PROG) $(BIN) $(SCRIPTS) $(DESTDIR)/usr/bin
        $(INSTALL_DATA) $(MAN1) $(DESTDIR)/usr/man/man1
        $(INSTALL_DATA) $(MAN8) $(DESTDIR)/usr/man/man8
index e98675514040d28a85f432141aa3684c53833a4f..4cdc810e95f2f3b9eeb39a5264bdb329a68a5313 100644 (file)
@@ -70,7 +70,8 @@ xfrd: $(XFRD_PROG_OBJ)
 
 .PHONY: install
 install: xfrd
-       $(INSTALL_DIR) $(DESTDIR)$(XFRD_INSTALL_DIR)
+       [ -d $(DESTDIR)$(XFRD_INSTALL_DIR) ] || \
+               $(INSTALL_DIR) $(DESTDIR)$(XFRD_INSTALL_DIR)
        $(INSTALL_PROG) xfrd $(DESTDIR)$(XFRD_INSTALL_DIR)
 
 .PHONY: libutil
index 2a84ca6835df89e39b5d1bc07ed32781f7bf2887..42f0ffafb0a866180d501069705107e7b5e30de2 100644 (file)
@@ -21,10 +21,11 @@ debug:
        objdump -D -S $(TARGET)-syms > $(TARGET).s
 
 install: $(TARGET).gz
-       $(INSTALL_DIR) $(DESTDIR)/boot
+       [ -d $(DESTDIR)/boot ] || $(INSTALL_DIR) $(DESTDIR)/boot
        $(INSTALL_DATA) $(TARGET).gz $(DESTDIR)/boot
        $(INSTALL_DATA) $(TARGET)-syms $(DESTDIR)/boot
-       $(INSTALL_DIR) $(DESTDIR)/usr/include/xen/io
+       [ -d $(DESTDIR)/usr/include/xen/io ] || \
+               $(INSTALL_DIR) $(DESTDIR)/usr/include/xen/io
        $(INSTALL_DATA) include/public/*.h $(DESTDIR)/usr/include/xen
        $(INSTALL_DATA) include/public/io/*.h $(DESTDIR)/usr/include/xen/io
        $(INSTALL_DATA) include/public/COPYING $(DESTDIR)/usr/include/xen