From: Jan Beulich Date: Fri, 11 Jan 2008 09:09:00 +0000 (+0000) Subject: kbuild: scripts/mkmakefile: dynamic determination of output directory X-Git-Tag: v2.6.25-rc1~1164^2~38 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1d3b3bfab121cdef07d19797f42f413dccdd65f0;p=linux-2.6 kbuild: 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 Signed-off-by: Sam Ravnborg --- diff --git a/scripts/mkmakefile b/scripts/mkmakefile index e0f54b9d8f..e65d8b33fa 100644 --- a/scripts/mkmakefile +++ b/scripts/mkmakefile @@ -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