From: Oleg Verych <olecom@flower.upol.cz>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: Rusty Russell <rusty@rustcorp.com.au>,
LKML <linux-kernel@vger.kernel.org>,
kbuild-devel@lists.sourceforge.net
Subject: [patch] kbuild: remember ARCH in the object directory
Date: Tue, 12 Jun 2007 12:31:56 +0200 [thread overview]
Message-ID: <E1Hy3fI-0001Tw-Fy@flower> (raw)
In-Reply-To: <20070611125903.GA3933@uranus.ravnborg.org>
[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 <olecom@flower.upol.cz>
---
-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
# ===========================================================================
next prev parent reply other threads:[~2007-06-12 10:20 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-09 9:51 [patch 4/9] lguest: the asm offsets akpm
2007-05-09 20:46 ` Sam Ravnborg
2007-05-10 0:09 ` Rusty Russell
2007-06-11 12:49 ` Oleg Verych
2007-06-11 12:59 ` Sam Ravnborg
2007-06-12 10:31 ` Oleg Verych [this message]
2007-06-12 15:04 ` [patch] kbuild: remember ARCH in the object directory Randy Dunlap
2007-06-12 16:12 ` Randy Dunlap
2007-06-12 17:19 ` Oleg Verych
2007-06-12 18:09 ` Sam Ravnborg
2007-06-13 2:12 ` [kbuild-devel] " H. Peter Anvin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=E1Hy3fI-0001Tw-Fy@flower \
--to=olecom@flower.upol.cz \
--cc=kbuild-devel@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
--cc=rusty@rustcorp.com.au \
--cc=sam@ravnborg.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox