aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoriap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk>2005-01-22 22:03:34 +0000
committeriap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk>2005-01-22 22:03:34 +0000
commitd2f5d53621f141ce1be63eeeae4a8a9e289498d8 (patch)
tree206f20e7e561bfdab882dacb13aab906755e6cf0
parent84a280c8928e988f7e8fac3fe69f1b1e67d95da5 (diff)
downloadxen-d2f5d53621f141ce1be63eeeae4a8a9e289498d8.tar.gz
xen-d2f5d53621f141ce1be63eeeae4a8a9e289498d8.tar.bz2
xen-d2f5d53621f141ce1be63eeeae4a8a9e289498d8.zip
bitkeeper revision 1.1159.223.26 (41f2cdb6LNpheOtPoAKEUn-czlZFig)
Description: use DESTDIR correctly Standard makefiles always attempt to install to the root(/). Setting DESTDIR is the normal way to install to an alternative location. Setting prefix has the possibility of breaking programs, as the prefix may have been embedded inside a compiled binary. From: Adam Heath <doogie@brainfood.com> Signed-off-by: ian.pratt@cl.cam.ac.uk
-rw-r--r--Makefile11
-rw-r--r--buildconfigs/mk.linux-2.4-xen04
-rw-r--r--buildconfigs/mk.linux-2.4-xenU4
-rw-r--r--buildconfigs/mk.linux-2.6-xen04
-rw-r--r--buildconfigs/mk.linux-2.6-xenU4
-rw-r--r--docs/Makefile13
-rw-r--r--tools/examples/Makefile20
-rw-r--r--tools/libxc/Makefile12
-rw-r--r--tools/libxutil/Makefile8
-rw-r--r--tools/misc/Makefile8
-rw-r--r--tools/misc/miniterm/Makefile4
-rw-r--r--tools/python/Makefile6
-rwxr-xr-xtools/sv/Makefile14
-rw-r--r--tools/xentrace/Makefile12
-rw-r--r--tools/xfrd/Makefile4
-rw-r--r--xen/Makefile20
16 files changed, 77 insertions, 71 deletions
diff --git a/Makefile b/Makefile
index 230af6db05..2e7d05cd19 100644
--- a/Makefile
+++ b/Makefile
@@ -2,8 +2,9 @@
# Grand Unified Makefile for Xen.
#
-DIST_DIR ?= $(shell pwd)/dist
-INSTALL_DIR ?= $(DIST_DIR)/install
+DIST_DIR := $(CURDIR)/dist
+DESTDIR := $(DIST_DIR)/install
+
INSTALL := install
INSTALL_DIR := $(INSTALL) -d -m0755
INSTALL_DATA := $(INSTALL) -m0644
@@ -18,7 +19,7 @@ ALLSPARSETREES = $(patsubst %-xen-sparse,%,$(wildcard *-xen-sparse))
XKERNELS := $(foreach kernel, $(KERNELS), $(patsubst buildconfigs/mk.%,%,$(wildcard buildconfigs/mk.$(kernel))) )
-export INSTALL_DIR
+export DESTDIR
include buildconfigs/Rules.mk
@@ -56,10 +57,10 @@ dist: xen.dist tools.dist kernels docs.install
$(INSTALL_PROG) tools/check/chk tools/check/check_* $(DIST_DIR)/check
xen:
- $(MAKE) prefix=$(INSTALL_DIR) dist=yes -C xen install
+ $(MAKE) dist=yes -C xen install
tools:
- $(MAKE) prefix=$(INSTALL_DIR) dist=yes -C tools install
+ $(MAKE) dist=yes -C tools install
kernels: $(addsuffix -build,$(XKERNELS))
diff --git a/buildconfigs/mk.linux-2.4-xen0 b/buildconfigs/mk.linux-2.4-xen0
index e4a4537bc5..c4f7fc359a 100644
--- a/buildconfigs/mk.linux-2.4-xen0
+++ b/buildconfigs/mk.linux-2.4-xen0
@@ -15,9 +15,9 @@ include buildconfigs/Rules.mk
build: $(LINUX_DIR)/include/linux/autoconf.h
if grep "^CONFIG_MODULES=" $(LINUX_DIR)/.config ; then \
$(MAKE) -C $(LINUX_DIR) ARCH=xen modules ; \
- $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_MOD_PATH=$(INSTALL_DIR) modules_install ; \
+ $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_MOD_PATH=$(DESTDIR) modules_install ; \
fi
- $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(INSTALL_DIR) install
+ $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(DESTDIR) install
patches/tmp/ebtables.diff:
mkdir -p patches/tmp
diff --git a/buildconfigs/mk.linux-2.4-xenU b/buildconfigs/mk.linux-2.4-xenU
index 86d38bb9d5..1c589faba2 100644
--- a/buildconfigs/mk.linux-2.4-xenU
+++ b/buildconfigs/mk.linux-2.4-xenU
@@ -15,9 +15,9 @@ include buildconfigs/Rules.mk
build: $(LINUX_DIR)/include/linux/autoconf.h
if grep "^CONFIG_MODULES=" $(LINUX_DIR)/.config ; then \
$(MAKE) -C $(LINUX_DIR) ARCH=xen modules ; \
- $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_MOD_PATH=$(INSTALL_DIR) modules_install ; \
+ $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_MOD_PATH=$(DESTDIR) modules_install ; \
fi
- $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(INSTALL_DIR) install
+ $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(DESTDIR) install
$(LINUX_DIR)/include/linux/autoconf.h: pristine-linux-$(LINUX_VER)
rm -rf $(LINUX_DIR)
diff --git a/buildconfigs/mk.linux-2.6-xen0 b/buildconfigs/mk.linux-2.6-xen0
index 82179c6c74..eda5bb46d8 100644
--- a/buildconfigs/mk.linux-2.6-xen0
+++ b/buildconfigs/mk.linux-2.6-xen0
@@ -15,9 +15,9 @@ include buildconfigs/Rules.mk
build: $(LINUX_DIR)/include/linux/autoconf.h
if grep "^CONFIG_MODULES=" $(LINUX_DIR)/.config ; then \
$(MAKE) -C $(LINUX_DIR) ARCH=xen modules ; \
- $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_MOD_PATH=$(INSTALL_DIR) modules_install ; \
+ $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_MOD_PATH=$(DESTDIR) modules_install ; \
fi
- $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(INSTALL_DIR) install
+ $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(DESTDIR) install
$(LINUX_DIR)/include/linux/autoconf.h: pristine-linux-$(LINUX_VER)
rm -rf $(LINUX_DIR)
diff --git a/buildconfigs/mk.linux-2.6-xenU b/buildconfigs/mk.linux-2.6-xenU
index fa6e1109b3..ff6b47ff29 100644
--- a/buildconfigs/mk.linux-2.6-xenU
+++ b/buildconfigs/mk.linux-2.6-xenU
@@ -15,9 +15,9 @@ include buildconfigs/Rules.mk
build: $(LINUX_DIR)/include/linux/autoconf.h
if grep "^CONFIG_MODULES=" $(LINUX_DIR)/.config ; then \
$(MAKE) -C $(LINUX_DIR) ARCH=xen modules ; \
- $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_MOD_PATH=$(INSTALL_DIR) modules_install ; \
+ $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_MOD_PATH=$(DESTDIR) modules_install ; \
fi
- $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(INSTALL_DIR) install
+ $(MAKE) -C $(LINUX_DIR) ARCH=xen INSTALL_PATH=$(DESTDIR) install
$(LINUX_DIR)/include/linux/autoconf.h: pristine-linux-$(LINUX_VER)
rm -rf $(LINUX_DIR)
diff --git a/docs/Makefile b/docs/Makefile
index e0b15b35a6..46c2d38c59 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -11,7 +11,8 @@ TGIF := tgif
LATEX2HTML := latex2html
package = xen
-docdir = /usr/share/doc
+prefix = /usr
+docdir = $(prefix)/share/doc
pkgdocdir = $(docdir)/$(package)
DOC_TEX := $(wildcard src/*.tex)
@@ -37,11 +38,11 @@ clean:
rm -rf $(GFX) ps pdf html
install: all
- rm -rf $(prefix)$(pkgdocdir)
- $(INSTALL_DIR) $(prefix)$(pkgdocdir)
- cp -dR ps $(prefix)$(pkgdocdir)
- cp -dR pdf $(prefix)$(pkgdocdir)
- cp -dR html $(prefix)$(pkgdocdir)
+ rm -rf $(DESTDIR)$(pkgdocdir)
+ $(INSTALL_DIR) $(DESTDIR)$(pkgdocdir)
+ cp -dR ps $(DESTDIR)$(pkgdocdir)
+ cp -dR pdf $(DESTDIR)$(pkgdocdir)
+ cp -dR html $(DESTDIR)$(pkgdocdir)
pdf/%.pdf: ps/%.ps
$(INSTALL_DIR) $(@D)
diff --git a/tools/examples/Makefile b/tools/examples/Makefile
index b19b9710ba..0fb4950476 100644
--- a/tools/examples/Makefile
+++ b/tools/examples/Makefile
@@ -25,23 +25,23 @@ all:
install: all install-initd install-configs install-scripts
install-initd:
- $(INSTALL_DIR) $(prefix)/etc/init.d
- $(INSTALL_PROG) $(XEND_INITD) $(prefix)/etc/init.d
- $(INSTALL_PROG) $(XENDOMAINS_INITD) $(prefix)/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) $(prefix)$(XEN_CONFIG_DIR)
- $(INSTALL_DIR) $(prefix)$(XEN_CONFIG_DIR)/auto
+ $(INSTALL_DIR) $(DESTDIR)$(XEN_CONFIG_DIR)
+ $(INSTALL_DIR) $(DESTDIR)$(XEN_CONFIG_DIR)/auto
for i in $(XEN_CONFIGS); \
- do [ -a $(prefix)/$(XEN_CONFIG_DIR)/$$i ] || \
- $(INSTALL_DATA) $$i $(prefix)$(XEN_CONFIG_DIR); \
+ do [ -a $(DESTDIR)/$(XEN_CONFIG_DIR)/$$i ] || \
+ $(INSTALL_DATA) $$i $(DESTDIR)$(XEN_CONFIG_DIR); \
done
install-scripts:
- $(INSTALL_DIR) $(prefix)$(XEN_SCRIPT_DIR)
+ $(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR)
for i in $(XEN_SCRIPTS); \
- do [ -a $(prefix)/$()/$$i ] || \
- $(INSTALL_PROG) $$i $(prefix)$(XEN_SCRIPT_DIR); \
+ do [ -a $(DESTDIR)/$()/$$i ] || \
+ $(INSTALL_PROG) $$i $(DESTDIR)$(XEN_SCRIPT_DIR); \
done
clean:
diff --git a/tools/libxc/Makefile b/tools/libxc/Makefile
index c77b5c2767..20714e0452 100644
--- a/tools/libxc/Makefile
+++ b/tools/libxc/Makefile
@@ -68,12 +68,12 @@ mk-symlinks:
ln -sf ../../$(LINUX_ROOT)/include/asm-xen/linux-public/*.h . )
install: all
- $(INSTALL_DIR) $(prefix)/usr/lib
- $(INSTALL_DIR) $(prefix)/usr/include
- $(INSTALL_PROG) $(LIB) $(prefix)/usr/lib
- ln -sf $(LIB_NAME).so.$(MAJOR).$(MINOR) $(prefix)/usr/lib/$(LIB_NAME).so.$(MAJOR)
- ln -sf $(LIB_NAME).so.$(MAJOR) $(prefix)/usr/lib/$(LIB_NAME).so
- $(INSTALL_DATA) xc.h $(prefix)/usr/include
+ $(INSTALL_DIR) $(DESTDIR)/usr/lib
+ $(INSTALL_DIR) $(DESTDIR)/usr/include
+ $(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
+ $(INSTALL_DATA) xc.h $(DESTDIR)/usr/include
clean:
rm -rf *.a *.so *.o *.opic *.rpm $(LIB) *~ $(DEPS) xen
diff --git a/tools/libxutil/Makefile b/tools/libxutil/Makefile
index f576251224..9efb826b0b 100644
--- a/tools/libxutil/Makefile
+++ b/tools/libxutil/Makefile
@@ -72,10 +72,10 @@ check-for-zlib:
fi
install: all
- $(INSTALL_DIR) -p $(prefix)/usr/lib
- $(INSTALL_PROG) $(LIB) $(prefix)/usr/lib
- ln -sf $(LIB_NAME).so.$(MAJOR).$(MINOR) $(prefix)/usr/lib/$(LIB_NAME).so.$(MAJOR)
- ln -sf $(LIB_NAME).so.$(MAJOR) $(prefix)/usr/lib/$(LIB_NAME).so
+ $(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
clean:
$(RM) *.a *.so *.so.* *.o *.opic *.rpm
diff --git a/tools/misc/Makefile b/tools/misc/Makefile
index ab67ba8198..84166c72fc 100644
--- a/tools/misc/Makefile
+++ b/tools/misc/Makefile
@@ -23,10 +23,10 @@ all: $(TARGETS)
$(MAKE) -C miniterm
install: all
- $(INSTALL_DIR) $(prefix)/usr/bin
- $(INSTALL_DIR) $(prefix)/usr/sbin
- $(INSTALL_PROG) $(INSTALL_BIN) $(prefix)/usr/bin
- $(INSTALL_PROG) $(INSTALL_SBIN) $(prefix)/usr/sbin
+ $(INSTALL_DIR) $(DESTDIR)/usr/bin
+ $(INSTALL_DIR) $(DESTDIR)/usr/sbin
+ $(INSTALL_PROG) $(INSTALL_BIN) $(DESTDIR)/usr/bin
+ $(INSTALL_PROG) $(INSTALL_SBIN) $(DESTDIR)/usr/sbin
$(MAKE) -C miniterm install
clean:
diff --git a/tools/misc/miniterm/Makefile b/tools/misc/miniterm/Makefile
index fbe4a5bcee..e85ee3738e 100644
--- a/tools/misc/miniterm/Makefile
+++ b/tools/misc/miniterm/Makefile
@@ -9,8 +9,8 @@ TARGET = miniterm
all: $(TARGET)
install: all
- $(INSTALL_DIR) $(prefix)/usr/bin
- $(INSTALL_PROG) $(TARGET) $(prefix)/usr/bin
+ $(INSTALL_DIR) $(DESTDIR)/usr/bin
+ $(INSTALL_PROG) $(TARGET) $(DESTDIR)/usr/bin
clean:
$(RM) *.o $(TARGET) *~
diff --git a/tools/python/Makefile b/tools/python/Makefile
index a3f4face53..9d39bd85b4 100644
--- a/tools/python/Makefile
+++ b/tools/python/Makefile
@@ -3,7 +3,11 @@ all:
python setup.py build
install: all
- python setup.py install --home="$(prefix)/usr"
+ if [ "$(DESTDIR)" = "" ]; then \
+ python setup.py install; \
+ else \
+ python setup.py install --root="$(DESTDIR)"; \
+ fi
clean:
rm -rf build *.pyc *.pyo *.o *.a *~
diff --git a/tools/sv/Makefile b/tools/sv/Makefile
index dc47b71e09..c2b4e92dfc 100755
--- a/tools/sv/Makefile
+++ b/tools/sv/Makefile
@@ -1,4 +1,4 @@
-sv_insdir := $(prefix)/var/lib/xen/sv
+sv_insdir := /var/lib/xen/sv
INSTALL = install
INSTALL_DIR = $(INSTALL) -d -m0755
INSTALL_DATA = $(INSTALL) -m0644
@@ -17,16 +17,16 @@ IMAGES += next.png previous.png finish.png
install:
# copy XenSV Main.rpy file
- @$(INSTALL_DIR) $(sv_insdir)
- @$(INSTALL_DATA) Main.rpy $(sv_insdir)
+ @$(INSTALL_DIR) $(DESTDIR)$(sv_insdir)
+ @$(INSTALL_DATA) Main.rpy $(DESTDIR)$(sv_insdir)
# copy XenSV images
- @($(INSTALL_DIR) $(sv_insdir)/images
- @(cd images && $(INSTALL_DATA) $(IMAGES) $(sv_insdir)/images)
+ @$(INSTALL_DIR) $(DESTDIR)$(sv_insdir)/images
+ @(cd images && $(INSTALL_DATA) $(IMAGES) $(DESTDIR)$(sv_insdir)/images)
# copy XenSV stylesheet
- @$(INSTALL_DIR) $(sv_insdir)/inc
- @$(INSTALL_DATA) inc/style.css inc/script.js $(sv_insdir)/inc
+ @$(INSTALL_DIR) $(DESTDIR)$(sv_insdir)/inc
+ @$(INSTALL_DATA) inc/style.css inc/script.js $(DESTDIR)$(sv_insdir)/inc
clean:
diff --git a/tools/xentrace/Makefile b/tools/xentrace/Makefile
index c2545762a3..9133271b66 100644
--- a/tools/xentrace/Makefile
+++ b/tools/xentrace/Makefile
@@ -24,12 +24,12 @@ MAN8 = $(wildcard *.8)
all: $(BIN)
install: all
- $(INSTALL_DIR) $(prefix)/usr/bin
- $(INSTALL_DIR) $(prefix)/usr/man/man1
- $(INSTALL_DIR) $(prefix)/usr/man/man8
- $(INSTALL_PROG) $(BIN) $(SCRIPTS) $(prefix)/usr/bin
- $(INSTALL_DATA) $(MAN1) $(prefix)/usr/man/man1
- $(INSTALL_DATA) $(MAN8) $(prefix)/usr/man/man8
+ $(INSTALL_DIR) $(DESTDIR)/usr/bin
+ $(INSTALL_DIR) $(DESTDIR)/usr/man/man1
+ $(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
clean:
$(RM) *.a *.so *.o *.rpm $(BIN)
diff --git a/tools/xfrd/Makefile b/tools/xfrd/Makefile
index 07c17a3f35..6ca1a1d12f 100644
--- a/tools/xfrd/Makefile
+++ b/tools/xfrd/Makefile
@@ -72,8 +72,8 @@ xfrd: $(XFRD_PROG_OBJ)
.PHONY: install
install: xfrd
- $(INSTALL_DIR) $(prefix)/$(XFRD_INSTALL_DIR)
- $(INSTALL_PROG) xfrd $(prefix)/$(XFRD_INSTALL_DIR)
+ $(INSTALL_DIR) $(DESTDIR)/$(XFRD_INSTALL_DIR)
+ $(INSTALL_PROG) xfrd $(DESTDIR)/$(XFRD_INSTALL_DIR)
.PHONY: libutil
libutil: $(UTIL_LIB)
diff --git a/xen/Makefile b/xen/Makefile
index 4aa6330310..b560ac1822 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -8,7 +8,8 @@ export XEN_VERSION = 2
export XEN_SUBVERSION = 0
export XEN_EXTRAVERSION = ""
-export BASEDIR := $(shell pwd)
+export BASEDIR := $(CURDIR)
+DESTDIR := $(CURDIR)/../dist/install
include Rules.mk
@@ -21,16 +22,15 @@ debug:
objdump -D -S $(TARGET)-syms > $(TARGET).s
install: $(TARGET).gz
- $(INSTALL_DIR) $(prefix)/boot
- $(INSTALL_DATA) $(TARGET).gz $(prefix)/boot
- $(INSTALL_DATA) $(TARGET)-syms $(prefix)/boot
- $(INSTALL_DIR) $(prefix)/usr/include/xen/io
- $(INSTALL_DATA) include/public/*.h $(prefix)/usr/include/xen
- $(INSTALL_DATA) include/public/io/*.h $(prefix)/usr/include/xen/io
- $(INSTALL_DATA) include/public/COPYING $(prefix)/usr/include/xen
+ $(INSTALL_DIR) $(DESTDIR)/boot
+ $(INSTALL_DATA) $(TARGET).gz $(DESTDIR)/boot
+ $(INSTALL_DATA) $(TARGET)-syms $(DESTDIR)/boot
+ $(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
-dist: $(TARGET)
- $(MAKE) prefix=`pwd`/../dist/install dist=yes install
+dist: install
clean: tools.clean common.clean drivers.clean arch/$(TARGET_ARCH).clean
rm -f include/asm *.o $(TARGET)* *~ core include/xen/compile.h