On 2014-06-19 12:12, Boaz Harrosh wrote: > > The commit: > > commit 9da0763bdd82572be243fcf5161734f11568960f > Author: Michal Marek <mma...@suse.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 <s...@ravnborg.org> > Signed-off-by: Michal Marek <mma...@suse.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 <b...@plexistor.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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/