[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
 # ===========================================================================
 

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
kbuild-devel mailing list
kbuild-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kbuild-devel

Reply via email to