[PATCH 4.18 132/145] kconfig: fix "Cant open ..." in parallel build

From: Greg Kroah-Hartman
Date: Fri Sep 07 2018 - 17:25:17 EST


4.18-stable review patch. If anyone has any objections, please let me know.

------------------

From: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>

commit 98a4afbfafd226636cd6bb6a1208b3693daff2b1 upstream.

If you run "make menuconfig" or "make nconfig" with -j<N> option in a
fresh source tree, you will see several "Can't open ..." messages:

$ make -j8 menuconfig
HOSTCC scripts/basic/fixdep
YACC scripts/kconfig/zconf.tab.c
LEX scripts/kconfig/zconf.lex.c
/bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
/bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
/bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
/bin/sh: 1: .: HOSTCC scripts/kconfig/lxdialog/checklist.o
Can't open scripts/kconfig/.mconf-cfg
/bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
/bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
/bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
HOSTCC scripts/kconfig/lxdialog/inputbox.o
/bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
/bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
/bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
UPD scripts/kconfig/.mconf-cfg
/bin/sh: 1: .: Can't open scripts/kconfig/.mconf-cfg
HOSTCC scripts/kconfig/lxdialog/menubox.o
HOSTCC scripts/kconfig/lxdialog/textbox.o
HOSTCC scripts/kconfig/lxdialog/util.o
HOSTCC scripts/kconfig/lxdialog/yesno.o
HOSTCC scripts/kconfig/mconf.o
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/mconf

Correct dependencies to fix this problem.

Fixes: 1c5af5cf9308 ("kconfig: refactor ncurses package checks for building mconf and nconf")
Cc: linux-stable <stable@xxxxxxxxxxxxxxx> # v4.18
Reported-by: Borislav Petkov <bp@xxxxxxx>
Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
Tested-by: Borislav Petkov <bp@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
scripts/kconfig/Makefile | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -173,7 +173,7 @@ HOSTLOADLIBES_nconf = $(shell . $(obj)/.
HOSTCFLAGS_nconf.o = $(shell . $(obj)/.nconf-cfg && echo $$cflags)
HOSTCFLAGS_nconf.gui.o = $(shell . $(obj)/.nconf-cfg && echo $$cflags)

-$(obj)/nconf.o: $(obj)/.nconf-cfg
+$(obj)/nconf.o $(obj)/nconf.gui.o: $(obj)/.nconf-cfg

# mconf: Used for the menuconfig target based on lxdialog
hostprogs-y += mconf
@@ -184,7 +184,8 @@ HOSTLOADLIBES_mconf = $(shell . $(obj)/.
$(foreach f, mconf.o $(lxdialog), \
$(eval HOSTCFLAGS_$f = $$(shell . $(obj)/.mconf-cfg && echo $$$$cflags)))

-$(addprefix $(obj)/, mconf.o $(lxdialog)): $(obj)/.mconf-cfg
+$(obj)/mconf.o: $(obj)/.mconf-cfg
+$(addprefix $(obj)/lxdialog/, $(lxdialog)): $(obj)/.mconf-cfg

# qconf: Used for the xconfig target based on Qt
hostprogs-y += qconf