lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1404887241-14455-1-git-send-email-yamada.m@jp.panasonic.com>
Date:	Wed,  9 Jul 2014 15:27:21 +0900
From:	Masahiro Yamada <yamada.m@...panasonic.com>
To:	linux-kbuild@...r.kernel.org
Cc:	linux-kernel@...r.kernel.org,
	Masahiro Yamada <yamada.m@...panasonic.com>,
	Michal Marek <mmarek@...e.cz>, Sam Ravnborg <sam@...nborg.org>
Subject: [PATCH] kbuild: Use symbolic link to the source tree for out-of-tree build

Since commit 9da0763bd, the variable 'srctree' is set as follows:

[1] Building in the source tree
      => srctree is set to '.'
[2] Building in a subdir right under the source tree
      => srctree is set to '..'
[3] Other cases
      => srctree is set to the absolute path to the source tree

Pros are more readable compiler messages, WARN_ON() etc.
for case [1] and [2]. (but not [3])

Cons are we have to do build-test for 3 cases when adding
some changes to the build infrastructure.

We want to treat case [2] and [3] in the same way like prior to
commit 9da0763bd, keeping the compact log messages.

The idea here is to create a symbolic link 'srctree' pointing
to $(KBUILD_SRC) at the very early stage of the build process.

We created the symbolic link 'source' in outputmakefile: target,
but it is redundant and should be removed.
(I think 'srctree' is a more suitable symbolic link name than 'source')

Signed-off-by: Masahiro Yamada <yamada.m@...panasonic.com>
Cc: Michal Marek <mmarek@...e.cz>
Cc: Sam Ravnborg <sam@...nborg.org>
---
 Makefile | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/Makefile b/Makefile
index 4d75b4b..0089618 100644
--- a/Makefile
+++ b/Makefile
@@ -130,6 +130,7 @@ $(filter-out _all sub-make $(CURDIR)/Makefile, $(MAKECMDGOALS)) _all: sub-make
 # able to understand relative filenames.
 sub-make: FORCE
 	@echo "make[1]: Entering directory \`$(KBUILD_OUTPUT)'"
+	$(if $(KBUILD_VERBOSE:1=),@)ln -fsn $(CURDIR) $(KBUILD_OUTPUT)/srctree
 	$(if $(KBUILD_VERBOSE:1=),@)$(MAKE) -C $(KBUILD_OUTPUT) \
 	KBUILD_SRC=$(CURDIR) \
 	KBUILD_EXTMOD="$(KBUILD_EXTMOD)" -f $(CURDIR)/Makefile \
@@ -152,17 +153,7 @@ else
 _all: modules
 endif
 
-ifeq ($(KBUILD_SRC),)
-        # building in the source tree
-        srctree := .
-else
-        ifeq ($(KBUILD_SRC)/,$(dir $(CURDIR)))
-                # building in a subdirectory of the source tree
-                srctree := ..
-        else
-                srctree := $(KBUILD_SRC)
-        endif
-endif
+srctree		:= $(if $(KBUILD_SRC),srctree,.)
 objtree		:= .
 src		:= $(srctree)
 obj		:= $(objtree)
@@ -460,7 +451,6 @@ PHONY += outputmakefile
 # output directory.
 outputmakefile:
 ifneq ($(KBUILD_SRC),)
-	$(Q)ln -fsn $(srctree) source
 	$(Q)$(CONFIG_SHELL) $(srctree)/scripts/mkmakefile \
 	    $(srctree) $(objtree) $(VERSION) $(PATCHLEVEL)
 endif
-- 
1.9.1

--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ