diff options
author | iap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk> | 2005-01-22 22:03:34 +0000 |
---|---|---|
committer | iap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk> | 2005-01-22 22:03:34 +0000 |
commit | d2f5d53621f141ce1be63eeeae4a8a9e289498d8 (patch) | |
tree | 206f20e7e561bfdab882dacb13aab906755e6cf0 | |
parent | 84a280c8928e988f7e8fac3fe69f1b1e67d95da5 (diff) | |
download | xen-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-- | Makefile | 11 | ||||
-rw-r--r-- | buildconfigs/mk.linux-2.4-xen0 | 4 | ||||
-rw-r--r-- | buildconfigs/mk.linux-2.4-xenU | 4 | ||||
-rw-r--r-- | buildconfigs/mk.linux-2.6-xen0 | 4 | ||||
-rw-r--r-- | buildconfigs/mk.linux-2.6-xenU | 4 | ||||
-rw-r--r-- | docs/Makefile | 13 | ||||
-rw-r--r-- | tools/examples/Makefile | 20 | ||||
-rw-r--r-- | tools/libxc/Makefile | 12 | ||||
-rw-r--r-- | tools/libxutil/Makefile | 8 | ||||
-rw-r--r-- | tools/misc/Makefile | 8 | ||||
-rw-r--r-- | tools/misc/miniterm/Makefile | 4 | ||||
-rw-r--r-- | tools/python/Makefile | 6 | ||||
-rwxr-xr-x | tools/sv/Makefile | 14 | ||||
-rw-r--r-- | tools/xentrace/Makefile | 12 | ||||
-rw-r--r-- | tools/xfrd/Makefile | 4 | ||||
-rw-r--r-- | xen/Makefile | 20 |
16 files changed, 77 insertions, 71 deletions
@@ -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 |