lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <E1Hy3fI-0001Tw-Fy@flower>
Date:	Tue, 12 Jun 2007 12:31:56 +0200
From:	Oleg Verych <olecom@...wer.upol.cz>
To:	Sam Ravnborg <sam@...nborg.org>
Cc:	Rusty Russell <rusty@...tcorp.com.au>,
	LKML <linux-kernel@...r.kernel.org>,
	kbuild-devel@...ts.sourceforge.net
Subject: [patch] kbuild: remember ARCH in the object directory

[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@...wer.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
 # ===========================================================================
 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ