On Tue, 12 Jun 2007 12:31:56 +0200 Oleg Verych wrote: > [patch] kbuild: remember ARCH in the object directory > > - rephrase some related (misspelled) comments, > - remove all trailing whitespace in the top Makefile, > > * remember ARCH in the output directory, thus making build of i386 > on amd64 *actually* convenient, > > - harmless refactoring of the Makefile generating. > > Signed-off-by: Oleg Verych <[EMAIL PROTECTED]> > --- > > Just lazy typing `make ARCH=i386` every time i want to check lguest.
Hi Oleg, So does this only work when O= is used? I had tried to modify Makefile(s) to use the include/asm symlink if it exists, so that 'make ARCH=i386' is not needed after the symlink is created, but I never got that to work. Thanks, this is useful in any case (not yet tested though). > Makefile | 17 ++++++++--------- > scripts/mkmakefile | 42 ++++++++++++++++++++++++------------------ > 2 files changed, 32 insertions(+), 27 deletions(-) > > Index: linux-2.6.22-rc4-mm2/scripts/mkmakefile > =================================================================== > --- linux-2.6.22-rc4-mm2.orig/scripts/mkmakefile 2007-06-12 > 11:21:27.755466250 +0200 > +++ linux-2.6.22-rc4-mm2/scripts/mkmakefile 2007-06-12 12:04:13.675826250 > +0200 > @@ -1,6 +1,6 @@ > -#!/bin/sh > +#!/bin/sh -e > # Generates a small Makefile used in the root of the output > -# directory, to allow make to be started from there. > -# The Makefile also allow for more convinient build of external modules > +# directory, to allow kernel build to be started from there. > +# External modules can't built with it as well. > > # Usage > @@ -9,28 +9,34 @@ > # $3 - version > # $4 - patchlevel > +# $5 - ARCH > > +set -e > > -test ! -r $2/Makefile -o -O $2/Makefile || exit 0 > echo " GEN $2/Makefile" > +echo "# > +# Automatically generated by > +# $0 > +# > +VERSION = $3 > +PATCHLEVEL = $4 > + > +KERNELSRC = $1 > +KERNELOUTPUT = $2 > +ARCH = $5 > +" >$2/Makefile > > -cat << EOF > $2/Makefile > -# Automatically generated by $0: don't edit > +cat << "EOF" >> $2/Makefile > +MAKEFLAGS += -rR --no-print-directory > > -VERSION = $3 > -PATCHLEVEL = $4 > +export ARCH > > -KERNELSRC := $1 > -KERNELOUTPUT := $2 > - > -MAKEFLAGS += --no-print-directory > +all: > + $(MAKE) -C $(KERNELSRC) O=$(KERNELOUTPUT) > > -.PHONY: all \$(MAKECMDGOALS) > +$(filter-out all Makefile,$(MAKECMDGOALS)) %/: > + $(MAKE) -C $(KERNELSRC) O=$(KERNELOUTPUT) $@ > > -all: > - \$(MAKE) -C \$(KERNELSRC) O=\$(KERNELOUTPUT) > +.PHONY: all $(MAKECMDGOALS) > > Makefile:; > - > -\$(filter-out all Makefile,\$(MAKECMDGOALS)) %/: > - \$(MAKE) -C \$(KERNELSRC) O=\$(KERNELOUTPUT) \$@ > EOF --- ~Randy *** Remember to use Documentation/SubmitChecklist when testing your code *** - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/