[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <53A2BE65.2070501@suse.cz>
Date: Thu, 19 Jun 2014 12:41:41 +0200
From: Michal Marek <mmarek@...e.cz>
To: Boaz Harrosh <openosd@...il.com>
CC: linux-kernel <linux-kernel@...r.kernel.org>,
Alexei Starovoitov <alexei.starovoitov@...il.com>,
Sam Ravnborg <sam@...nborg.org>
Subject: Re: kbuild: support of new KBUILD_FULL_PATH
On 2014-06-19 12:12, Boaz Harrosh wrote:
>
> The commit:
>
> commit 9da0763bdd82572be243fcf5161734f11568960f
> Author: Michal Marek <mmarek@...e.cz>
> Date: Fri Apr 25 23:25:18 2014 +0200
>
> kbuild: Use relative path when building in a subdir of the source tree
>
> When doing make O=<subdir>, use '..' to refer to the source tree. This
> allows for more readable compiler messages, and, more importantly, it
> sets the VPATH to '..', so filenames in WARN_ON() etc. will be shorter.
>
> Acked-by: Sam Ravnborg <sam@...nborg.org>
> Signed-off-by: Michal Marek <mmarek@...e.cz>
>
> Broke IDEs and other tools which analyze the make output.
> Introduce a new KBUILD_FULL_PATH switch to Makefile that will revert
> to the old output if KBUILD_FULL_PATH=1 is specified.
> The default is KBUILD_FULL_PATH=0
Parsing make output is a use case I did not think of, so the knob seems
inevitable :-/.
> Is there a document I need to edit for this new parameter?
That would be Documentation/kbuild/kbuild.txt
> Signed-off-by: Boaz Harrosh <boaz@...xistor.com>
> ---
> Makefile | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/Makefile b/Makefile
> index 97b2861..778732a 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -149,11 +149,17 @@ else
> _all: modules
> endif
>
> +# put KBUILD_FULL_PATH=1 if relative path to sources breaks your system
> +ifneq ($(KBUILD_FULL_PATH), 1)
> + KBUILD_FULL_PATH=""
> +endif
> +
> ifeq ($(KBUILD_SRC),)
> # building in the source tree
> srctree := .
> else
> - ifeq ($(KBUILD_SRC)/,$(dir $(CURDIR)))
> + # if KBUILD_FULL_PATH is not empty then condition will fail
> + ifeq ($(KBUILD_FULL_PATH)$(KBUILD_SRC)/,$(dir $(CURDIR)))
This is an ugly way to express the logic.
> # building in a subdirectory of the source tree
> srctree := ..
> else
How about generated sources like asm-offsets.s or the lexer and parser
in scripts/kconfig, does kdevelop figure out where the files live? If
not, you might need to add
-objtree := .
+ifeq ($(KBUILD_FULL_PATH),1)
+ objtree := $(CURDIR)
+else
+ objtree := .
+endif
to use the full path also for the O= directory.
Michal
--
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