From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <53FAF8BF.3010008@plexistor.com> Date: Mon, 25 Aug 2014 11:50:07 +0300 From: Boaz Harrosh MIME-Version: 1.0 To: Michal Marek , Stable Tree , linux-kernel CC: David Howells Subject: [PATCH] Makefile: One last adjustment to relative paths Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: From: Boaz Harrosh I have one last problem when compiling under an IDE. This time it is when I compile linux under another Makefile with the use of make -C linux The make command is run from /home/boaz/dev/ What the IDE will see is: make[1]: Entering directory `/home/boaz/dev/linux-open-osd' This one is from the external make dev/Makefile make[1]: Entering directory `.build_um' ^ This one is emulated by Linux Makefile ... make[1]: Entering directory `.build_um' ^ This one is emulated by Linux Makefile again error: ../foo/baz.c:XXX ... The IDE will look for ../foo/baz.c at /home/boaz/dev/.build_um/../foo/baz.c == /home/boaz/dev/foo/baz.c This is because make will always print its "Entering directory" full path or relative to the original make command, this is make -C rules. the simple fix is to have "Entering directory" print full path. [Stable needed for 3.16] CC: Stable Tree Signed-off-by: Boaz Harrosh --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 6b27741..973c48f 100644 --- a/Makefile +++ b/Makefile @@ -178,7 +178,7 @@ $(filter-out _all sub-make $(CURDIR)/Makefile, $(MAKECMDGOALS)) _all: sub-make quiet_echodir := @echo silent_echodir := @: sub-make: FORCE - $($(quiet)echodir) "make[1]: Entering directory \`$(KBUILD_OUTPUT)'" + $($(quiet)echodir) "make[1]: Entering directory \`$(CURDIR)/$(KBUILD_OUTPUT)'" $(if $(KBUILD_VERBOSE:1=),@)$(MAKE) -C $(KBUILD_OUTPUT) \ KBUILD_SRC=$(CURDIR) \ KBUILD_EXTMOD="$(KBUILD_EXTMOD)" -f $(CURDIR)/Makefile \ -- 1.9.3