[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]> --- -o--=O`C /. .\ #oo'L O o <___=E M ^-- Just lazy typing `make ARCH=i386` every time i want to check lguest. 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 Index: linux-2.6.22-rc4-mm2/Makefile =================================================================== --- linux-2.6.22-rc4-mm2.orig/Makefile 2007-06-12 11:35:20.559513250 +0200 +++ linux-2.6.22-rc4-mm2/Makefile 2007-06-12 11:51:10.438877000 +0200 @@ -156,5 +156,5 @@ export srctree objtree VPATH TOPDIR # first, and if a usermode build is happening, the "ARCH=um" on the command # line overrides the setting of ARCH below. If a native build is happening, -# then ARCH is assigned, getting whatever value it gets normally, and +# then ARCH is assigned, getting whatever value it gets normally, and # SUBARCH is subsequently ignored. @@ -242,5 +242,5 @@ export KBUILD_CHECKSRC KBUILD_SRC KBUILD # # If $(quiet) is empty, the whole command will be printed. -# If it is set to "quiet_", only the short version will be printed. +# If it is set to "quiet_", only the short version will be printed. # If it is set to "silent_", nothing will be printed at all, since # the variable $(silent_cmd_cc_o_c) doesn't exist. @@ -352,11 +352,10 @@ scripts/basic/%: scripts_basic ; PHONY += outputmakefile -# outputmakefile generates a Makefile in the output directory, if using a -# separate output directory. This allows convenient use of make in the -# output directory. outputmakefile: +# generate a Makefile in the output directory, if using a +# separate output directory; allows convenient use of make there ifneq ($(KBUILD_SRC),) $(Q)$(CONFIG_SHELL) $(srctree)/scripts/mkmakefile \ - $(srctree) $(objtree) $(VERSION) $(PATCHLEVEL) + $(srctree) $(objtree) $(VERSION) $(PATCHLEVEL) $(ARCH) endif @@ -699,5 +698,5 @@ endef cmd_ksym_ld = $(cmd_vmlinux__) define rule_ksym_ld - : + : +$(call cmd,vmlinux_version) $(call cmd,vmlinux__) @@ -750,5 +749,5 @@ endif $(Q)rm -f .old_version -# The actual objects are generated when descending, +# The actual objects are generated when descending, # make sure no implicit rule kicks in $(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): $(vmlinux-dirs) ; @@ -1454,5 +1453,5 @@ endif $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost -# FIXME Should go into a make.lib or something +# FIXME Should go into a make.lib or something # =========================================================================== - 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/