[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <4787403C.76E4.0078.0@novell.com>
Date: Fri, 11 Jan 2008 09:09:00 +0000
From: "Jan Beulich" <jbeulich@...ell.com>
To: <sam@...nborg.org>
Cc: <linux-kernel@...r.kernel.org>
Subject: [PATCH] scripts/mkmakefile: dynamic determination of output
directory
Rather than fixing the output directory in the generated Makefile,
determine it from the placement of Makefile. This allows moving
the build tree around or accessing it through different mount paths.
(The lastword definition is a compatibility one for make prior to 3.81;
newer make will simply ignore it and use the [faster] built-in.)
Signed-off-by: Jan Beulich <jbeulich@...ell.com>
---
scripts/mkmakefile | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
--- linux-2.6.24-rc7/scripts/mkmakefile 2008-01-10 16:55:30.000000000 +0100
+++ 2.6.24-rc7-mkmakefile-objdir/scripts/mkmakefile 2008-01-08 12:35:11.000000000 +0100
@@ -25,8 +25,11 @@ cat << EOF > $2/Makefile
VERSION = $3
PATCHLEVEL = $4
-KERNELSRC := $1
-KERNELOUTPUT := $2
+lastword = \$(word \$(words \$(1)),\$(1))
+makedir := \$(dir \$(call lastword,\$(MAKEFILE_LIST)))
+
+MAKEARGS := -C $1
+MAKEARGS += O=\$(if \$(patsubst /%,,\$(makedir)),\$(CURDIR)/)\$(patsubst %/,%,\$(makedir))
MAKEFLAGS += --no-print-directory
@@ -35,10 +38,11 @@ MAKEFLAGS += --no-print-directory
all := \$(filter-out all Makefile,\$(MAKECMDGOALS))
all:
- \$(MAKE) -C \$(KERNELSRC) O=\$(KERNELOUTPUT) \$(all)
+ \$(MAKE) \$(MAKEARGS) \$(all)
Makefile:;
\$(all) %/: all
@:
+
EOF
--
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