Hi, the following mails are a series of clean-ups for the build system. I posted them previously, and for referance that post is at the previous link. http://thread.gmane.org/gmane.comp.emulators.xen.devel/22227/focus=22281 At the time a number of people asked on the list and privately for changes. I believe that these patches address all of the concerns raised. Most significantly: * Split the patches up into functional areas * Repost after the next release * Removed a bogus diff to drivers/xen/Makefile and [PATCH 1/11] build: Remove unused netbsd build fragments [PATCH 2/11] build: Remove iptables and python loging helper targets [PATCH 3/11] build: Make sure that DESTDIR is set [PATCH 4/11] build: Clean up use of .PHONY [PATCH 5/11] build: clean up output of make help a little bit [PATCH 6/11] build: Document the use of XEN_PYTHON_NATIVE_INSTALL [PATCH 7/11] build: clean up kclean and distclean for kernel [PATCH 8/11] build: Clean pygrub''s a.out [PATCH 9/11] build: Use --bzip2 with tar instead of -j [PATCH 10/11] build: make linux download more flexable [PATCH 11/11] build: Don''t assume that mkbuildtree is executable -- Horms _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Horms
2006-Apr-10 02:29 UTC
[Xen-devel] [PATCH 1/11] build: Remove unused netbsd build fragments
# HG changeset patch # User Horms <horms@verge.net.au> # Node ID 6f44e906b2b6b70736a272be7b2d26c99532d886 # Parent c7020299facc4940b245b3f5280d6bf6ef6a77b1 build: Remove unused netbsd build fragments Signed-Off-By: Homrs <horms@verge.net.au> バイナリー・ファイル/dev/nullとto-work/buildconfigs/.Rules.mk.swpは違います --- from-0001/buildconfigs/Rules.mk +++ to-work/buildconfigs/Rules.mk 2006-03-30 16:48:38.000000000 +0900 @@ -40,29 +40,6 @@ patch-%.bz2: @echo "Cannot find $(@F) in path $(LINUX_SRC_PATH)" wget $(KERNEL_REPO)/pub/linux/kernel/v$(_LINUX_VDIR)/$(_LINUX_XDIR)/$(@F) -O./$@ -# Expand NetBSD release to NetBSD version -NETBSD_RELEASE ?= 2.0 -NETBSD_VER ?= $(patsubst netbsd-%-xen-sparse,%,$(wildcard netbsd-$(NETBSD_RELEASE)*-xen-sparse)) -NETBSD_CVSSNAP ?= 20050309 - -# Setup NetBSD search path -NETBSD_SRC_PATH ?= .:.. -vpath netbsd-%.tar.bz2 $(NETBSD_SRC_PATH) - -# download a pristine NetBSD tarball if there isn''t one in NETBSD_SRC_PATH -netbsd-%-xen-kernel-$(NETBSD_CVSSNAP).tar.bz2: - @echo "Cannot find $@ in path $(NETBSD_SRC_PATH)" - wget http://www.cl.cam.ac.uk/Research/SRG/netos/xen/downloads/$@ -O./$@ - -netbsd-%.tar.bz2: netbsd-%-xen-kernel-$(NETBSD_CVSSNAP).tar.bz2 - ln -fs $< $@ - -ifeq ($(OS),linux) -OS_VER = $(LINUX_VER) -else -OS_VER = $(NETBSD_VER) -endif - pristine-%: pristine-%/.valid-pristine @true @@ -134,17 +111,10 @@ linux-2.6-xen.patch: ref-linux-$(LINUX_V diff -Nurp $(<D) tmp-$@ > $@ || true rm -rf tmp-$@ -%-mrproper: %-mrproper-extra +%-mrproper: rm -rf pristine-$(*)* ref-$(*)* $*.tar.bz2 rm -rf $*-xen.patch -netbsd-%-mrproper-extra: - rm -rf netbsd-$*-tools netbsd-$*-tools.tar.bz2 - rm -f netbsd-$*-xen-kernel-$(NETBSD_CVSSNAP).tar.bz2 - -%-mrproper-extra: - @: # do nothing - config-update-pae: ifeq ($(XEN_TARGET_X86_PAE),y) 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) --- from-0001/buildconfigs/mk.linux-2.6-xen +++ to-work/buildconfigs/mk.linux-2.6-xen 2006-03-30 16:49:34.000000000 +0900 @@ -1,13 +1,10 @@ - -OS = linux - LINUX_SERIES = 2.6 LINUX_VER = 2.6.16 LINUX_SRCS = linux-2.6.16.tar.bz2 EXTRAVERSION ?= xen -LINUX_DIR = $(OS)-$(LINUX_VER)-$(EXTRAVERSION) +LINUX_DIR = linux-$(LINUX_VER)-$(EXTRAVERSION) include buildconfigs/Rules.mk @@ -22,7 +19,7 @@ build: $(LINUX_DIR)/include/linux/autoco $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) INSTALL_PATH=$(DESTDIR) vmlinuz $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) INSTALL_PATH=$(DESTDIR) install -$(LINUX_DIR)/include/linux/autoconf.h: ref-$(OS)-$(LINUX_VER)/.valid-ref +$(LINUX_DIR)/include/linux/autoconf.h: ref-linux-$(LINUX_VER)/.valid-ref rm -rf $(LINUX_DIR) cp -al $(<D) $(LINUX_DIR) # Apply arch-xen patches @@ -52,4 +49,4 @@ clean:: $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) clean delete: - rm -rf tmp-$(OS)-$(LINUX_VER) $(LINUX_DIR) + rm -rf tmp-linux-$(LINUX_VER) $(LINUX_DIR) -- Horms _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Horms
2006-Apr-10 02:29 UTC
[Xen-devel] [PATCH 2/11] build: Remove iptables and python loging helper targets
# HG changeset patch # User Horms <horms@verge.net.au> # Node ID 85038f661b0283fd5d8e152b234e130862932763 # Parent 6f44e906b2b6b70736a272be7b2d26c99532d886 build: Remove iptables and python loging helper targets These targets don''t really fit into the build infastructure, for instance there is no faclilty for them to be removed on make distclean. I posted a patch that fleshed out the targets, but Christian Limpach suggested to me that removing them would be a better idea. Signed-Off-By: Horms <horms@verge.net.au> diff -r 6f44e906b2b6 -r 85038f661b02 Makefile --- a/Makefile Thu Mar 30 15:13:32 2006 +0900 +++ b/Makefile Thu Mar 30 15:13:35 2006 +0900 @@ -115,18 +115,6 @@ distclean: clean # Linux name for GNU distclean mrproper: distclean -install-logging: LOGGING=logging-0.4.9.2 -install-logging: - [ -f $(LOGGING).tar.gz ] || wget http://www.red-dove.com/$(LOGGING).tar.gz - tar -zxf $(LOGGING).tar.gz - cd $(LOGGING) && python setup.py install - -# handy target to upgrade iptables (use rpm or apt-get in preference) -install-iptables: - wget http://www.netfilter.org/files/iptables-1.2.11.tar.bz2 - tar -jxf iptables-1.2.11.tar.bz2 - $(MAKE) -C iptables-1.2.11 PREFIX= KERNEL_DIR=../linux-$(LINUX_VER)-xen0 install - help: @echo ''Installation targets:'' @echo '' install - build and install everything'' @@ -153,10 +141,6 @@ help: @echo '' build trees'' @echo '' kdelete - delete guest kernel build trees'' @echo '' kclean - clean guest kernel build trees'' - @echo '''' - @echo ''Dependency installation targets:'' - @echo '' install-logging - install the Python Logging package'' - @echo '' install-iptables - install iptables tools'' @echo '''' @echo ''Miscellaneous targets:'' @echo '' prep-kernels - prepares kernel directories, does not build'' -- Horms _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
# HG changeset patch # User Horms <horms@verge.net.au> # Node ID a3a369798dbd866fcb4ec9026364e65a054c458a # Parent 85038f661b0283fd5d8e152b234e130862932763 build: Make sure that DESTDIR is set In the case where XEN_PYTHON_NATIVE_INSTALL is in effect, if DESTDIR is not set then the install will go into a relative directory rather than under the default prefix (usually /usr). An alternate solution would be to update the fragments that do the python install to use $(DESTDIR)/ instead of $(DESTDIR). This is not an incredible burden as there are only two such fragments in the tree. However, it seems prone to error as new makefiles are created in the future. Signed-Off-By: Horms <horms@verge.net.au> diff -r 85038f661b02 -r a3a369798dbd Config.mk --- a/Config.mk Thu Mar 30 15:13:35 2006 +0900 +++ b/Config.mk Thu Mar 30 15:13:41 2006 +0900 @@ -24,6 +24,7 @@ OBJDUMP = $(CROSS_COMPILE)objdump OBJDUMP = $(CROSS_COMPILE)objdump DISTDIR ?= $(XEN_ROOT)/dist +DESTDIR ?= / INSTALL = install INSTALL_DIR = $(INSTALL) -d -m0755 -- Horms _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
# HG changeset patch
# User Horms <horms@verge.net.au>
# Node ID 8dc0b3cf422a5a599e4687018fadfa639a96c354
# Parent a3a369798dbd866fcb4ec9026364e65a054c458a
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>
--- from-0008/Makefile
+++ to-work/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -14,6 +14,7 @@ export XEN_TARGET_ARCH SUBARCH XEN_SYSTY
endif
# Default target must appear before any include lines
+.PHONY: all
all: dist
XEN_ROOT=$(CURDIR)
@@ -24,12 +25,11 @@ ifeq ($(XEN_TARGET_X86_PAE),y)
export pae=y
endif
-.PHONY: all dist install xen kernels tools dev-docs docs world clean
-.PHONY: mkpatches mrproper kbuild kdelete kclean
-
# build and install everything into the standard system directories
+.PHONY: install
install: install-xen install-kernels install-tools install-docs
+.PHONY: build
build: kernels
$(MAKE) -C xen build
$(MAKE) -C tools build
@@ -38,10 +38,12 @@ build: kernels
# The test target is for unit tests that can run without an installation. Of
# course, many tests require a machine running Xen itself, and these are
# handled elsewhere.
+.PHONY: test
test:
$(MAKE) -C tools/python test
# build and install everything into local dist directory
+.PHONY: dist
dist: DESTDIR=$(DISTDIR)/install
dist: dist-xen dist-kernels dist-tools dist-docs
$(INSTALL_DIR) $(DISTDIR)/check
@@ -54,67 +56,83 @@ dist-%: install-%
@: # do nothing
# Legacy dist targets
+.PHONY: xen tools kernels docs
xen: dist-xen
tools: dist-tools
kernels: dist-kernels
docs: dist-docs
+.PHONY: prep-kernels
prep-kernels:
for i in $(XKERNELS) ; do $(MAKE) $$i-prep || exit 1; done
+.PHONY: install-xen
install-xen:
$(MAKE) -C xen install
+.PHONY: install-tools
install-tools:
$(MAKE) -C tools install
+.PHONY: install-kernels
install-kernels:
for i in $(XKERNELS) ; do $(MAKE) $$i-install || exit 1; done
+.PHONY: install-docs
install-docs:
sh ./docs/check_pkgs && $(MAKE) -C docs install || true
+.PHONY: dev-docs
dev-docs:
$(MAKE) -C docs dev-docs
# Build all the various kernels and modules
+.PHONY: kbuild
kbuild: kernels
# Delete the kernel build trees entirely
+.PHONY: kdelete
kdelete:
for i in $(XKERNELS) ; do $(MAKE) $$i-delete ; done
# Clean the kernel build trees
+.PHONY: kclean
kclean:
for i in $(XKERNELS) ; do $(MAKE) $$i-clean ; done
# Make patches from kernel sparse trees
+.PHONY: mkpatches
mkpatches:
for i in $(ALLSPARSETREES) ; do $(MAKE) $$i-xen.patch; done
# build xen, the tools, and a domain 0 plus unprivileged linux-xen images,
# and place them in the install directory. ''make install''
should then
# copy them to the normal system directories
+.PHONY: world
world:
$(MAKE) clean
$(MAKE) kdelete
$(MAKE) dist
# clean doesn''t do a kclean
+.PHONY: clean
clean::
$(MAKE) -C xen clean
$(MAKE) -C tools clean
$(MAKE) -C docs clean
# clean, but blow away kernel build tree plus tarballs
+.PHONY: distclean
distclean: clean
rm -rf dist patches/tmp
for i in $(ALLKERNELS) ; do $(MAKE) $$i-delete ; done
for i in $(ALLSPARSETREES) ; do $(MAKE) $$i-mrproper ; done
# Linux name for GNU distclean
+.PHONY: mrproper
mrproper: distclean
+.PHONY: help
help:
@echo ''Installation targets:''
@echo '' install - build and install everything''
@@ -150,6 +168,7 @@ help:
@echo '' with extreme care!)''
# Use this target with extreme care!
+.PHONY: uninstall
uninstall: D=$(DESTDIR)
uninstall:
[ -d $(D)/etc/xen ] && mv -f $(D)/etc/xen $(D)/etc/xen.old-`date +%s`
|| true
@@ -183,5 +202,6 @@ uninstall:
rm -rf $(D)/usr/share/man/man8/xen*
# Legacy targets for compatibility
+.PHONY: linux26
linux26:
$(MAKE) ''KERNELS=linux-2.6*'' kernels
--- from-0007/buildconfigs/Rules.mk
+++ to-work/buildconfigs/Rules.mk 2006-04-07 14:24:50.000000000 +0900
@@ -6,8 +6,6 @@ export DESTDIR
ALLKERNELS = $(patsubst buildconfigs/mk.%,%,$(wildcard buildconfigs/mk.*))
ALLSPARSETREES = $(patsubst %-xen-sparse,%,$(wildcard *-xen-sparse))
-.PHONY: mkpatches mrproper
-
# Setup pristine search path
PRISTINE_SRC_PATH ?= .:..
vpath pristine-% $(PRISTINE_SRC_PATH)
@@ -61,6 +59,7 @@ ifneq ($(PATCHDIRS),)
$(patsubst patches/%,patches/%/.makedep,$(PATCHDIRS)): patches/%/.makedep:
@echo ''ref-$*/.valid-ref: $$(wildcard patches/$*/*.patch)''
>$@
+.PHONY: clean
clean::
rm -f patches/*/.makedep
@@ -115,6 +114,7 @@ linux-2.6-xen.patch: ref-linux-$(LINUX_V
rm -rf pristine-$(*)* ref-$(*)* $*.tar.bz2
rm -rf $*-xen.patch
+.PHONY: config-update-pae
config-update-pae:
ifeq ($(XEN_TARGET_X86_PAE),y)
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)
--- from-0007/buildconfigs/mk.linux-2.6-xen
+++ to-work/buildconfigs/mk.linux-2.6-xen 2006-04-07 14:24:50.000000000 +0900
@@ -8,9 +8,8 @@ LINUX_DIR = linux-$(LINUX_VER)-$(EXTR
include buildconfigs/Rules.mk
-.PHONY: build clean delete
-
# The real action starts here!
+.PHONY: build
build: $(LINUX_DIR)/include/linux/autoconf.h
if grep "^CONFIG_MODULES=" $(LINUX_DIR)/.config ; then \
$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) modules ; \
@@ -39,14 +38,18 @@ $(LINUX_DIR)/include/linux/autoconf.h: r
rm -f Makefile ; mv Mk.tmp Makefile )
$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) oldconfig
+.PHONY: prep
prep: $(LINUX_DIR)/include/linux/autoconf.h
+.PHONY: config
config: CONFIGMODE = menuconfig
config: $(LINUX_DIR)/include/linux/autoconf.h
$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) $(CONFIGMODE)
+.PHONY: clean
clean::
$(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) clean
+.PHONY: delete
delete:
rm -rf tmp-linux-$(LINUX_VER) $(LINUX_DIR)
--- from-0001/docs/Makefile
+++ to-work/docs/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -26,22 +26,28 @@ DOC_HTML := $(patsubst src/%.tex,html/%/
GFX = $(patsubst %.fig, %.eps, $(wildcard figs/*.fig))
-.PHONY: all build dev-docs python-dev-docs ps pdf html clean install
-
+.PHONY: all
all: build
+
+.PHONY: build
build: ps pdf html man-pages
rm -f *.aux *.dvi *.bbl *.blg *.glo *.idx *.ilg *.log *.ind *.toc
+.PHONY: dev-docs
dev-docs: python-dev-docs
+.PHONY: ps
ps: $(DOC_PS)
+.PHONY: pdf
pdf: $(DOC_PDF)
+.PHONY: html
html:
@if which $(LATEX2HTML) 1>/dev/null 2>/dev/null; then \
$(MAKE) $(DOC_HTML); fi
+.PHONY: python-dev-docs
python-dev-docs:
@mkdir -v -p api/tools/python
@if which $(DOXYGEN) 1>/dev/null 2>/dev/null; then \
@@ -50,6 +56,7 @@ python-dev-docs:
$(MAKE) -C api/tools/python/latex ; else \
echo "Doxygen not installed; skipping python-dev-docs."; fi
+.PHONY: man-pages
man-pages:
@if which $(POD2MAN) 1>/dev/null 2>/dev/null; then \
$(MAKE) $(DOC_MAN1) $(DOC_MAN5); fi
@@ -64,6 +71,7 @@ man5/%.5: man/%.pod.5 Makefile
$(POD2MAN) --release=$(VERSION) --name=`echo $@ | sed
''s/^man5.//''| \
sed ''s/.5//''` -s 5 -c "Xen" $< $@
+.PHONY: clean
clean:
rm -rf .word_count *.aux *.dvi *.bbl *.blg *.glo *.idx *~
rm -rf *.ilg *.log *.ind *.toc *.bak core
@@ -72,6 +80,7 @@ clean:
rm -rf man5
rm -rf man1
+.PHONY: install
install: all
rm -rf $(DESTDIR)$(pkgdocdir)
$(INSTALL_DIR) $(DESTDIR)$(pkgdocdir)
--- from-0001/extras/mini-os/Makefile
+++ to-work/extras/mini-os/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -37,8 +37,10 @@ OBJS += $(patsubst %.c,%.o,$(wildcard co
HDRS := $(wildcard include/*.h)
HDRS += $(wildcard include/xen/*.h)
+.PHONY: default
default: $(TARGET)
+.PHONY: links
links:
[ -e include/xen ] || ln -sf ../../../xen/include/public include/xen
@@ -46,6 +48,7 @@ $(TARGET): links $(OBJS)
$(LD) -N -T minios-$(TARGET_ARCH).lds $(OBJS) -o $@.elf
gzip -f -9 -c $@.elf >$@.gz
+.PHONY: clean
clean:
find . -type f -name ''*.o'' | xargs rm -f
rm -f *.o *~ core $(TARGET).elf $(TARGET).raw $(TARGET) $(TARGET).gz
--- from-0001/tools/Makefile
+++ to-work/tools/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -24,14 +24,14 @@ SUBDIRS += python
SUBDIRS += pygrub
endif
-.PHONY: all install clean check check_clean ioemu eioemuinstall ioemuclean
-
+.PHONY: all
all: check
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
done
$(MAKE) ioemu
+.PHONY: install
install: check
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
@@ -39,18 +39,22 @@ install: check
$(MAKE) ioemuinstall
$(INSTALL_DIR) -p $(DESTDIR)/var/xen/dump
+.PHONY: clean
clean: check_clean
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
done
$(MAKE) ioemuclean
+.PHONY: check
check:
$(MAKE) -C check
+.PHONY: check_clean
check_clean:
$(MAKE) -C check clean
+.PHONY: ioemu ioemuinstall ioemuclean
ifndef XEN_NO_IOEMU
ioemu ioemuinstall ioemuclean:
[ -f ioemu/config-host.h ] || \
--- from-0001/tools/Rules.mk
+++ to-work/tools/Rules.mk 2006-04-07 14:24:50.000000000 +0900
@@ -23,6 +23,7 @@ CFLAGS += -D__XEN_INTERFACE_VERSION__=0x
%.o: %.cc
$(CC) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<
+.PHONY: mk-symlinks
mk-symlinks: LINUX_ROOT=$(XEN_ROOT)/linux-2.6-xen-sparse
mk-symlinks:
mkdir -p xen
--- from-0001/tools/blktap/Makefile
+++ to-work/tools/blktap/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -39,11 +39,13 @@ IBINS :
LIB = libblktap.so libblktap.so.$(MAJOR) libblktap.so.$(MAJOR).$(MINOR)
+.PHONY: all
all: mk-symlinks libblktap.so #blkdump
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
done
+.PHONY: install
install: all
$(INSTALL_DIR) -p $(DESTDIR)/usr/$(LIBDIR)
$(INSTALL_DIR) -p $(DESTDIR)/usr/include
@@ -54,12 +56,14 @@ install: all
$(MAKE) -C $$subdir $@; \
done
+.PHONY: clean
clean:
rm -rf *.a *.so *.o *.rpm $(LIB) *~ $(DEPS) xen TAGS blkdump
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
done
+.PHONY: rpm
rpm: all
rm -rf staging
mkdir staging
@@ -82,6 +86,7 @@ blkdump: libblktap.so
.PHONY: TAGS clean install mk-symlinks rpm
+.PHONY: TAGS
TAGS:
etags -t $(SRCS) *.h
--- from-0001/tools/blktap/parallax/Makefile
+++ to-work/tools/blktap/parallax/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -43,11 +43,14 @@ DEPS = .*.d
OBJS = $(patsubst %.c,%.o,$(SRCS))
IBINS = parallax $(VDI_TOOLS)
+.PHONY: all
all: $(VDI_TOOLS) parallax blockstored
+.PHONY: install
install: all
$(INSTALL_PROG) $(IBINS) $(DESTDIR)$(PARALLAX_INSTALL_DIR)
+.PHONY: clean
clean:
rm -rf *.o *~ $(DEPS) xen TAGS $(VDI_TOOLS) parallax vdi_unittest
@@ -57,5 +60,4 @@ parallax: $(PLX_SRCS)
${VDI_TOOLS}: %: %.c $(VDI_SRCS)
$(CC) $(CFLAGS) -o $@ $@.c $(LDFLAGS) $(VDI_SRCS)
-.PHONY: TAGS clean install rpm
-include $(DEPS)
--- from-0001/tools/blktap/ublkback/Makefile
+++ to-work/tools/blktap/ublkback/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -21,12 +21,16 @@ DEPS = .*.d
OBJS = $(patsubst %.c,%.o,$(SRCS))
+.PHONY: all
all: $(IBIN)
LINUX_ROOT := $(wildcard $(XEN_ROOT)/linux-2.6.*-xen-sparse)
+.PHONY: install
install:
$(INSTALL_PROG) $(IBIN) $(DESTDIR)$(INSTALL_DIR)
+
+.PHONY: clean
clean:
rm -rf *.o*~ $(DEPS) xen TAGS $(IBIN)
@@ -34,6 +38,4 @@ ublkback:
$(CC) $(CFLAGS) -o ublkback -L$(XEN_LIBXC) -L. -L.. \
-lblktap -laio ublkback.c ublkbacklib.c -pg
-.PHONY: clean install
-
-include $(DEPS)
--- from-0001/tools/check/Makefile
+++ to-work/tools/check/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -1,7 +1,9 @@
+.PHONY: all
all: build
# Check this machine is OK for building on.
+.PHONY: build
build:
./chk build
@@ -9,8 +11,10 @@ build:
# DO NOT use this check from ''make install'' in the parent
# directory, as that target can be used to make an installable
# copy rather than actually installing.
+.PHONY: install
install:
./chk install
+.PHONY: clean
clean:
- ./chk clean
\ ファイル末尾に改行がありません
+ ./chk clean
--- from-0001/tools/console/Makefile
+++ to-work/tools/console/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -16,8 +16,10 @@ CFLAGS += -I $(XEN_XENSTORE)
BIN = xenconsoled xenconsole
+.PHONY: all
all: $(BIN)
+.PHONY: clean
clean:
$(RM) *.a *.so *.o *.rpm $(BIN)
$(RM) client/*.o daemon/*.o
@@ -30,6 +32,7 @@ xenconsole: $(patsubst %.c,%.o,$(wildcar
$(CC) $(CFLAGS) $^ -o $@ -L$(XEN_LIBXC) -L$(XEN_XENSTORE) \
-lxenctrl -lxenstore
+.PHONY: install
install: $(BIN)
$(INSTALL_DIR) -p $(DESTDIR)/$(DAEMON_INSTALL_DIR)
$(INSTALL_PROG) xenconsoled $(DESTDIR)/$(DAEMON_INSTALL_DIR)
--- from-0001/tools/console/testsuite/Makefile
+++ to-work/tools/console/testsuite/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -3,10 +3,12 @@ include $(XEN_ROOT)/tools/Rules.mk
LDFLAGS=-static
+.PHONY: all
all: console-dom0 console-domU procpipe
console-dom0: console-dom0.o
console-domU: console-domU.o
procpipe: procpipe.o
+.PHONY: clean
clean:; $(RM) *.o console-domU console-dom0 procpipe
--- from-0001/tools/debugger/libxendebug/Makefile
+++ to-work/tools/debugger/libxendebug/Makefile 2006-04-07 14:24:50.000000000
+0900
@@ -26,10 +26,14 @@ PIC_OBJS := $(patsubst %.c,%.opic,$(SRCS
LIB := libxendebug.a libxendebug.so
LIB += libxendebug.so.$(MAJOR) libxendebug.so.$(MAJOR).$(MINOR)
+.PHONY: all
all: build
+
+.PHONY: build
build:
$(MAKE) $(LIB)
+.PHONY: install
install: build
[ -d $(DESTDIR)/usr/$(LIBDIR) ] || $(INSTALL_DIR) $(DESTDIR)/usr/$(LIBDIR)
[ -d $(DESTDIR)/usr/include ] || $(INSTALL_DIR) $(DESTDIR)/usr/include
@@ -39,14 +43,15 @@ install: build
ln -sf libxendebug.so.$(MAJOR) $(DESTDIR)/usr/$(LIBDIR)/libxendebug.so
$(INSTALL_DATA) xendebug.h $(DESTDIR)/usr/include
-.PHONY: TAGS clean rpm install all
-
+.PHONY: TAGS
TAGS:
etags -t $(SRCS) *.h
+.PHONY: clean
clean:
rm -rf *.a *.so* *.o *.opic *.rpm $(LIB) *~ $(DEPS) xen
+.PHONY: rpm
rpm: build
rm -rf staging
mkdir staging
--- from-0001/tools/debugger/pdb/Makefile
+++ to-work/tools/debugger/pdb/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -33,6 +33,7 @@ LIBS += unix str
# bc = byte-code, dc = debug byte-code
# patches = patch linux domU source code
+.PHONY: all
all : dc
SOURCES += pdb_caml_xc.c
@@ -51,5 +52,6 @@ RESULT = pdb
include $(OCAMLMAKEFILE)
PATCHDIR = ./linux-2.6-patches
+.PHONY: patches
patches :
make -C $(PATCHDIR) patches
--- from-0001/tools/debugger/pdb/linux-2.6-module/Makefile
+++ to-work/tools/debugger/pdb/linux-2.6-module/Makefile 2006-04-07
14:24:50.000000000 +0900
@@ -10,10 +10,12 @@ CFLAGS += -g
CFLAGS += -Wall
CFLAGS += -Werror
+.PHONY: module
module :
# make KBUILD_VERBOSE=1 ARCH=xen -C $(KDIR) M=$(PWD) modules
make ARCH=xen -C $(KDIR) M=$(PWD) modules
+.PHONY: clean
clean :
make -C $(KDIR) M=$(PWD) clean
--- from-0001/tools/debugger/pdb/linux-2.6-patches/Makefile
+++ to-work/tools/debugger/pdb/linux-2.6-patches/Makefile 2006-04-07
14:24:50.000000000 +0900
@@ -3,6 +3,7 @@ LINUX_DIR = linux-2.6.12-xenU
KDIR = $(XEN_ROOT)/$(LINUX_DIR)
PATCH_DIR = $(CURDIR)
+.PHONY: patches
patches : patches-done
patches-done :
--- from-0001/tools/examples/Makefile
+++ to-work/tools/examples/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -50,11 +50,16 @@ HOTPLUGS=install-hotplug
endif
endif
+.PHONY: all
all:
+
+.PHONY: build
build:
+.PHONY: install
install: all install-initd install-configs install-scripts $(HOTPLUGS)
+.PHONY: install-initd
install-initd:
[ -d $(DESTDIR)/etc/init.d ] || $(INSTALL_DIR) $(DESTDIR)/etc/init.d
[ -d $(DESTDIR)/etc/sysconfig ] || $(INSTALL_DIR) $(DESTDIR)/etc/sysconfig
@@ -62,6 +67,7 @@ install-initd:
$(INSTALL_PROG) $(XENDOMAINS_INITD) $(DESTDIR)/etc/init.d
$(INSTALL_PROG) $(XENDOMAINS_SYSCONFIG) $(DESTDIR)/etc/sysconfig/xendomains
+.PHONY: install-configs
install-configs: $(XEN_CONFIGS)
[ -d $(DESTDIR)$(XEN_CONFIG_DIR) ] || \
$(INSTALL_DIR) $(DESTDIR)$(XEN_CONFIG_DIR)
@@ -72,6 +78,7 @@ install-configs: $(XEN_CONFIGS)
$(INSTALL_DATA) $$i $(DESTDIR)$(XEN_CONFIG_DIR); \
done
+.PHONY: install-scripts
install-scripts:
[ -d $(DESTDIR)$(XEN_SCRIPT_DIR) ] || \
$(INSTALL_DIR) $(DESTDIR)$(XEN_SCRIPT_DIR)
@@ -84,6 +91,7 @@ install-scripts:
$(INSTALL_DATA) $$i $(DESTDIR)$(XEN_SCRIPT_DIR); \
done
+.PHONY: install-hotplug
install-hotplug:
[ -d $(DESTDIR)$(XEN_HOTPLUG_DIR) ] || \
$(INSTALL_DIR) $(DESTDIR)$(XEN_HOTPLUG_DIR)
@@ -92,6 +100,7 @@ install-hotplug:
$(INSTALL_PROG) $$i $(DESTDIR)$(XEN_HOTPLUG_DIR); \
done
+.PHONY: install-udev
install-udev:
[ -d $(DESTDIR)$(UDEV_RULES_DIR) ] || \
$(INSTALL_DIR) $(DESTDIR)$(UDEV_RULES_DIR)/rules.d
@@ -102,4 +111,5 @@ install-udev:
ln -sf ../$$i . ) \
done
+.PHONY: clean
clean:
--- from-0001/tools/firmware/Makefile
+++ to-work/tools/firmware/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -13,8 +13,7 @@ SUBDIRS += acpi
SUBDIRS += vmxassist
SUBDIRS += hvmloader
-.PHONY: all install clean
-
+.PHONY: all
all:
@set -e; if ! `which bcc 1>/dev/null 2>/dev/null`; then \
echo "***********************************************************";
\
@@ -28,10 +27,12 @@ all:
fi
+.PHONY: install
install: all
[ -d $(INSTALL_DIR) ] || install -d -m0755 $(INSTALL_DIR)
[ ! -e $(TARGET) ] || install -m0644 $(TARGET) $(INSTALL_DIR)
+.PHONY: clean
clean:
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
--- from-0001/tools/firmware/acpi/Makefile
+++ to-work/tools/firmware/acpi/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -33,6 +33,7 @@ IASL_VER=acpica-unix-20050513
IASL_URL=http://developer.intel.com/technology/iapc/acpi/downloads/$(IASL_VER).tar.gz
vpath iasl $(PATH)
+.PHONY: all
all:$(ACPI_BIN)
acpi_dsdt.c:acpi_dsdt.asl
@@ -42,6 +43,7 @@ acpi_dsdt.c:acpi_dsdt.asl
echo "int DsdtLen=sizeof(AmlCode);" >> acpi_dsdt.c
rm *.aml
+.PHONY: iasl
iasl:
@echo
@echo "ACPI ASL compiler(iasl) is needed"
@@ -60,8 +62,10 @@ $(ACPI_GEN):$(C_SRC) $(H_SRC) acpi_dsdt.
$(ACPI_BIN):$(ACPI_GEN)
./$(ACPI_GEN) $(ACPI_BIN)
+.PHONY: clean
clean:
rm -rf *.o $(ACPI_GEN) $(ACPI_BIN) $(IASL_VER)
rm -rf $(IASL_VER).tar.gz
+.PHONY: install
install: all
--- from-0001/tools/firmware/hvmloader/Makefile
+++ to-work/tools/firmware/hvmloader/Makefile 2006-04-07 14:24:50.000000000
+0900
@@ -42,6 +42,7 @@ OBJCOPY = objcopy
CFLAGS += $(DEFINES) -I. $(XENINC) -fno-builtin -O2 -msoft-float
LDFLAGS = -m32 -nostdlib -Wl,-N -Wl,-Ttext -Wl,$(LOADADDR)
+.PHONY: all
all: hvmloader
hvmloader: roms.h hvmloader.c acpi_madt.c
@@ -57,6 +58,7 @@ roms.h: ../rombios/BIOS-bochs-latest ../
./mkhex vmxassist ../vmxassist/vmxassist.bin >> roms.h
./mkhex acpi ../acpi/acpi.bin >> roms.h
+.PHONY: clean
clean:
rm -f roms.h acpi.h
rm -f hvmloader hvmloader.tmp hvmloader.o $(OBJECTS)
--- from-0001/tools/firmware/rombios/Makefile
+++ to-work/tools/firmware/rombios/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -3,10 +3,13 @@ BIOS_BUILDS = BIOS-bochs-latest
#BIOS_BUILDS += BIOS-bochs-4-processors
#BIOS_BUILDS += BIOS-bochs-8-processors
+.PHONY: all
all: bios
+.PHONY: bios
bios: biossums ${BIOS_BUILDS}
+.PHONY: clean
clean:
rm -f *.o *.a *.s rombios.bin _rombios*_.c
rm -f as86-sym.txt ld86-sym.txt
--- from-0001/tools/firmware/vgabios/Makefile
+++ to-work/tools/firmware/vgabios/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -10,17 +10,22 @@ RELVERS = `pwd | sed "s-.*/--" | sed "s/
VGABIOS_DATE = "-DVGABIOS_DATE=\"$(RELDATE)\""
+.PHONY: all
all: bios cirrus-bios
+.PHONY: bios
bios: biossums vgabios.bin vgabios.debug.bin
+.PHONY: cirrus-bios
cirrus-bios: vgabios-cirrus.bin vgabios-cirrus.debug.bin
+.PHONY: clean
clean:
rm -f biossums *.o *.s *.ld86 \
temp.awk.* vgabios*.orig _vgabios_* _vgabios-debug_* core
vgabios*.bin vgabios*.txt $(RELEASE).bin *.bak
rm -f VGABIOS-lgpl-latest*.bin
+.PHONY: release
release:
VGABIOS_VERS=\"-DVGABIOS_VERS=\\\"$(RELVERS)\\\"\" make
bios cirrus-bios
/bin/rm -f *.o *.s *.ld86 \
--- from-0001/tools/firmware/vmxassist/Makefile
+++ to-work/tools/firmware/vmxassist/Makefile 2006-04-07 14:24:50.000000000
+0900
@@ -43,6 +43,7 @@ LDFLAGS = -m elf_i386
OBJECTS = head.o trap.o vm86.o setup.o util.o
+.PHONY: all
all: vmxassist.bin
vmxassist.bin: vmxassist.ld $(OBJECTS)
@@ -74,6 +75,7 @@ offsets.h: gen
gen: vm86.h gen.c
$(HOSTCC) $(HOSTCFLAGS) -I. $(XENINC) -o gen gen.c
+.PHONY: clean
clean:
rm -f vmxassist vmxassist.tmp vmxassist.bin vmxassist.run vmxassist.sym head.s
rm -f $(OBJECTS)
--- from-0001/tools/guest-headers/Makefile
+++ to-work/tools/guest-headers/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -2,12 +2,16 @@
XEN_ROOT=../..
linuxsparsetree = $(XEN_ROOT)/linux-2.6-xen-sparse
+.PHONY: all
all:
+.PHONY: check
check:
+.PHONY: install
install:
mkdir -p $(DESTDIR)/usr/include/xen/linux
install -m0644 $(linuxsparsetree)/include/xen/public/*.h
$(DESTDIR)/usr/include/xen/linux
+.PHONY: clean
clean:
--- from-0001/tools/ioemu/Makefile
+++ to-work/tools/ioemu/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -19,6 +19,7 @@ LDFLAGS+=-static
endif
#DOCS=qemu-doc.html qemu-tech.html qemu.1
+.PHONY: all
all: $(DOCS) HEADERS
for d in $(TARGET_DIRS); do \
$(MAKE) -C $$d $@ || exit 1 ; \
@@ -30,6 +31,7 @@ qemu-img: qemu-img.c block.c block-cow.c
dyngen$(EXESUF): dyngen.c
$(HOST_CC) $(CFLAGS) $(DEFINES) -o $@ $^
+.PHONY: clean
clean:
# avoid old build problems by removing potentially incorrect old files
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
@@ -41,6 +43,7 @@ clean:
rm -f config-host.mak config-host.h
rm -f keysym_adapter_sdl.h keysym_adapter_vnc.h
+.PHONY: distclean
distclean: clean
rm -f config-host.mak config-host.h
rm -f keysym_adapter_sdl.h keysym_adapter_vnc.h
@@ -52,6 +55,7 @@ KEYMAPS=da en-gb et fr fr-ch
ar de en-us fi fr-be hr it lv nl pl ru th \
common de-ch es fo fr-ca hu ja mk nl-be pt sl tr
+.PHONY: install
install: all
mkdir -p "$(bindir)"
mkdir -p "$(DESTDIR)/$(datadir)"
@@ -62,9 +66,11 @@ install: all
done
# various test targets
+.PHONY: test speed test2
test speed test2: all
$(MAKE) -C tests $@
+.PHONY: TAGS
TAGS:
etags *.[ch] tests/*.[ch]
@@ -79,6 +85,7 @@ qemu.1: qemu-doc.texi
FILE=qemu-$(shell cat VERSION)
# tar release (use ''make -k tar'' on a checkouted tree)
+.PHONY: tar
tar:
rm -rf /tmp/$(FILE)
cp -r . /tmp/$(FILE)
@@ -86,6 +93,7 @@ tar:
rm -rf /tmp/$(FILE)
# generate a binary distribution
+.PHONY: tarbin
tarbin:
( cd $(DESTDIR) ; tar zcvf ~/qemu-$(VERSION)-i386.tar.gz \
$(DESTDIR)/$(bindir)/qemu $(DESTDIR)/$(bindir)/qemu-fast \
@@ -100,6 +108,7 @@ ifneq ($(wildcard .depend),)
include .depend
endif
+.PHONY: HEADERS
HEADERS:
ifdef CONFIG_SDL
--- from-0001/tools/ioemu/target-i386-dm/Makefile
+++ to-work/tools/ioemu/target-i386-dm/Makefile 2006-04-07 14:24:50.000000000
+0900
@@ -329,6 +329,7 @@ sdl.o: sdl.c keyboard_rdesktop.c
sdlaudio.o: sdlaudio.c
$(CC) $(CFLAGS) $(DEFINES) $(SDL_CFLAGS) -c -o $@ $<
+.PHONY: depend
depend: $(SRCS)
$(CC) -MM $(CFLAGS) $(DEFINES) $^ 1>.depend
@@ -382,12 +383,15 @@ mixeng.o: mixeng.c mixeng.h mixeng_templ
%.o: %.S
$(CC) $(DEFINES) -c -o $@ $<
+.PHONY: clean
clean:
rm -rf *.o *.a *~ $(PROGS) gen-op.h opc.h op.h nwfpe slirp
rm -rf config.mak config.h
+.PHONY: distclean
distclean: clean
+.PHONY: install
install: all
if [ ! -d $(INSTALL_DIR) ];then mkdir -p $(INSTALL_DIR);fi
if [ ! -d $(DESTDIR)$(configdir) ];then mkdir -p $(DESTDIR)$(configdir);fi
--- from-0001/tools/libxc/Makefile
+++ to-work/tools/libxc/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -67,10 +67,14 @@ LIB += libxenctrl.so libxenctrl.so.$(MAJ
LIB += libxenguest.a
LIB += libxenguest.so libxenguest.so.$(MAJOR) libxenguest.so.$(MAJOR).$(MINOR)
+.PHONY: all
all: build
+
+.PHONY: build
build: check-for-zlib mk-symlinks
$(MAKE) $(LIB)
+.PHONY: check-for-zlib
check-for-zlib:
@if [ ! -e /usr/include/zlib.h ]; then \
echo "***********************************************************";
\
@@ -79,6 +83,7 @@ check-for-zlib:
false; \
fi
+.PHONY: install
install: build
[ -d $(DESTDIR)/usr/$(LIBDIR) ] || $(INSTALL_DIR) $(DESTDIR)/usr/$(LIBDIR)
[ -d $(DESTDIR)/usr/include ] || $(INSTALL_DIR) $(DESTDIR)/usr/include
@@ -94,14 +99,15 @@ install: build
ln -sf libxenguest.so.$(MAJOR) $(DESTDIR)/usr/$(LIBDIR)/libxenguest.so
$(INSTALL_DATA) xenguest.h $(DESTDIR)/usr/include
-.PHONY: TAGS clean rpm install all
-
+.PHONY: TAGS
TAGS:
etags -t *.c *.h
+.PHONY: clean
clean:
rm -rf *.a *.so* *.o *.opic *.rpm $(LIB) *~ $(DEPS) xen
+.PHONY: rpm
rpm: build
rm -rf staging
mkdir staging
--- from-0001/tools/misc/Makefile
+++ to-work/tools/misc/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -18,7 +18,10 @@ TARGETS = xenperf xc_shadow
INSTALL_BIN = $(TARGETS) xencons
INSTALL_SBIN = netfix xm xen-bugtool xend xenperf
+.PHONY: all
all: build
+
+.PHONY: build
build: $(TARGETS)
$(MAKE) -C miniterm
$(MAKE) -C cpuperf
@@ -27,6 +30,7 @@ ifneq ($(XEN_TARGET_ARCH),ia64)
endif
$(MAKE) -C lomount
+.PHONY: install
install: build
[ -d $(DESTDIR)/usr/bin ] || $(INSTALL_DIR) $(DESTDIR)/usr/bin
[ -d $(DESTDIR)/usr/sbin ] || $(INSTALL_DIR) $(DESTDIR)/usr/sbin
@@ -39,6 +43,7 @@ install: build
# Likewise mbootpack
# $(MAKE) -C mbootpack install
+.PHONY: clean
clean:
$(RM) *.o $(TARGETS) *~
$(MAKE) -C miniterm clean
--- from-0001/tools/misc/cpuperf/Makefile
+++ to-work/tools/misc/cpuperf/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -26,8 +26,10 @@ TARGETS = cpuperf-xen cpuperf-perfc
INSTALL_BIN = $(TARGETS)
+.PHONY: all
all: $(TARGETS)
+.PHONY: clean
clean:
$(RM) *.o $(TARGETS)
@@ -40,6 +42,7 @@ cpuperf-xen: cpuperf.c $(HDRS) Makefile
cpuperf-perfcntr: cpuperf.c $(HDRS) Makefile
$(CC) $(CFLAGS) -DPERFCNTR -o $@ $<
+.PHONY: install
install: all
$(INSTALL_PROG) $(INSTALL_BIN) $(DESTDIR)/usr/bin
--- from-0001/tools/misc/lomount/Makefile
+++ to-work/tools/misc/lomount/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -13,12 +13,17 @@ OBJS = $(patsubst %.c,%.o,$(wildcard
BIN = lomount
+.PHONY: all
all: build
+
+.PHONY: build
build: $(BIN)
+.PHONY: install
install: build
$(INSTALL_PROG) $(BIN) $(SCRIPTS) $(DESTDIR)/usr/bin
+.PHONY: clean
clean:
$(RM) *.a *.so *.o *.rpm $(BIN)
--- from-0001/tools/misc/mbootpack/Makefile
+++ to-work/tools/misc/mbootpack/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -8,9 +8,13 @@ INSTALL_DIR = $(INSTALL) -d -m0755
XEN_ROOT=../../..
include $(XEN_ROOT)/tools/Rules.mk
+.PHONY: all
all: build
+
+.PHONY: build
build: mbootpack
+.PHONY: install
install: build
$(INSTALL_PROG) mbootpack $(DESTDIR)/usr/bin
@@ -33,6 +37,7 @@ DEPS = .*.d
mbootpack: $(OBJS)
$(HOSTCC) -o $@ $(filter-out %.a, $^)
+.PHONY: clean
clean:
$(RM) mbootpack *.o $(DEPS) bootsect setup bzimage_header.c bin2c
@@ -60,7 +65,6 @@ buildimage.c: bzimage_header.c
%.o: %.c
$(HOSTCC) $(DEPFLAGS) $(CFLAGS) $(INCS) $(DEFS) -c $< -o $@
-.PHONY: all clean gdb
.PRECIOUS: $(OBJS) $(OBJS:.o=.c) $(DEPS)
.SUFFIXES:
--- from-0001/tools/misc/miniterm/Makefile
+++ to-work/tools/misc/miniterm/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -7,12 +7,15 @@ INSTALL_DIR = $(INSTALL) -d -m0755
TARGET = miniterm
+.PHONY: all
all: $(TARGET)
+.PHONY: install
install: all
[ -d $(DESTDIR)/usr/bin ] || $(INSTALL_DIR) $(DESTDIR)/usr/bin
$(INSTALL_PROG) $(TARGET) $(DESTDIR)/usr/bin
+.PHONY: clean
clean:
$(RM) *.o $(TARGET) *~
--- from-0001/tools/misc/nsplitd/Makefile
+++ to-work/tools/misc/nsplitd/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -8,10 +8,13 @@ OBJS = $(patsubst %.c,%.o,$(wildcard
TARGET = nsplitd
+.PHONY: all
all: $(TARGET)
+.PHONY: install
install: all
+.PHONY: clean
clean:
$(RM) *.o $(TARGET) *~
--- from-0001/tools/pygrub/Makefile
+++ to-work/tools/pygrub/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -2,10 +2,13 @@
XEN_ROOT = ../..
include $(XEN_ROOT)/tools/Rules.mk
+.PHONY: all
all: build
+.PHONY: build
build:
CFLAGS="$(CFLAGS)" python setup.py build
+.PHONY: install
ifndef XEN_PYTHON_NATIVE_INSTALL
install: all
CFLAGS="$(CFLAGS)" python setup.py install
--home="$(DESTDIR)/usr"
@@ -14,5 +17,6 @@ install: all
CFLAGS="$(CFLAGS)" python setup.py install
--root="$(DESTDIR)"
endif
+.PHONY: clean
clean:
rm -rf build tmp *.pyc *.pyo *.o *.a *~
--- from-0001/tools/python/Makefile
+++ to-work/tools/python/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -1,12 +1,14 @@
XEN_ROOT = ../..
include $(XEN_ROOT)/tools/Rules.mk
-.PHONY: all build install clean
-
+.PHONY: all
all: build
+
+.PHONY: build
build:
CFLAGS="$(CFLAGS)" python setup.py build
+.PHONY: install
ifndef XEN_PYTHON_NATIVE_INSTALL
install: all
CFLAGS="$(CFLAGS)" python setup.py install
--home="$(DESTDIR)/usr" --force
@@ -15,8 +17,10 @@ install: all
CFLAGS="$(CFLAGS)" python setup.py install
--root="$(DESTDIR)" --force
endif
+.PHONY: test
test:
export LD_LIBRARY_PATH=$$(readlink -f ../libxc):$$(readlink -f ../xenstore);
python test.py -b -u
+.PHONY: clean
clean:
rm -rf build *.pyc *.pyo *.o *.a *~
--- from-0001/tools/security/Makefile
+++ to-work/tools/security/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -54,8 +54,10 @@ ACM_POLICY_SUFFIX = security_policy.xml
ACM_LABEL_SUFFIX = security_label_template.xml
ifeq ($(ACM_SECURITY),y)
+.PHONY: all
all: build
+.PHONY: install
install: all $(ACM_CONFIG_FILE)
$(INSTALL_DIR) -p $(DESTDIR)/usr/sbin
$(INSTALL_PROG) -p $(ACM_INST_TOOLS) $(DESTDIR)/usr/sbin
@@ -79,11 +81,14 @@ else
python python/setup.py install --root="$(DESTDIR)"
endif
else
+.PHONY: all
all:
+.PHONY: install
install:
endif
+.PHONY: build
build: mk-symlinks $(ACM_INST_TOOLS) $(ACM_NOINST_TOOLS)
python python/setup.py build
chmod 700 $(ACM_SCRIPTS)
@@ -100,6 +105,7 @@ get_decision: $(OBJS_GETD)
xensec_gen: xensec_gen.py
cp -f $^ $@
+.PHONY: clean
clean:
$(RM) $(ACM_INST_TOOLS) $(ACM_NOINST_TOOLS)
$(RM) $(ACM_OBJS)
@@ -107,8 +113,10 @@ clean:
$(RM) -r xen
$(RM) -r build
+.PHONY: mrproper
mrproper: clean
+.PHONY: boot_install
boot_install: install
$(ACM_SCRIPT_DIR)/updategrub.sh $(POLICY) $(KERNEL_VERSION)
--- from-0001/tools/sv/Makefile
+++ to-work/tools/sv/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -1,2 +1,3 @@
+.PHONY: all
all:
--- from-0001/tools/tests/Makefile
+++ to-work/tools/tests/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -6,14 +6,17 @@ TARGET := test_x86_emulator
HOSTCFLAGS += -D__TEST_HARNESS__
+.PHONY: all
all: $(TARGET)
$(TARGET): x86_emulate.o test_x86_emulator.o
$(HOSTCC) -o $@ $^
+.PHONY: clean
clean:
rm -rf $(TARGET) *.o *~ core
+.PHONY: install
install:
x86_emulate.o: $(XEN_ROOT)/xen/arch/x86/x86_emulate.c
--- from-0001/tools/vnet/Makefile
+++ to-work/tools/vnet/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -5,10 +5,6 @@ export VNET_ROOT = $(shell pwd)
include $(VNET_ROOT)/Make.env
endif
-.PHONY: all compile install dist clean pristine
-.PHONY: gc-all gc-install gc-clean
-.PHONY: help
-
SUBDIRS: SUBDIRS+= examples
SUBDIRS+= scripts
@@ -17,11 +13,13 @@ SUBDIRS+= libxutil
SUBDIRS+= vnetd
SUBDIRS+= vnet-module
+.PHONY: all
all: compile
gc.tar.gz:
wget http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/$@
+.PHONY: gc
gc: gc.tar.gz
tar xfz gc.tar.gz
ln -sf gc?.? gc
@@ -31,10 +29,13 @@ $(GC_LIB_A): gc
make -C gc
DESTDIR="" make -C gc install
+.PHONY: gc-all
gc-all: $(GC_LIB_A)
+.PHONY: gc-install
gc-install:
+.PHONY: gc-clean
gc-clean:
-@$(RM) -r gc?.? gc
@@ -50,19 +51,25 @@ subtgt = $(patsubst %,%-$(1),$(SUBDIRS))
%-install:
$(call submak,install)
+.PHONY: compile
compile: $(call subtgt,all)
+.PHONY: install
install: DESTDIR install: dist
+.PHONY: dist
dist: compile $(call subtgt,install)
+.PHONY: clean
clean: $(call subtgt,clean)
-@$(RM) -r build
+.PHONY: pristine
pristine: clean
-@$(RM) gc.tar.gz
+.PHONY: help
help:
@echo ''Cleaning targets:''
@echo '' clean - clean subdirs and remove the build dir''
--- from-0001/tools/vnet/doc/Makefile
+++ to-work/tools/vnet/doc/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -23,8 +23,10 @@ DOC_MAN5 := $(patsubst man/%.pod.5,man5/
.PHONY: all man clean install
+.PHONY: all
all: man
+.PHONY: man
man:
@if which $(POD2MAN) 1>/dev/null 2>/dev/null; then \
$(MAKE) $(DOC_MAN1) $(DOC_MAN5); fi
@@ -39,10 +41,12 @@ man5/%.5: man/%.pod.5 Makefile
$(POD2MAN) --release=$(VERSION) --name=`echo $@ | sed
''s/^man5.//''| \
sed ''s/.5//''` -s 5 -c $(HEADER) $< $@
+.PHONY: clean
clean:
@$(RM) -rf man5
@$(RM) -rf man1
+.PHONY: install
install: all
$(INSTALL_DIR) $(DESTDIR)$(MAN_DIR)
$(CP) -dR man1 $(DESTDIR)$(MAN_DIR)
--- from-0001/tools/vnet/examples/Makefile
+++ to-work/tools/vnet/examples/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -7,13 +7,14 @@ INSTALL_DIR = $(INSTALL) -d -m0755
XEN_SCRIPT_DIR = $(DESTDIR)/etc/xen/scripts
-.PHONY: all install clean
-
+.PHONY: all
all:
+.PHONY: install
install:
$(INSTALL_DIR) $(XEN_SCRIPT_DIR)
$(INSTALL_PROG) network-vnet $(XEN_SCRIPT_DIR)
$(INSTALL_PROG) vnet-insert $(XEN_SCRIPT_DIR)
-clean:
\ ファイル末尾に改行がありません
+.PHONY: clean
+clean:
--- from-0001/tools/vnet/libxutil/Makefile
+++ to-work/tools/vnet/libxutil/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -42,8 +42,10 @@ LIB += libxutil.so.$(MAJOR)
LIB += libxutil.so.$(MAJOR).$(MINOR)
LIB += libxutil.a
+.PHONY: all
all: build
+.PHONY: build
build: #check-for-zlib
$(MAKE) $(LIB)
@@ -61,6 +63,7 @@ libxutil.so.$(MAJOR).$(MINOR): $(PIC_OBJ
libxutil.a: $(LIB_OBJS)
$(AR) rc $@ $^
+.PHONY: check-for-zlib
check-for-zlib:
@if [ ! -e /usr/include/zlib.h ]; then \
echo "***********************************************************";
\
@@ -69,6 +72,7 @@ check-for-zlib:
false; \
fi
+.PHONY: install
install: build
[ -d $(DESTDIR)/usr/$(LIBDIR) ] || $(INSTALL_DIR) -p $(DESTDIR)/usr/$(LIBDIR)
$(INSTALL_PROG) libxutil.so.$(MAJOR).$(MINOR) $(DESTDIR)/usr/$(LIBDIR)
@@ -76,6 +80,7 @@ install: build
ln -sf libxutil.so.$(MAJOR).$(MINOR)
$(DESTDIR)/usr/$(LIBDIR)/libxutil.so.$(MAJOR)
ln -sf libxutil.so.$(MAJOR) $(DESTDIR)/usr/$(LIBDIR)/libxutil.so
+.PHONY: clean
clean:
-@$(RM) *.a *.so* *.o *.opic *.rpm
-@$(RM) *~
--- from-0001/tools/vnet/scripts/Makefile
+++ to-work/tools/vnet/scripts/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -7,12 +7,13 @@ INSTALL_DIR = $(INSTALL) -d -m0755
SBIN_DIR = $(DESTDIR)/usr/sbin
-.PHONY: all install clean
-
+.PHONY: all
all:
+.PHONY: install
install:
$(INSTALL_DIR) $(SBIN_DIR)
$(INSTALL_PROG) vn $(SBIN_DIR)
-clean:
\ ファイル末尾に改行がありません
+.PHONY: clean
+clean:
--- from-0001/tools/vnet/vnetd/Makefile
+++ to-work/tools/vnet/vnetd/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -19,6 +19,7 @@
VNET_ROOT = $(shell cd .. && pwd)
include $(VNET_ROOT)/Make.env
+.PHONY: all
all: vnetd
#----------------------------------------------------------------------------
@@ -104,10 +105,12 @@ VNETD_LIBS:= $(GC_LIB_A)
vnetd: $(VNETD_OBJ)
$(CC) $(CFLAGS) -o $@ $^ $(VNETD_LIBS) -ldl -lpthread
+.PHONY: install
install: vnetd
mkdir -p $(DESTDIR)$(VNETD_INSTALL_DIR)
install -m 0755 vnetd $(DESTDIR)$(VNETD_INSTALL_DIR)
+.PHONY: clean
clean:
-@$(RM) *.a *.o *~
-@$(RM) vnetd
--- from-0001/tools/vtpm/Makefile
+++ to-work/tools/vtpm/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -13,14 +13,18 @@ TPM_EMULATOR_TARFILE = tpm_emulator-0.2b
GMP_HEADER = /usr/include/gmp.h
+.PHONY: all
all: build
+.PHONY: build
build: $(TPM_EMULATOR_DIR) $(VTPM_DIR) build_sub
+.PHONY: install
install: build
$(MAKE) -C $(TPM_EMULATOR_DIR) $@
$(MAKE) -C $(VTPM_DIR) $@
+.PHONY: clean
clean:
@if [ -d $(TPM_EMULATOR_DIR) ]; \
then $(MAKE) -C $(TPM_EMULATOR_DIR) clean; \
@@ -29,6 +33,7 @@ clean:
then $(MAKE) -C $(VTPM_DIR) clean; \
fi
+.PHONY: mrproper
mrproper:
rm -f $(TPM_EMULATOR_TARFILE)
rm -rf $(TPM_EMULATOR_DIR)
@@ -58,6 +63,7 @@ $(VTPM_DIR): $(TPM_EMULATOR_TARFILE) tpm
patch -p1 < ../tpm_emulator-0.2b-x86_64.patch; \
patch -p1 <../vtpm.patch
+.PHONY: build_sub
build_sub:
@if [ -e $(GMP_HEADER) ]; then \
$(MAKE) -C $(VTPM_DIR); \
--- from-0001/tools/vtpm_manager/Makefile
+++ to-work/tools/vtpm_manager/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -6,8 +6,10 @@ include $(XEN_ROOT)/tools/vtpm_manager/R
SUBDIRS = crypto tcs util manager
OPENSSL_HEADER = /usr/include/openssl/crypto.h
+.PHONY: all
all: build
+.PHONY: build
build:
@if [ -e $(OPENSSL_HEADER) ]; then \
@set -e; for subdir in $(SUBDIRS); do \
@@ -17,17 +19,20 @@ build:
echo "*** Cannot build vtpm_manager: OpenSSL developement files
missing."; \
fi
+.PHONY: install
install: build
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
done
+.PHONY: clean
clean:
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
done
+.PHONY: mrproper
mrproper:
@set -e; for subdir in $(SUBDIRS); do \
$(MAKE) -C $$subdir $@; \
--- from-0001/tools/vtpm_manager/crypto/Makefile
+++ to-work/tools/vtpm_manager/crypto/Makefile 2006-04-07 14:24:50.000000000
+0900
@@ -3,15 +3,20 @@ include $(XEN_ROOT)/tools/vtpm_manager/R
BIN = libtcpaCrypto.a
+.PHONY: all
all: build
+.PHONY: build
build: $(BIN)
+.PHONY: install
install: build
+.PHONY: clean
clean:
rm -f *.a *.so *.o *.rpm $(DEP_FILES)
+.PHONY: mrproper
mrproper: clean
rm -f *~
--- from-0001/tools/vtpm_manager/manager/Makefile
+++ to-work/tools/vtpm_manager/manager/Makefile 2006-04-07 14:24:50.000000000
+0900
@@ -3,19 +3,24 @@ include $(XEN_ROOT)/tools/vtpm_manager/R
BIN = vtpm_managerd
+.PHONY: all
all: build
+.PHONY: build
build: $(BIN)
+.PHONY: install
install: build
if [ ! -d "$(DESTDIR)/var/vtpm/fifos" ]; \
then mkdir -p $(DESTDIR)/var/vtpm/fifos; \
fi
$(INSTALL_PROG) $(BIN) $(TOOLS_INSTALL_DIR)
+.PHONY: clean
clean:
rm -f *.a *.so *.o *.rpm $(DEP_FILES)
+.PHONY: mrproper
mrproper: clean
rm -f $(BIN) *~
--- from-0001/tools/vtpm_manager/tcs/Makefile
+++ to-work/tools/vtpm_manager/tcs/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -3,15 +3,20 @@ include $(XEN_ROOT)/tools/vtpm_manager/R
BIN = libTCS.a
+.PHONY: all
all: build
+.PHONY: build
build: $(BIN)
+.PHONY: install
install: build
+.PHONY: clean
clean:
rm -f *.a *.so *.o *.rpm $(DEP_FILES)
+.PHONY: mrproper
mrproper: clean
rm -f *~
--- from-0001/tools/vtpm_manager/util/Makefile
+++ to-work/tools/vtpm_manager/util/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -3,15 +3,20 @@ include $(XEN_ROOT)/tools/vtpm_manager/R
BIN = libTCGUtils.a
+.PHONY: all
all: build
+.PHONY: build
build: $(BIN)
+.PHONY: install
install: build
+.PHONY: clean
clean:
rm -f *.a *.so *.o *.rpm $(DEP_FILES)
+.PHONY: mrproper
mrproper: clean
rm -f *~
--- from-0001/tools/xcutils/Makefile
+++ to-work/tools/xcutils/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -32,6 +32,8 @@ LDLIBS = -L$(XEN_LIBXC) -lxenguest -lx
.PHONY: all
all: build
+
+.PHONY: build
build: $(PROGRAMS)
$(PROGRAMS): %: %.o
@@ -44,6 +46,7 @@ install: build
$(INSTALL_PROG) $(PROGRAMS) $(DESTDIR)$(PROGRAMS_INSTALL_DIR)
+.PHONY: clean
clean:
$(RM) *.o $(PROGRAMS)
$(RM) $(PROG_DEP)
--- from-0001/tools/xenmon/Makefile
+++ to-work/tools/xenmon/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -28,16 +28,20 @@ LDFLAGS += -L $(XEN_LIBXC)
BIN = setmask xenbaked
SCRIPTS = xenmon.py
+.PHONY: all
all: build
+.PHONY: build
build: $(BIN)
+.PHONY: install
install: xenbaked setmask
[ -d $(DESTDIR)$(sbindir) ] || $(INSTALL_DIR) $(DESTDIR)$(sbindir)
$(INSTALL_PROG) xenbaked $(DESTDIR)$(sbindir)/xenbaked
$(INSTALL_PROG) setmask $(DESTDIR)$(sbindir)/setmask
$(INSTALL_PROG) xenmon.py $(DESTDIR)$(sbindir)/xenmon.py
+.PHONY: clean
clean:
rm -f $(BIN)
--- from-0001/tools/xenstat/libxenstat/Makefile
+++ to-work/tools/xenstat/libxenstat/Makefile 2006-04-07 14:24:50.000000000
+0900
@@ -41,6 +41,7 @@ WARN_FLAGS=-Wall -Werror
CFLAGS+=-Isrc -I$(XEN_LIBXC) -I$(XEN_XENSTORE)
LDFLAGS+=-Lsrc
+.PHONY: all
all: $(LIB)
$(LIB): $(OBJECTS)
@@ -62,6 +63,7 @@ src/libxenstat.so.$(MAJOR): $(LIB)
src/libxenstat.so: src/libxenstat.so.$(MAJOR)
$(MAKE_LINK) $(<F) $@
+.PHONY: install
install: all
#install: all
# $(INSTALL_DATA) src/xenstat.h $(DESTDIR)$(includedir)/xenstat.h
@@ -84,6 +86,7 @@ BINDINGS=$(PYLIB) $(PYMOD) $(PERLLIB) $(
BINDINGSRC=$(PYSRC) $(PERLSRC)
# The all-bindings target builds all the language bindings
+.PHONY: all-bindings
all-bindings: perl-bindings python-bindings
# The install-bindings target installs all the language bindings
@@ -110,6 +113,7 @@ install-python-bindings: $(PYLIB) $(PYMO
$(INSTALL_PROG) $(PYMOD) $(DESTDIR)$(pythonlibdir)/xenstat.py
ifeq ($(XENSTAT_PYTHON_BINDINGS),y)
+.PHONY: all
all: python-bindings
install: install-python-bindings
endif
@@ -122,8 +126,10 @@ $(PERLSRC) $(PERLMOD): bindings/swig/xen
$(PERLLIB): $(PERLSRC)
$(CC) $(CFLAGS) $(LDFLAGS) $(PERL_FLAGS) -shared -lxenstat -o $@ $<
+.PHONY: perl-bindings
perl-bindings: $(PERLLIB) $(PERLMOD)
+.PHONY: install-perl-bindings
perllibdir=$(prefix)/lib/perl5
perlmoddir=$(prefix)/share/perl5
install-perl-bindings: $(PERLLIB) $(PERLMOD)
@@ -131,10 +137,14 @@ install-perl-bindings: $(PERLLIB) $(PERL
$(INSTALL_PROG) $(PERLMOD) $(DESTDIR)$(perlmoddir)/xenstat.pm
ifeq ($(XENSTAT_PERL_BINDINGS),y)
+.PHONY: all
all: perl-bindings
+
+.PHONY: install
install: install-perl-bindings
endif
+.PHONY: clean
clean:
rm -f $(LIB) $(SHLIB) $(SHLIB_LINKS) $(OBJECTS) \
$(BINDINGS) $(BINDINGSRC)
--- from-0001/tools/xenstat/xentop/Makefile
+++ to-work/tools/xenstat/xentop/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -14,6 +14,7 @@ XEN_ROOT=../../..
include $(XEN_ROOT)/tools/Rules.mk
ifneq ($(XENSTAT_XENTOP),y)
+.PHONY: all install xentop
all install xentop:
else
@@ -30,15 +31,19 @@ CFLAGS += -DGCC_PRINTF -Wall -Werror -I$
LDFLAGS += -L$(XEN_LIBXENSTAT)
LDLIBS += -lxenstat -lncurses
+.PHONY: all
all: xentop
+.PHONY: xentop
xentop: xentop.o
+.PHONY: install
install: xentop xentop.1
$(INSTALL_PROG) xentop $(DESTDIR)$(sbindir)/xentop
$(INSTALL_DATA) xentop.1 $(DESTDIR)$(man1dir)/xentop.1
endif
+.PHONY: clean
clean:
rm -f xentop xentop.o
--- from-0001/tools/xenstore/Makefile
+++ to-work/tools/xenstore/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -27,11 +27,13 @@ CLIENTS := xenstore-exists xenstore-list
CLIENTS += xenstore-write
CLIENTS_OBJS := $(patsubst xenstore-%,xenstore_%.o,$(CLIENTS))
+.PHONY: all
all: libxenstore.so xenstored $(CLIENTS) xs_tdb_dump xenstore-control
xenstore-ls
test_interleaved_transactions: test_interleaved_transactions.o
$(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -L. -lxenstore -o $@
+.PHONY: testcode
testcode: xs_test xenstored_test xs_random
xenstored: xenstored_core.o xenstored_watch.o xenstored_domain.o
xenstored_transaction.o xs_lib.o talloc.o utils.o tdb.o hashtable.o
@@ -55,14 +57,17 @@ xenstored_test: xenstored_core_test.o xe
xs_tdb_dump: xs_tdb_dump.o utils.o tdb.o talloc.o
$(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -o $@
+.PHONY: xs_test xs_random xs_stress xs_crashme
xs_test xs_random xs_stress xs_crashme: LDFLAGS+=-lpthread
xs_test: xs_test.o xs_lib.o utils.o
xs_random: xs_random.o xs_test_lib.o xs_lib.o talloc.o utils.o
xs_stress: xs_stress.o xs_test_lib.o xs_lib.o talloc.o utils.o
xs_crashme: xs_crashme.o xs_lib.o talloc.o utils.o
+.PHONY: speedtest
speedtest: speedtest.o xs.o xs_lib.o utils.o talloc.o
+.PHONY: check-speed
check-speed: speedtest xenstored_test $(TESTDIR)
$(TESTENV) time ./speedtest 100
@@ -80,6 +85,7 @@ talloc_test.o: talloc.c
libxenstore.so: xs.opic xs_lib.opic
$(CC) $(CFLAGS) $(LDFLAGS) -Wl,-soname -Wl,libxenstore.so -shared -o $@ $^
-lpthread
+.PHONY: clean
clean: testsuite-clean
rm -f *.o *.opic *.so
rm -f xenstored xs_random xs_stress xs_crashme
@@ -87,55 +93,69 @@ clean: testsuite-clean
rm -f $(CLIENTS)
$(RM) $(PROG_DEP)
+.PHONY: print-dir
print-dir:
@echo -n tools/xenstore:
+.PHONY: print-end
print-end:
@echo
+.PHONY: check
check: print-dir testsuite-fast randomcheck-fast print-end
+.PHONY: fullcheck
fullcheck: testsuite-run randomcheck stresstest
$(TESTDIR):
mkdir $@
+.PHONY: testsuite-run
testsuite-run: xenstored_test xs_test $(TESTDIR)
$(TESTENV) testsuite/test.sh && echo
+.PHONY: testsuite-fast
testsuite-fast: xenstored_test xs_test $(TESTDIR)
@$(TESTENV) testsuite/test.sh --fast
+.PHONY: testsuite-clean
testsuite-clean:
rm -rf $(TESTDIR)
# Make this visible so they can see repeat tests without --fast if they
# fail.
RANDSEED=$(shell date +%s)
+.PHONY: randomcheck
randomcheck: xs_random xenstored_test $(TESTDIR)
$(TESTENV) ./xs_random --simple --fast /tmp/xs_random 200000 $(RANDSEED)
&& echo
$(TESTENV) ./xs_random --fast /tmp/xs_random 100000 $(RANDSEED) &&
echo
# $(TESTENV) ./xs_random --fail /tmp/xs_random 10000 $(RANDSEED)
+.PHONY: crashme
crashme: xs_crashme xenstored_test $(TESTDIR)
rm -rf $(TESTDIR)/store $(TESTDIR)/transactions /tmp/xs_crashme.vglog*
/tmp/trace
export $(TESTENV); ./xs_crashme 5000 $(RANDSEED) 2>/dev/null
if [ -n "`cat /tmp/xs_crashme.vglog*`" ]; then echo Valgrind
complained; cat /tmp/xs_crashme.vglog*; exit 1; fi
rm -rf $(TESTDIR)/store $(TESTDIR)/transactions /tmp/xs_crashme.vglog*
/tmp/trace
+.PHONY: randomcheck-fast
randomcheck-fast: xs_random xenstored_test $(TESTDIR)
@$(TESTENV) ./xs_random --fast /tmp/xs_random 2000 $(RANDSEED)
+.PHONY: stresstest
stresstest: xs_stress xenstored_test $(TESTDIR)
rm -rf $(TESTDIR)/store $(TESTDIR)/transactions
export $(TESTENV); PID=`./xenstored_test --output-pid
--trace-file=/tmp/trace`; ./xs_stress 5000; ret=$$?; kill $$PID; exit $$ret
+.PHONY: TAGS
TAGS:
etags `find . -name ''*.[ch]''`
+.PHONY: tarball
tarball: clean
cd .. && tar -c -j -v -h -f xenstore.tar.bz2 xenstore/
+.PHONY: install
install: all
$(INSTALL_DIR) -p $(DESTDIR)/var/run/xenstored
$(INSTALL_DIR) -p $(DESTDIR)/var/lib/xenstored
--- from-0001/tools/xentrace/Makefile
+++ to-work/tools/xentrace/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -28,9 +28,13 @@ ifeq ($(XEN_TARGET_ARCH),x86_64)
LIBBIN += xenctx
endif
+.PHONY: all
all: build
+
+.PHONY: build
build: $(BIN) $(LIBBIN)
+.PHONY: install
install: build
[ -d $(DESTDIR)/usr/bin ] || $(INSTALL_DIR) $(DESTDIR)/usr/bin
[ -z "$(LIBBIN)" ] || [ -d $(DESTDIR)/usr/$(LIBDIR)/xen/bin ] || \
@@ -44,6 +48,7 @@ install: build
$(INSTALL_DATA) $(MAN1) $(DESTDIR)/usr/share/man/man1
$(INSTALL_DATA) $(MAN8) $(DESTDIR)/usr/share/man/man8
+.PHONY: clean
clean:
$(RM) *.a *.so *.o *.rpm $(BIN) $(LIBBIN)
--- from-0001/xen/Makefile
+++ to-work/xen/Makefile 2006-04-07 14:33:48.000000000 +0900
@@ -7,17 +7,21 @@ export XEN_FULLVERSION := $(XEN_VERSION
export BASEDIR := $(CURDIR)
+.PHONY: default
default: build
ifeq ($(XEN_ROOT),)
+.PHONY: build install clean
build install clean:
make -f Rules.mk $@
else
+.PHONY: build
build: $(TARGET).gz
+.PHONY: install
install: $(TARGET).gz
[ -d $(DESTDIR)/boot ] || $(INSTALL_DIR) $(DESTDIR)/boot
$(INSTALL_DATA) $(TARGET).gz $(DESTDIR)/boot/$(notdir
$(TARGET))-$(XEN_FULLVERSION).gz
@@ -31,6 +35,7 @@ install: $(TARGET).gz
$(INSTALL_DATA) include/public/io/*.h $(DESTDIR)/usr/include/xen/io
$(INSTALL_DATA) include/public/COPYING $(DESTDIR)/usr/include/xen
+.PHONY: clean
clean:: delete-unfresh-files
$(MAKE) -C tools clean
$(MAKE) -f $(BASEDIR)/Rules.mk -C common clean
@@ -43,6 +48,7 @@ clean:: delete-unfresh-files
endif
+.PHONY: install
dist: install
debug: FORCE
@@ -63,6 +69,7 @@ $(TARGET): delete-unfresh-files
# drivers/char/console.o contains static banner/compile info. Blow it away.
# Don''t refresh these files during e.g., ''sudo make
install''
+.PHONY: delete-unfresh-files
delete-unfresh-files:
@if [ ! -r include/xen/compile.h -o -O include/xen/compile.h ]; then \
rm -f include/xen/{banner,compile}.h; \
@@ -119,8 +126,6 @@ include/asm-$(TARGET_ARCH)/asm-offsets.h
echo ""; \
echo "#endif") <$< >$@
-.PHONY: default debug build install dist clean delete-unfresh-files TAGS tags
-
SUBDIRS = acm arch/$(TARGET_ARCH) common drivers
define all_sources
( find include/asm-$(TARGET_ARCH) -name SCCS -prune -o -name
''*.h'' -print; \
@@ -128,12 +133,20 @@ define all_sources
-name config \) -prune -o -name ''*.h'' -print; \
find $(SUBDIRS) -name SCCS -prune -o -name ''*.[chS]''
-print )
endef
+
+.PHONY: TAGS
TAGS:
$(all_sources) | etags -
+
+.PHONY: tags
tags:
$(all_sources) | xargs ctags
+
+.PHONY: cscope
cscope:
$(all_sources) > cscope.files
cscope -k -b -q
+
+.PHONY: MAP
MAP:
$(NM) $(TARGET) | grep -v ''\(compiled\)\|\(\.o$$\)\|\( [aUw]
\)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)'' | sort > System.map
--- from-0001/xen/arch/ia64/tools/privop/Makefile
+++ to-work/xen/arch/ia64/tools/privop/Makefile 2006-04-07 14:24:50.000000000
+0900
@@ -1,10 +1,13 @@
CC=gcc
CFLAGS=-O -Wall
+.PHONY: all
all: postat
+.PHONY: postat
postat: postat.c pohcalls.o
+.PHONY: clean
clean:
$(RM) -f *.o postat *.s *~
--- from-0001/xen/tools/Makefile
+++ to-work/xen/tools/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -1,13 +1,16 @@
include $(BASEDIR)/../Config.mk
+.PHONY: default
default:
$(MAKE) -C figlet
$(MAKE) symbols
+.PHONY: clean
clean:
$(MAKE) -C figlet clean
rm -f *.o symbols
+.PHONY: symbols
symbols: symbols.c
$(HOSTCC) $(HOSTCFLAGS) -o $@ $<
--- from-0001/xen/tools/figlet/Makefile
+++ to-work/xen/tools/figlet/Makefile 2006-04-07 14:24:50.000000000 +0900
@@ -4,5 +4,6 @@ include $(BASEDIR)/../Config.mk
figlet: figlet.c
$(HOSTCC) -o $@ $<
+.PHONY: clean
clean:
rm -f *.o figlet
--
Horms
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Horms
2006-Apr-10 02:29 UTC
[Xen-devel] [PATCH 5/11] build: clean up output of make help a little bit
# HG changeset patch # User Horms <horms@verge.net.au> # Node ID 91cb0f2b5b6fd6e74abaeb3cf7d80e399ddaaff5 # Parent 8dc0b3cf422a5a599e4687018fadfa639a96c354 build: clean up output of make help a little bit Signed-Off-By: Horms <horms@verge.net.au> diff -r 8dc0b3cf422a -r 91cb0f2b5b6f Makefile --- a/Makefile Thu Mar 30 15:13:45 2006 +0900 +++ b/Makefile Thu Mar 30 15:13:48 2006 +0900 @@ -153,10 +153,9 @@ help: @echo '' dev-docs - build developer-only documentation'' @echo '''' @echo ''Cleaning targets:'' - @echo '' clean - clean the Xen, tools and docs (but not'' - @echo '' guest kernel) trees'' - @echo '' distclean - clean plus delete kernel tarballs and kernel'' - @echo '' build trees'' + @echo '' clean - clean the Xen, tools and docs (but not guest kernel trees)'' + @echo '' distclean - clean plus delete kernel build trees and'' + @echo '' local downloaded files'' @echo '' kdelete - delete guest kernel build trees'' @echo '' kclean - clean guest kernel build trees'' @echo '''' @@ -164,8 +163,8 @@ help: @echo '' prep-kernels - prepares kernel directories, does not build'' @echo '' mkpatches - make patches against vanilla kernels from'' @echo '' sparse trees'' - @echo '' uninstall - attempt to remove installed Xen tools (use'' - @echo '' with extreme care!)'' + @echo '' uninstall - attempt to remove installed Xen tools'' + @echo '' (use with extreme care!)'' # Use this target with extreme care! .PHONY: uninstall -- Horms _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Horms
2006-Apr-10 02:29 UTC
[Xen-devel] [PATCH 6/11] build: Document the use of XEN_PYTHON_NATIVE_INSTALL
# HG changeset patch # User Horms <horms@verge.net.au> # Node ID a1cc586bceb80bee9a01ee4bf10bca6cb65c53e8 # Parent 91cb0f2b5b6fd6e74abaeb3cf7d80e399ddaaff5 build: Document the use of XEN_PYTHON_NATIVE_INSTALL Document the use of the XEN_PYTHON_NATIVE_INSTALL environment variable Signed-Off-By: Horms <horms@verge.net.au> diff -r 91cb0f2b5b6f -r a1cc586bceb8 Makefile --- a/Makefile Thu Mar 30 15:13:48 2006 +0900 +++ b/Makefile Thu Mar 30 15:13:50 2006 +0900 @@ -165,6 +165,13 @@ help: @echo '' sparse trees'' @echo '' uninstall - attempt to remove installed Xen tools'' @echo '' (use with extreme care!)'' + @echo + @echo ''Environment:'' + @echo '' XEN_PYTHON_NATIVE_INSTALL=y'' + @echo '' - native python install or dist'' + @echo '' install into prefix/lib/python<VERSION>'' + @echo '' instead of <PREFIX>/lib/python'' + @echo '' true if set to non-empty value, false otherwise'' # Use this target with extreme care! .PHONY: uninstall -- Horms _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Horms
2006-Apr-10 02:29 UTC
[Xen-devel] [PATCH 7/11] build: clean up kclean and distclean for kernel
# HG changeset patch # User Horms <horms@verge.net.au> # Node ID d9046742b4a9365bc4b8c010a4f9944c3976219f # Parent a1cc586bceb80bee9a01ee4bf10bca6cb65c53e8 build: clean up kclean and distclean for kernel * Don''t delete non-existent %.tar.bz2 in buildconfigs/Rules.mk''s %-mrproper * Add a mrpropper target to buildconfigs/mk.linux-2.6-xen, and have this delete the local patch and tarball * Make distclean depend on kclean, rather than calling delete target by hand * Stop kclean from erroring out if the kernel directory doesn''t exist * Remove patches/*/.makedep in top level Makefile rather than in buildconfigs/Rules.mk, as calling rules in the latter causes patches/*/.make to be created (Magnus) Signed-Off-By: Magnus Damm <magnus@valinux.co.jp> Signed-Off-By: Horms <horms@verge.net.au> --- from-0009/Makefile +++ to-work/Makefile 2006-03-30 16:53:12.000000000 +0900 @@ -121,12 +121,12 @@ clean:: $(MAKE) -C tools clean $(MAKE) -C docs clean -# clean, but blow away kernel build tree plus tarballs +# clean, but blow away kernel build tree plus local tarballs .PHONY: distclean -distclean: clean +distclean: clean kdelete rm -rf dist patches/tmp - for i in $(ALLKERNELS) ; do $(MAKE) $$i-delete ; done for i in $(ALLSPARSETREES) ; do $(MAKE) $$i-mrproper ; done + rm -rf patches/*/.makedep # Linux name for GNU distclean .PHONY: mrproper --- from-0007/buildconfigs/Rules.mk +++ to-work/buildconfigs/Rules.mk 2006-03-30 16:53:12.000000000 +0900 @@ -59,10 +59,6 @@ ifneq ($(PATCHDIRS),) $(patsubst patches/%,patches/%/.makedep,$(PATCHDIRS)): patches/%/.makedep: @echo ''ref-$*/.valid-ref: $$(wildcard patches/$*/*.patch)'' >$@ -.PHONY: clean -clean:: - rm -f patches/*/.makedep - ref-%/.valid-ref: pristine-%/.valid-pristine set -e rm -rf $(@D) @@ -111,7 +107,8 @@ linux-2.6-xen.patch: ref-linux-$(LINUX_V rm -rf tmp-$@ %-mrproper: - rm -rf pristine-$(*)* ref-$(*)* $*.tar.bz2 + $(MAKE) -f buildconfigs/mk.$*-xen mrpropper + rm -rf pristine-$(*)* ref-$(*)* rm -rf $*-xen.patch .PHONY: config-update-pae --- from-0007/buildconfigs/mk.linux-2.6-xen +++ to-work/buildconfigs/mk.linux-2.6-xen 2006-03-30 16:54:32.000000000 +0900 @@ -48,8 +48,14 @@ config: $(LINUX_DIR)/include/linux/autoc .PHONY: clean clean:: - $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) clean + [ ! -d $(LINUX_DIR) ] || \ + $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_ARCH) clean + .PHONY: delete delete: rm -rf tmp-linux-$(LINUX_VER) $(LINUX_DIR) + +.PHONY: mrpropper +mrpropper: + rm -f $(LINUX_SRCS) -- Horms _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
# HG changeset patch # User Horms <horms@verge.net.au> # Node ID aec720c1347b14b6d4ab1b3838fdde0cc8dd9600 # Parent d9046742b4a9365bc4b8c010a4f9944c3976219f build: Clean pygrub''s a.out Signed-Off-By: Magnus Damm <magnus@valinux.co.jp> Signed-Off-By: Horms <horms@valinux.co.jp> diff -r d9046742b4a9 -r aec720c1347b tools/pygrub/Makefile --- a/tools/pygrub/Makefile Thu Mar 30 15:13:52 2006 +0900 +++ b/tools/pygrub/Makefile Thu Mar 30 15:13:56 2006 +0900 @@ -19,4 +19,4 @@ endif .PHONY: clean clean: - rm -rf build tmp *.pyc *.pyo *.o *.a *~ + rm -rf build tmp *.pyc *.pyo *.o *.a *~ a.out -- Horms _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Horms
2006-Apr-10 02:29 UTC
[Xen-devel] [PATCH 9/11] build: Use --bzip2 with tar instead of -j
# HG changeset patch # User Horms <horms@verge.net.au> # Node ID fff0293d01ce01a625cc05c67a52b0b18fe4114c # Parent aec720c1347b14b6d4ab1b3838fdde0cc8dd9600 build: Use --bzip2 with tar instead of -j Ok, this is a bit nitpicky. But I noticed in the GNU tar man page that it recommends using --bzip2 instead of -j, originally the -j option was -I Signed-Off-By: Horms <horms@verge.net.au> diff -r aec720c1347b -r fff0293d01ce buildconfigs/Rules.mk --- a/buildconfigs/Rules.mk Thu Mar 30 15:13:56 2006 +0900 +++ b/buildconfigs/Rules.mk Thu Mar 30 15:13:58 2006 +0900 @@ -44,7 +44,7 @@ pristine-%/.valid-pristine: %.tar.bz2 pristine-%/.valid-pristine: %.tar.bz2 rm -rf tmp-pristine-$* $(@D) mkdir -p tmp-pristine-$* - tar -C tmp-pristine-$* -jxf $< + tar -C tmp-pristine-$* --bzip2 -xf $< -@rm -f tmp-pristine-$*/pax_global_header mv tmp-pristine-$*/* $(@D) @rm -rf tmp-pristine-$* diff -r aec720c1347b -r fff0293d01ce tools/xenstore/Makefile --- a/tools/xenstore/Makefile Thu Mar 30 15:13:56 2006 +0900 +++ b/tools/xenstore/Makefile Thu Mar 30 15:13:58 2006 +0900 @@ -153,7 +153,7 @@ TAGS: .PHONY: tarball tarball: clean - cd .. && tar -c -j -v -h -f xenstore.tar.bz2 xenstore/ + cd .. && tar -c --bzip2 -v -h -f xenstore.tar.bz2 xenstore/ .PHONY: install install: all -- Horms _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Horms
2006-Apr-10 02:30 UTC
[Xen-devel] [PATCH 10/11] build: make linux download more flexable
# HG changeset patch
# User Horms <horms@verge.net.au>
# Node ID 491d06219ffdc9e9b99a483fe948970b75d52e06
# Parent fff0293d01ce01a625cc05c67a52b0b18fe4114c
build: make linux download more flexable
* Allow LINUX_REPO to specify the URL of the repository for the linux kernel,
- Defaults is: http://www.kernel.org/pub/linux/kernel/
* Allow LINUX_REPO to be overridden in the environment
* LINUX_REPO it should be the path, trimmed to give a structure
equivalent to http://www.kernel.org/pub/linux/kernel/
- The kernel tarball will be downloaded from
$(LINUX_REPO)/v$(KERNEL_MAJOR).$(KERNEL_MINOR)/
e.g. http://www.kernel.org/pub/linux/kernel/v2.6
Where KERNEL_MAJOR and KERNEL_MINOR are calculated at runtime
- The path of the tarball can be overridden using LINUX_REPO_KERNEL_PATH
in the environment, in which case the tarball will be downloaded from
$(LINUX_REPO)/v$(LINUX_REPO_KERNEL_PATH)/
- If needed kernel patches will be downloaded from
$(LINUX_REPO)/v$(KERNEL_MAJOR).$(KERNEL_MINOR)/snapshots
if present, else
$(LINUX_REPO)/v$(KERNEL_MAJOR).$(KERNEL_MINOR)/testing
This will depend on the version of the patch
- The path of the tarball can be overridden using LINUX_REPO_KERNEL_PATH
in the environment, in which case the patch will be downloaded from
$(LINUX_REPO)/v$(LINUX_REPO_PATCH_PATH)/
- The intention of LINUX_REPO_KERNEL_PATH and LINUX_REPO_PATCH_PATH
is to allow for sites that don''t follow the directory hierarchy of
kernel.org, while simplifying the presumably common case where they do
* Previously KERNEL_REPO had similar properties to LINUX_REPO, but
it was not as flexible, had a somewhat presumptuous name and could
not be overridden in the environment. It has been removed
* Allow DOWNLOAD_PATH to set a search path for previously downloaded files
- Use the first element of the path as the directory to save
downloaded files
- Default is LINUX_SRC_PATH if set in environment, else .:..
- Note that kclean-tarball, makedistlcean-* and friends
intentionally only remove tarballs in the top level xen directory,
regardless of the value of this variable. This is to allow
more persistent storage of tarballs in a specified location,
which cam be manually cleaned if desired.
Signed-Off-By: Horms <horms@verge.net.au>
diff -r fff0293d01ce -r 491d06219ffd Config.mk
--- a/Config.mk Thu Mar 30 15:13:58 2006 +0900
+++ b/Config.mk Thu Mar 30 15:16:40 2006 +0900
@@ -69,7 +69,17 @@ CFLAGS += $(foreach i, $(EXTRA_INCLUDES)
CFLAGS += $(foreach i, $(EXTRA_INCLUDES), -I$(i))
# Choose the best mirror to download linux kernel
-KERNEL_REPO = http://www.kernel.org
+DOWNLOAD_PATH_DEFAULT := .:..
+LINUX_REPO_DEFAULT := http://www.kernel.org/pub/linux/kernel/
+ifdef LINUX_SRC_PATH
+DOWNLOAD_PATH ?= $(LINUX_SRC_PATH) # Compatibility
+else
+DOWNLOAD_PATH ?= $(DOWNLOAD_PATH_DEFAULT)
+endif
+DOWNLOAD_DIR := $(firstword $(subst :, ,$(DOWNLOAD_PATH)))
+LINUX_REPO ?= $(LINUX_REPO_DEFAULT)
+# LINUX_REPO_KERNEL_PATH Set in buildconfigs/Rules.mk, if not in environment
+# LINUX_REPO_PATCH_PATH Set in buildconfigs/Rules.mk, if not in environment
# If ACM_SECURITY = y, then the access control module is compiled
# into Xen and the policy type can be set by the boot policy file
diff -r fff0293d01ce -r 491d06219ffd Makefile
--- a/Makefile Thu Mar 30 15:13:58 2006 +0900
+++ b/Makefile Thu Mar 30 15:16:40 2006 +0900
@@ -172,6 +172,20 @@ help:
@echo '' install into
prefix/lib/python<VERSION>''
@echo '' instead of
<PREFIX>/lib/python''
@echo '' true if set to non-empty value, false
otherwise''
+ @echo '' LINUX_REPO=URL - Base URL to download linux kernel
from''
+ @echo '' Default:
"$(LINUX_REPO_DEFAULT)"''
+ @echo '' LINUX_REPO_KERNEL_PATH=DIRECTORY''
+ @echo '' - LINUX_REPO assumes that the URL has the
same directory''
+ @echo '' structure as
$(LINUX_REPO_DEFAULT)''
+ @echo '' and the rest of the path to the tarball
is derived.''
+ @echo '' If set, override the
derivation.''
+ @echo '' Default: ""''
+ @echo '' LINUX_REPO_PATCHL_PATH=DIRECTORY''
+ @echo '' - LINUX_REPO assumes that the URL has the
same directory''
+ @echo '' structure as
$(LINUX_REPO_DEFAULT)''
+ @echo '' and the rest of the path to the patches
is derived.''
+ @echo '' If set, override the
derivation.''
+ @echo '' Default: ""''
# Use this target with extreme care!
.PHONY: uninstall
diff -r fff0293d01ce -r 491d06219ffd buildconfigs/Rules.mk
--- a/buildconfigs/Rules.mk Thu Mar 30 15:13:58 2006 +0900
+++ b/buildconfigs/Rules.mk Thu Mar 30 15:16:40 2006 +0900
@@ -22,32 +22,58 @@ LINUX_VER ?= $(shell grep "^LINUX_VER" b
LINUX_VER ?= $(shell grep "^LINUX_VER" buildconfigs/mk.linux-2.6-xen
| sed -e ''s/.*=[ ]*//'')
# Setup Linux search path
-LINUX_SRC_PATH ?= .:..
-vpath linux-%.tar.bz2 $(LINUX_SRC_PATH)
-vpath patch-%.bz2 $(LINUX_SRC_PATH)
+vpath linux-%.tar.bz2 $(DOWNLOAD_PATH)
+vpath patch-%.bz2 $(DOWNLOAD_PATH)
# download a pristine Linux kernel tarball if there isn''t one in
LINUX_SRC_PATH
+ifndef LINUX_REPO_KERNEL_PATH
linux-%.tar.bz2: override _LINUX_VDIR = $(word 1,$(subst ., ,$*)).$(word
2,$(subst ., ,$*))
+linux-%.tar.bz2: LINUX_REPO_KERNEL_PATH = v$(_LINUX_VDIR)
+endif
linux-%.tar.bz2:
@echo "Cannot find $@ in path $(LINUX_SRC_PATH)"
- wget $(KERNEL_REPO)/pub/linux/kernel/v$(_LINUX_VDIR)/$@ -O./$@
+ wget $(LINUX_REPO)/$(LINUX_REPO_KERNEL_PATH)/$@ -O$(DOWNLOAD_DIR)/$@ \
+ || { rm -f $(DOWNLOAD_DIR)/$@; false; }
+ifndef LINUX_REPO_PATCH_PATH
patch-%.bz2: override _LINUX_VDIR = $(word 1,$(subst ., ,$(*F))).$(word
2,$(subst ., ,$(*F)))
patch-%.bz2: override _LINUX_XDIR = $(if $(word 3,$(subst -,
,$(*F))),snapshots,testing)
+patch-%.bz2: LINUX_REPO_PATCH_PATH = v$(_LINUX_VDIR)/$(_LINUX_XDIR)
+endif
patch-%.bz2:
@echo "Cannot find $(@F) in path $(LINUX_SRC_PATH)"
- wget $(KERNEL_REPO)/pub/linux/kernel/v$(_LINUX_VDIR)/$(_LINUX_XDIR)/$(@F)
-O./$@
+ wget $(LINUX_REPO)/$(LINUX_REPO_PATCH_PATH)/$(@F) \
+ -O$(DOWNLOAD_DIR)/$@ || { rm -f $(DOWNLOAD_DIR)/$@; false; }
pristine-%: pristine-%/.valid-pristine
@true
+
+# unpack-pristine and patch-pristine targets are run in a submake
+# so that vpath is re-evaluated. This is important for the case
+# where the files are dowloaded this time around, and they are downloaded
+# into an alternate directory, as specified by DOWNLOAD_PATH
-pristine-%/.valid-pristine: %.tar.bz2
+unpack-pristine-%-X: %
+ tar -C $(UNPACK_DIR) --bzip2 -xf $<
+
+patch-pristine-%-X: %
+ echo $<
+ bzcat $< | patch -d $(UNPACK_DIR) -p1
+
+.PHONY: patch-pristine-dummy
+patch-pristine-dummy-X:
+
+pristine-%/.valid-pristine: $(LINUX_TARBALL) $(LINUX_PATCHES)
rm -rf tmp-pristine-$* $(@D)
mkdir -p tmp-pristine-$*
- tar -C tmp-pristine-$* --bzip2 -xf $<
- -@rm -f tmp-pristine-$*/pax_global_header
+ @# firstword is used to get rid of any whitespace
+ $(MAKE) UNPACK_DIR=tmp-pristine-$* \
+ unpack-pristine-$(firstword $(LINUX_TARBALL))-X
+ -rm -f tmp-pristine-$*/pax_global_header
mv tmp-pristine-$*/* $(@D)
- @rm -rf tmp-pristine-$*
+ rm -rf tmp-pristine-$*
+ $(MAKE) KERNELS=linux-2.6-xen UNPACK_DIR=pristine-$* \
+ $(patsubst %, patch-pristine-%-X, dummy $(LINUX_PATCHES))
touch $(@D)/.hgskip
touch $@ # update timestamp to avoid rebuild
diff -r fff0293d01ce -r 491d06219ffd buildconfigs/mk.linux-2.6-xen
--- a/buildconfigs/mk.linux-2.6-xen Thu Mar 30 15:13:58 2006 +0900
+++ b/buildconfigs/mk.linux-2.6-xen Thu Mar 30 15:16:40 2006 +0900
@@ -1,6 +1,7 @@ LINUX_SERIES = 2.6
LINUX_SERIES = 2.6
LINUX_VER = 2.6.16
-LINUX_SRCS = linux-2.6.16.tar.bz2
+LINUX_TARBALL = linux-2.6.16.tar.bz2 # Only one makes sense
+#LINUX_PATCHES = patch-2.6.17-rcN.bz2 # Usually zero or one patch
EXTRAVERSION ?= xen
@@ -57,4 +58,4 @@ delete:
.PHONY: mrpropper
mrpropper:
- rm -f $(LINUX_SRCS)
+ rm -f $(LINUX_TARBALL) $(LINUX_PATCHES)
--
Horms
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Horms
2006-Apr-10 02:30 UTC
[Xen-devel] [PATCH 11/11] build: Don''t assume that mkbuildtree is executable
# HG changeset patch
# User Horms <horms@verge.net.au>
# Node ID f69f52013d13de62aa66bebfbab511ccebbfe222
# Parent 491d06219ffdc9e9b99a483fe948970b75d52e06
build: Don''t assume that mkbuildtree is executable
In some cases, say for instance for some bizzare reason
the tree was checked out of CVS, which doens''t neccessarily
store file permissions, mkbuildtree may not be executable.
I couldn''t decide btween chmoding mkbuildtree, which changes
the tree, and running sh mkbuildtree, which assumes its a shell
script. I settled on the latter.
Signed-Off-By: Horms <horms@verge.net.au>
diff -r 491d06219ffd -r f69f52013d13 buildconfigs/Rules.mk
--- a/buildconfigs/Rules.mk Thu Mar 30 15:16:40 2006 +0900
+++ b/buildconfigs/Rules.mk Thu Mar 30 15:21:11 2006 +0900
@@ -121,14 +121,14 @@ linux-2.6-xen.patch: ref-linux-$(LINUX_V
linux-2.6-xen.patch: ref-linux-$(LINUX_VER)/.valid-ref
rm -rf tmp-$@
cp -al $(<D) tmp-$@
- ( cd linux-2.6-xen-sparse && ./mkbuildtree ../tmp-$@ )
+ ( cd linux-2.6-xen-sparse && sh ./mkbuildtree ../tmp-$@ )
diff -Nurp $(<D) tmp-$@ > $@ || true
rm -rf tmp-$@
%-xen.patch: ref-%/.valid-ref
rm -rf tmp-$@
cp -al $(<D) tmp-$@
- ( cd $*-xen-sparse && ./mkbuildtree ../tmp-$@ )
+ ( cd $*-xen-sparse && sh ./mkbuildtree ../tmp-$@ )
diff -Nurp $(<D) tmp-$@ > $@ || true
rm -rf tmp-$@
diff -r 491d06219ffd -r f69f52013d13 buildconfigs/mk.linux-2.6-xen
--- a/buildconfigs/mk.linux-2.6-xen Thu Mar 30 15:16:40 2006 +0900
+++ b/buildconfigs/mk.linux-2.6-xen Thu Mar 30 15:21:11 2006 +0900
@@ -23,8 +23,8 @@ build: $(LINUX_DIR)/include/linux/autoco
rm -rf $(LINUX_DIR)
cp -al $(<D) $(LINUX_DIR)
# Apply arch-xen patches
- ( cd linux-$(LINUX_SERIES)-xen-sparse ; \
- LINUX_ARCH=$(LINUX_ARCH) ./mkbuildtree ../$(LINUX_DIR) )
+ ( cd linux-$(LINUX_SERIES)-xen-sparse && \
+ LINUX_ARCH=$(LINUX_ARCH) sh ./mkbuildtree ../$(LINUX_DIR) )
# Re-use config from install dir if one exits else use default config
CONFIG_VERSION=$$(sed -ne ''s/^EXTRAVERSION = //p''
$(LINUX_DIR)/Makefile); \
[ -r $(DESTDIR)/boot/config-$(LINUX_VER)$$CONFIG_VERSION-$(EXTRAVERSION) ]
&& \
diff -r 491d06219ffd -r f69f52013d13 linux-2.6-xen-sparse/mkbuildtree
--- a/linux-2.6-xen-sparse/mkbuildtree Thu Mar 30 15:16:40 2006 +0900
+++ b/linux-2.6-xen-sparse/mkbuildtree Thu Mar 30 15:21:11 2006 +0900
@@ -90,8 +90,8 @@ RS=$DESTPATH
RS=$DESTPATH
# Arch-specific pre-processing
-if [ -x arch/${LINUX_ARCH}/xen-mkbuildtree-pre ]; then
- arch/${LINUX_ARCH}/xen-mkbuildtree-pre
+if [ -e arch/${LINUX_ARCH}/xen-mkbuildtree-pre ]; then
+ sh arch/${LINUX_ARCH}/xen-mkbuildtree-pre
fi
# Remove old copies of files and directories at the destination
@@ -115,6 +115,6 @@ relative_lndir ../../../${RS}/../xen/inc
# Arch-specific post-processing
cd ${AD}
-if [ -x arch/${LINUX_ARCH}/xen-mkbuildtree-post ]; then
- arch/${LINUX_ARCH}/xen-mkbuildtree-post
+if [ -e arch/${LINUX_ARCH}/xen-mkbuildtree-post ]; then
+ sh arch/${LINUX_ARCH}/xen-mkbuildtree-post
fi
diff -r 491d06219ffd -r f69f52013d13 tools/debugger/gdb/gdbbuild
--- a/tools/debugger/gdb/gdbbuild Thu Mar 30 15:16:40 2006 +0900
+++ b/tools/debugger/gdb/gdbbuild Thu Mar 30 15:21:11 2006 +0900
@@ -7,7 +7,7 @@ tar xjf gdb-6.2.1.tar.bz2
tar xjf gdb-6.2.1.tar.bz2
cd gdb-6.2.1-xen-sparse
-./mkbuildtree ../gdb-6.2.1
+sh ./mkbuildtree ../gdb-6.2.1
cd ..
mkdir gdb-6.2.1-linux-i386-xen
diff -r 491d06219ffd -r f69f52013d13 tools/misc/xen-clone
--- a/tools/misc/xen-clone Thu Mar 30 15:16:40 2006 +0900
+++ b/tools/misc/xen-clone Thu Mar 30 15:21:11 2006 +0900
@@ -113,7 +113,7 @@ else
# Turn linux into xenolinux then build it
cd xenolinux-${LINUX_VER}-sparse
- ./mkbuildtree ../../linux-${LINUX_VER}
+ sh ./mkbuildtree ../../linux-${LINUX_VER}
cd ../..
mv linux-${LINUX_VER} xenolinux-${LINUX_VER}
cd xenolinux-${LINUX_VER}
--
Horms
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Keir Fraser
2006-Apr-10 15:40 UTC
Re: [Xen-devel] [PATCH 11/11] build: Don''t assume that mkbuildtree is executable
On 10 Apr 2006, at 03:30, Horms wrote:> In some cases, say for instance for some bizzare reason > the tree was checked out of CVS, which doens''t neccessarily > store file permissions, mkbuildtree may not be executable. > > I couldn''t decide btween chmoding mkbuildtree, which changes > the tree, and running sh mkbuildtree, which assumes its a shell > script. I settled on the latter.The scripts need bash and sh may not be bash? -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Horms
2006-Apr-11 01:23 UTC
Re: [Xen-devel] [PATCH 11/11] build: Don''t assume that mkbuildtree is executable
On Mon, Apr 10, 2006 at 04:40:11PM +0100, Keir Fraser wrote:> > On 10 Apr 2006, at 03:30, Horms wrote: > > >In some cases, say for instance for some bizzare reason > >the tree was checked out of CVS, which doens''t neccessarily > >store file permissions, mkbuildtree may not be executable. > > > >I couldn''t decide btween chmoding mkbuildtree, which changes > >the tree, and running sh mkbuildtree, which assumes its a shell > >script. I settled on the latter. > > The scripts need bash and sh may not be bash?Would you like me to look through the scripts for bashisms, and perhaps change sh to bash, or just go with the chmod u+x approach? -- Horms _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2006-Apr-11 08:26 UTC
Re: [Xen-devel] [PATCH 11/11] build: Don''t assume that mkbuildtree is executable
On 11 Apr 2006, at 02:23, Horms wrote:>>> I couldn''t decide btween chmoding mkbuildtree, which changes >>> the tree, and running sh mkbuildtree, which assumes its a shell >>> script. I settled on the latter. >> >> The scripts need bash and sh may not be bash? > > Would you like me to look through the scripts for bashisms, > and perhaps change sh to bash, or just go with the chmod u+x approach?I think all the scripts currently specify /bin/bash. You could define SHELL or SH in Config.mk, default to /bin/bash, and use that variable in place of ''sh''. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Horms
2006-Apr-11 08:50 UTC
Re: [Xen-devel] [PATCH 11/11] build: Don''t assume that mkbuildtree is executable
On Tue, Apr 11, 2006 at 09:26:29AM +0100, Keir Fraser wrote:> > On 11 Apr 2006, at 02:23, Horms wrote: > > >>>I couldn''t decide btween chmoding mkbuildtree, which changes > >>>the tree, and running sh mkbuildtree, which assumes its a shell > >>>script. I settled on the latter. > >> > >>The scripts need bash and sh may not be bash? > > > >Would you like me to look through the scripts for bashisms, > >and perhaps change sh to bash, or just go with the chmod u+x approach? > > I think all the scripts currently specify /bin/bash. You could define > SHELL or SH in Config.mk, default to /bin/bash, and use that variable > in place of ''sh''.Understood, if they are indeed all using /bin/bash at the moment. It seems as well to just specify bash. It can be made more flexible if the need arises. Here is an updated patch. -- Horms # HG changeset patch # User Horms <horms@verge.net.au> # Node ID f69f52013d13de62aa66bebfbab511ccebbfe222 # Parent 491d06219ffdc9e9b99a483fe948970b75d52e06 build: Don''t assume that mkbuildtree is executable In some cases, say for instance for some bizzare reason the tree was checked out of CVS, which doens''t neccessarily store file permissions, mkbuildtree may not be executable. I couldn''t decide btween chmoding mkbuildtree, which changes the tree, and running sh mkbuildtree, which assumes its a shell script. I settled on the latter. Amendum: All the scripts currently specify /bin/bash, so use bash rather than sh which was in the original version of this patch. Signed-Off-By: Horms <horms@verge.net.au> diff -r 491d06219ffd -r f69f52013d13 buildconfigs/Rules.mk --- a/buildconfigs/Rules.mk Thu Mar 30 15:16:40 2006 +0900 +++ b/buildconfigs/Rules.mk Thu Mar 30 15:21:11 2006 +0900 @@ -121,14 +121,14 @@ linux-2.6-xen.patch: ref-linux-$(LINUX_V linux-2.6-xen.patch: ref-linux-$(LINUX_VER)/.valid-ref rm -rf tmp-$@ cp -al $(<D) tmp-$@ - ( cd linux-2.6-xen-sparse && ./mkbuildtree ../tmp-$@ ) + ( cd linux-2.6-xen-sparse && bash ./mkbuildtree ../tmp-$@ ) diff -Nurp $(<D) tmp-$@ > $@ || true rm -rf tmp-$@ %-xen.patch: ref-%/.valid-ref rm -rf tmp-$@ cp -al $(<D) tmp-$@ - ( cd $*-xen-sparse && ./mkbuildtree ../tmp-$@ ) + ( cd $*-xen-sparse && bash ./mkbuildtree ../tmp-$@ ) diff -Nurp $(<D) tmp-$@ > $@ || true rm -rf tmp-$@ diff -r 491d06219ffd -r f69f52013d13 buildconfigs/mk.linux-2.6-xen --- a/buildconfigs/mk.linux-2.6-xen Thu Mar 30 15:16:40 2006 +0900 +++ b/buildconfigs/mk.linux-2.6-xen Thu Mar 30 15:21:11 2006 +0900 @@ -23,8 +23,8 @@ build: $(LINUX_DIR)/include/linux/autoco rm -rf $(LINUX_DIR) cp -al $(<D) $(LINUX_DIR) # Apply arch-xen patches - ( cd linux-$(LINUX_SERIES)-xen-sparse ; \ - LINUX_ARCH=$(LINUX_ARCH) ./mkbuildtree ../$(LINUX_DIR) ) + ( cd linux-$(LINUX_SERIES)-xen-sparse && \ + LINUX_ARCH=$(LINUX_ARCH) bash ./mkbuildtree ../$(LINUX_DIR) ) # Re-use config from install dir if one exits else use default config CONFIG_VERSION=$$(sed -ne ''s/^EXTRAVERSION = //p'' $(LINUX_DIR)/Makefile); \ [ -r $(DESTDIR)/boot/config-$(LINUX_VER)$$CONFIG_VERSION-$(EXTRAVERSION) ] && \ diff -r 491d06219ffd -r f69f52013d13 linux-2.6-xen-sparse/mkbuildtree --- a/linux-2.6-xen-sparse/mkbuildtree Thu Mar 30 15:16:40 2006 +0900 +++ b/linux-2.6-xen-sparse/mkbuildtree Thu Mar 30 15:21:11 2006 +0900 @@ -90,8 +90,8 @@ RS=$DESTPATH RS=$DESTPATH # Arch-specific pre-processing -if [ -x arch/${LINUX_ARCH}/xen-mkbuildtree-pre ]; then - arch/${LINUX_ARCH}/xen-mkbuildtree-pre +if [ -e arch/${LINUX_ARCH}/xen-mkbuildtree-pre ]; then + bash arch/${LINUX_ARCH}/xen-mkbuildtree-pre fi # Remove old copies of files and directories at the destination @@ -115,6 +115,6 @@ relative_lndir ../../../${RS}/../xen/inc # Arch-specific post-processing cd ${AD} -if [ -x arch/${LINUX_ARCH}/xen-mkbuildtree-post ]; then - arch/${LINUX_ARCH}/xen-mkbuildtree-post +if [ -e arch/${LINUX_ARCH}/xen-mkbuildtree-post ]; then + bash arch/${LINUX_ARCH}/xen-mkbuildtree-post fi diff -r 491d06219ffd -r f69f52013d13 tools/debugger/gdb/gdbbuild --- a/tools/debugger/gdb/gdbbuild Thu Mar 30 15:16:40 2006 +0900 +++ b/tools/debugger/gdb/gdbbuild Thu Mar 30 15:21:11 2006 +0900 @@ -7,7 +7,7 @@ tar xjf gdb-6.2.1.tar.bz2 tar xjf gdb-6.2.1.tar.bz2 cd gdb-6.2.1-xen-sparse -./mkbuildtree ../gdb-6.2.1 +bash ./mkbuildtree ../gdb-6.2.1 cd .. mkdir gdb-6.2.1-linux-i386-xen diff -r 491d06219ffd -r f69f52013d13 tools/misc/xen-clone --- a/tools/misc/xen-clone Thu Mar 30 15:16:40 2006 +0900 +++ b/tools/misc/xen-clone Thu Mar 30 15:21:11 2006 +0900 @@ -113,7 +113,7 @@ else # Turn linux into xenolinux then build it cd xenolinux-${LINUX_VER}-sparse - ./mkbuildtree ../../linux-${LINUX_VER} + bash ./mkbuildtree ../../linux-${LINUX_VER} cd ../.. mv linux-${LINUX_VER} xenolinux-${LINUX_VER} cd xenolinux-${LINUX_VER} _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2006-Apr-11 09:23 UTC
Re: [Xen-devel] [PATCH 11/11] build: Don''t assume that mkbuildtree is executable
On 11 Apr 2006, at 09:50, Horms wrote:>> I think all the scripts currently specify /bin/bash. You could define >> SHELL or SH in Config.mk, default to /bin/bash, and use that variable >> in place of ''sh''. > > Understood, if they are indeed all using /bin/bash at the moment. It > seems as well to just specify bash. It can be made more flexible if the > need arises. Here is an updated patch.Let''s not risk any regressions: it should be /bin/bash, and apart from the configurability argument it''s also cleaner imo to define a wrapper variable for /bin/bash in Config.mk. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Horms
2006-Apr-13 02:22 UTC
Re: [Xen-devel] [PATCH 11/11] build: Don''t assume that mkbuildtree is executable
On Tue, Apr 11, 2006 at 10:23:39AM +0100, Keir Fraser wrote:> > On 11 Apr 2006, at 09:50, Horms wrote: > > >>I think all the scripts currently specify /bin/bash. You could define > >>SHELL or SH in Config.mk, default to /bin/bash, and use that variable > >>in place of ''sh''. > > > >Understood, if they are indeed all using /bin/bash at the moment. It > >seems as well to just specify bash. It can be made more flexible if the > >need arises. Here is an updated patch. > > Let''s not risk any regressions: it should be /bin/bash, and apart from > the configurability argument it''s also cleaner imo to define a wrapper > variable for /bin/bash in Config.mk.Understood -- Horms build: Don''t assume that mkbuildtree is executable In some cases, say for instance for some bizarre reason the tree was checked out of CVS, which doesn''t necessarily store file permissions, mkbuildtree may not be executable. I had trouble deciding between chmoding mkbuildtree, which changes the tree, and running sh mkbuildtree, which assumes its a shell script. I settled on the latter. As all the scripts currently specify /bin/bash, it is used, rather than sh which was in the original version of this patch. This can be overridden by setting MKBUILD_SHELL in the environment. MKBUILD_SHELL was chosen over SHELL as the latter has special significance within make. Signed-Off-By: Horms <horms@verge.net.au> Config.mk | 2 ++ Makefile | 3 +++ buildconfigs/Rules.mk | 8 ++++++-- buildconfigs/mk.linux-2.6-xen | 4 ++-- linux-2.6-xen-sparse/mkbuildtree | 10 ++++++---- tools/debugger/gdb/gdbbuild | 3 ++- tools/misc/xen-clone | 5 ++++- 7 files changed, 25 insertions(+), 10 deletions(-) --- x/Config.mk +++ x/Config.mk @@ -92,4 +92,6 @@ XENSTAT_XENTOP ?= y VTPM_TOOLS ?= n +MKBUILD_SHELL ?= /bin/bash + -include $(XEN_ROOT)/.config --- x/Makefile +++ x/Makefile @@ -172,6 +172,9 @@ help: @echo '' install into prefix/lib/python<VERSION>'' @echo '' instead of <PREFIX>/lib/python'' @echo '' true if set to non-empty value, false otherwise'' + @echo '' MKBUILD_SHELL'' + @echo '' - shell used to invoke various mkbuild scripts'' + @echo '' default is /bin/bash'' # Use this target with extreme care! .PHONY: uninstall --- x/buildconfigs/Rules.mk +++ x/buildconfigs/Rules.mk @@ -99,14 +99,18 @@ endif linux-2.6-xen.patch: ref-linux-$(LINUX_VER)/.valid-ref rm -rf tmp-$@ cp -al $(<D) tmp-$@ - ( cd linux-2.6-xen-sparse && ./mkbuildtree ../tmp-$@ ) + ( cd linux-2.6-xen-sparse && \ + MKBUILD_SHELL="$(MKBUILD_SHELL)" $(MKBUILD_SHELL) \ + ./mkbuildtree ../tmp-$@ ) diff -Nurp $(patsubst ref%,pristine%,$(<D)) tmp-$@ > $@ || true rm -rf tmp-$@ %-xen.patch: ref-%/.valid-ref rm -rf tmp-$@ cp -al $(<D) tmp-$@ - ( cd $*-xen-sparse && ./mkbuildtree ../tmp-$@ ) + ( cd $*-xen-sparse && \ + MKBUILD_SHELL="$(MKBUILD_SHELL)" $(MKBUILD_SHELL) \ + ./mkbuildtree ../tmp-$@ ) diff -Nurp $(patsubst ref%,pristine%,$(<D)) tmp-$@ > $@ || true rm -rf tmp-$@ --- x/buildconfigs/mk.linux-2.6-xen +++ x/buildconfigs/mk.linux-2.6-xen @@ -22,8 +22,8 @@ $(LINUX_DIR)/include/linux/autoconf.h: r rm -rf $(LINUX_DIR) cp -al $(<D) $(LINUX_DIR) # Apply arch-xen patches - ( cd linux-$(LINUX_SERIES)-xen-sparse ; \ - LINUX_ARCH=$(LINUX_ARCH) ./mkbuildtree ../$(LINUX_DIR) ) + ( cd linux-$(LINUX_SERIES)-xen-sparse && \ + LINUX_ARCH=$(LINUX_ARCH) bash ./mkbuildtree ../$(LINUX_DIR) ) # Re-use config from install dir if one exits else use default config CONFIG_VERSION=$$(sed -ne ''s/^EXTRAVERSION = //p'' $(LINUX_DIR)/Makefile); \ [ -r $(DESTDIR)/boot/config-$(LINUX_VER)$$CONFIG_VERSION-$(EXTRAVERSION) ] && \ バイナリー・ファイル/dev/nullとto-work/linux-2.6-xen-sparse/.mkbuildtree.swpは違います --- x/linux-2.6-xen-sparse/mkbuildtree +++ x/linux-2.6-xen-sparse/mkbuildtree @@ -90,8 +90,9 @@ abs_to_rel ${AD} ${AS} RS=$DESTPATH # Arch-specific pre-processing -if [ -x arch/${LINUX_ARCH}/xen-mkbuildtree-pre ]; then - arch/${LINUX_ARCH}/xen-mkbuildtree-pre +if [ -e arch/${LINUX_ARCH}/xen-mkbuildtree-pre ]; then + MKBUILD_SHELL="$MKBUILD_SHELL" $MKBUILD_SHELL \ + arch/${LINUX_ARCH}/xen-mkbuildtree-pre fi # Remove old copies of files and directories at the destination @@ -115,6 +116,7 @@ relative_lndir ../../../${RS}/../xen/inc # Arch-specific post-processing cd ${AD} -if [ -x arch/${LINUX_ARCH}/xen-mkbuildtree-post ]; then - arch/${LINUX_ARCH}/xen-mkbuildtree-post +if [ -e arch/${LINUX_ARCH}/xen-mkbuildtree-post ]; then + MKBUILD_SHELL="$MKBUILD_SHELL" $MKBUILD_SHELL \ + arch/${LINUX_ARCH}/xen-mkbuildtree-post fi --- x/tools/debugger/gdb/gdbbuild +++ x/tools/debugger/gdb/gdbbuild @@ -1,5 +1,6 @@ #!/bin/sh +[ "$MKBUILD_SHELL" ] || MKBUILD_SHELL="/bin/bash" [ "$GDB_MIRROR" ] || GDB_MIRROR="ftp://ftp.gnu.org/gnu/gdb/" rm -rf gdb-6.2.1 gdb-6.2.1-linux-i386-xen @@ -7,7 +8,7 @@ rm -rf gdb-6.2.1 gdb-6.2.1-linux-i386-xe tar xjf gdb-6.2.1.tar.bz2 cd gdb-6.2.1-xen-sparse -./mkbuildtree ../gdb-6.2.1 +MKBUILD_SHELL="$MKBUILD_SHELL" $MKBUILD_SHELL ./mkbuildtree ../gdb-6.2.1 cd .. mkdir gdb-6.2.1-linux-i386-xen --- x/tools/misc/xen-clone +++ x/tools/misc/xen-clone @@ -5,6 +5,8 @@ # this script contains some CL site specific details, but can easily be adapted # +MKBUILD_SHELL=${MKBUILD_SHELL:-/bin/bash} + # test which site we''re on [ -d /usr/groups/xeno/ -a -d /usr/groups/srgboot ] && SITE=UCCL @@ -113,7 +115,8 @@ else # Turn linux into xenolinux then build it cd xenolinux-${LINUX_VER}-sparse - ./mkbuildtree ../../linux-${LINUX_VER} + MKBUILD_SHELL="$MKBUILD_SHELL" $MKBUILD_SHELL \ + ./mkbuildtree ../../linux-${LINUX_VER} cd ../.. mv linux-${LINUX_VER} xenolinux-${LINUX_VER} cd xenolinux-${LINUX_VER} _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2006-Apr-13 10:21 UTC
Re: [Xen-devel] [PATCH 11/11] build: Don''t assume that mkbuildtree is executable
On 13 Apr 2006, at 03:22, Horms wrote:>>> Understood, if they are indeed all using /bin/bash at the moment. It >>> seems as well to just specify bash. It can be made more flexible if >>> the >>> need arises. Here is an updated patch. >> >> Let''s not risk any regressions: it should be /bin/bash, and apart from >> the configurability argument it''s also cleaner imo to define a wrapper >> variable for /bin/bash in Config.mk. > > UnderstoodThat turns out quite ugly doesn''t it... maybe I prefer the previous patch (just use bash) after all. I guess bash will always be findable via PATH anyway, and we *know* we need bash, so selecting a different shell would not be a good idea. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Horms
2006-Apr-14 01:44 UTC
Re: [Xen-devel] [PATCH 11/11] build: Don''t assume that mkbuildtree is executable
On Thu, Apr 13, 2006 at 11:21:55AM +0100, Keir Fraser wrote:> > On 13 Apr 2006, at 03:22, Horms wrote: > > >>>Understood, if they are indeed all using /bin/bash at the moment. It > >>>seems as well to just specify bash. It can be made more flexible if > >>>the > >>>need arises. Here is an updated patch. > >> > >>Let''s not risk any regressions: it should be /bin/bash, and apart from > >>the configurability argument it''s also cleaner imo to define a wrapper > >>variable for /bin/bash in Config.mk. > > > >Understood > > That turns out quite ugly doesn''t it... maybe I prefer the previous > patch (just use bash) after all. I guess bash will always be findable > via PATH anyway, and we *know* we need bash, so selecting a different > shell would not be a good idea.I''m comfortable either way, so please use whichever you prefer. -- Horms _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel