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