[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] 05: parallel-make.patch
=== Name: parallel-make.patch Depends: INSTALL.patch, proper-depends.patch Description: support parallellism better Using shell for loops doesn't allow make to run it the most parallel modes. Use patsubst/addsuffix tricks to make this work. DiffStat: Makefile | 60 +++++++++++++++++++++++------------------------------------ xen/Makefile | 9 +++----- 2 files changed, 28 insertions(+), 41 deletions(-) === Depends: INSTALL.patch, proper-depends.patch Description: support parallellism better Using shell for loops doesn't allow make to run it the most parallel modes. Use patsubst/addsuffix tricks to make this work. --- xen-2.0.3.orig/xen/Makefile +++ xen-2.0.3/xen/Makefile @@ -32,13 +32,12 @@ dist: $(TARGET) $(MAKE) prefix=`pwd`/../dist/install dist=yes install -clean: - $(MAKE) -C tools clean - $(MAKE) -C common clean - $(MAKE) -C drivers clean - $(MAKE) -C arch/$(TARGET_ARCH) clean +clean: tools.clean common.clean drivers.clean arch/$(TARGET_ARCH).clean rm -f include/asm *.o $(TARGET)* *~ core include/xen/compile.h rm -f include/asm-*/asm-offsets.h + +tools.clean common.clean drivers.clean arch/$(TARGET_ARCH).clean : %.clean: + $(MAKE) -C $* clean $(TARGET): delete-unfresh-files [ -e include/asm ] || ln -sf asm-$(TARGET_ARCH) include/asm --- xen-2.0.3.orig/Makefile +++ xen-2.0.3/Makefile @@ -30,25 +31,25 @@ # install everything into the standard system directories # NB: install explicitly does not check that everything is up to date! -install: install-tools install-xen install-kernels install-docs - -install-xen: - $(MAKE) -C xen install +install: xen.install tools.install kernels docs.install -install-tools: - $(MAKE) -C tools install - -install-kernels: +kernels.install: cp -a $(INSTALL_DIR)/boot/* /boot/ cp -a $(INSTALL_DIR)/lib/modules/* /lib/modules/ cp -dR $(INSTALL_DIR)/boot/*$(LINUX_VER)* $(prefix)/boot/ cp -dR $(INSTALL_DIR)/lib/modules/* $(prefix)/lib/modules/ -install-docs: - sh ./docs/check_pkgs && $(MAKE) -C docs install || true +docs.install: + sh ./docs/check_pkgs && $(MAKE) -C docs install || true + +xen.install tools.install: %.install: + $(MAKE) -C $* install + +xen.dist tools.dist: %.dist: + $(MAKE) -C $* dist # build and install everything into local dist directory -dist: xen tools kernels docs +dist: xen.dist tools.dist kernels docs.install $(INSTALL_DIR) $(DIST_DIR)/check $(INSTALL_DATA) ./COPYING $(DIST_DIR) $(INSTALL_DATA) ./README $(DIST_DIR) @@ -61,28 +63,23 @@ tools: $(MAKE) prefix=$(INSTALL_DIR) dist=yes -C tools install -kernels: - for i in $(XKERNELS) ; do $(MAKE) $$i-build ; done +kernels: $(addsuffix -build,$(XKERNELS)) docs: sh ./docs/check_pkgs && \ $(MAKE) prefix=$(INSTALL_DIR) dist=yes -C docs install || true # Build all the various kernels and modules kbuild: kernels # Delete the kernel build trees entirely -kdelete: - for i in $(XKERNELS) ; do $(MAKE) $$i-delete ; done +kdelete: $(addsuffix -clean,$(XKERNELS)) # Clean the kernel build trees -kclean: - for i in $(XKERNELS) ; do $(MAKE) $$i-clean ; done +kclean: $(addsuffix -clean,$(XKERNELS)) # Make patches from kernel sparse trees -mkpatches: - for i in $(ALLSPARSETREES) ; do $(MAKE) $$i-xen.patch ; done - +mkpatches: $(addsuffix -xen.patch,$(ALLSPARSETREES)) # build xen, the tools, and a domain 0 plus unprivileged linux-xen images, # and place them in the install directory. 'make install' should then @@ -93,16 +90,14 @@ $(MAKE) dist # clean doesn't do a kclean -clean: - $(MAKE) -C xen clean - $(MAKE) -C tools clean - $(MAKE) -C docs clean +clean: xen.clean tools.clean docs.clean + +xen.clean tools.clean docs.clean: %.clean: + $(MAKE) -C $* clean # clean, but blow away kernel build tree plus tar balls -mrproper: clean +mrproper: clean $(addsuffix -delete,$(ALLKERNELS)) $(addsuffix -mrproper,$(ALLSPARSETREES)) rm -rf dist patches/tmp - for i in $(ALLKERNELS) ; do $(MAKE) $$i-delete ; done - for i in $(ALLSPARSETREES) ; do $(MAKE) $$i-mrproper ; done install-twisted: wget http://www.twistedmatrix.com/products/get-current.epy @@ -165,13 +159,8 @@ rm -rf "/usr/lib/python2.?/site-packages/xen* /usr/lib/libxc* /usr/lib/python2.?/site-packages/Xc*" # Legacy targets for compatibility -linux24: - $(MAKE) linux-2.4-xen0-build - $(MAKE) linux-2.4-xenU-build - -linux26: - $(MAKE) linux-2.6-xen0-build - $(MAKE) linux-2.6-xenU-build +linux24: linux-2.4-xen0-build linux-2.4-xenU-build + +linux26: linux-2.6-xen0-build linux-2.6-xenU-build -netbsd20: - $(MAKE) netbsd-2.0-xenU-build +netbsd20: netbsd-2.0-xenU-build === ------------------------------------------------------- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag-&-drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |