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
This commit is contained in:
iap10@labyrinth.cl.cam.ac.uk committed 2005-01-22 22:03:34 +00:00
1 parent 84a280c892
commit d2f5d53621
16 files changed
+77 -71

No files matched your search

+6 -5
View File
@@ -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))
+2 -2
View File
@@ -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
+2 -2
View File
@@ -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)
+2 -2
View File
@@ -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)
+2 -2
View File
@@ -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)
+7 -6
View File
@@ -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)
+10 -10
View File
@@ -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:
+6 -6
View File
@@ -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
+4 -4
View File
@@ -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
+4 -4
View File
@@ -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:
+2 -2
View File
@@ -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) *~
+5 -1
View File
@@ -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 *~
+7 -7
View File
@@ -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:
+6 -6
View File
@@ -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)
+2 -2
View File
@@ -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)
+10 -10
View File
@@ -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
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.