Re: [PATCH] kconfig: Update all declared targets

From: Masahiro Yamada
Date: Wed Jan 11 2023 - 23:52:40 EST


On Thu, Jan 12, 2023 at 1:39 PM Peter Foley <pefoley2@xxxxxxxxxxx> wrote:
>
> Currently qconf-cfg.sh is the only script that touches the "-bin"
> target, even though all of the conf_cfg rules declare that they do.
> Make the other scripts touch all declared targets to avoid
> incompatibilities with upcoming versions of GNU make:
> https://lists.gnu.org/archive/html/info-gnu/2022-10/msg00008.html
>
> e.g.
> scripts/kconfig/Makefile:215: warning: pattern recipe did not update peer target 'scripts/kconfig/nconf-bin'.
> scripts/kconfig/Makefile:215: warning: pattern recipe did not update peer target 'scripts/kconfig/mconf-bin'.
> scripts/kconfig/Makefile:215: warning: pattern recipe did not update peer target 'scripts/kconfig/gconf-bin'.
>
> Signed-off-by: Peter Foley <pefoley2@xxxxxxxxxxx>



I prefer changing only one line:



diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index 0b1d15efaeb0..af1c96198f49 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -209,7 +209,7 @@ $(obj)/gconf: | $(obj)/gconf-libs
$(obj)/gconf.o: | $(obj)/gconf-cflags

# check if necessary packages are available, and configure build flags
-cmd_conf_cfg = $< $(addprefix $(obj)/$*conf-, cflags libs bin)
+cmd_conf_cfg = $< $(addprefix $(obj)/$*conf-, cflags libs bin); touch
$(obj)/$*conf-bin

$(obj)/%conf-cflags $(obj)/%conf-libs $(obj)/%conf-bin: $(src)/%conf-cfg.sh
$(call cmd,conf_cfg)







Also, please update .gitignore


diff --git a/scripts/kconfig/.gitignore b/scripts/kconfig/.gitignore
index c8a3f9cd52f0..f8bdf0cf4662 100644
--- a/scripts/kconfig/.gitignore
+++ b/scripts/kconfig/.gitignore
@@ -3,5 +3,5 @@
/[gmnq]conf
/[gmnq]conf-cflags
/[gmnq]conf-libs
-/qconf-bin
+/[gmnq]conf-bin
/qconf-moc.cc





Thanks.







> ---
> scripts/kconfig/gconf-cfg.sh | 2 ++
> scripts/kconfig/mconf-cfg.sh | 3 +++
> scripts/kconfig/nconf-cfg.sh | 3 +++
> 3 files changed, 8 insertions(+)
>
> diff --git a/scripts/kconfig/gconf-cfg.sh b/scripts/kconfig/gconf-cfg.sh
> index 040d8f3388202..d98c2ed09b158 100755
> --- a/scripts/kconfig/gconf-cfg.sh
> +++ b/scripts/kconfig/gconf-cfg.sh
> @@ -3,6 +3,7 @@
>
> cflags=$1
> libs=$2
> +bin=$3
>
> PKG="gtk+-2.0 gmodule-2.0 libglade-2.0"
>
> @@ -31,3 +32,4 @@ fi
>
> ${HOSTPKG_CONFIG} --cflags ${PKG} > ${cflags}
> ${HOSTPKG_CONFIG} --libs ${PKG} > ${libs}
> +touch ${bin}
> diff --git a/scripts/kconfig/mconf-cfg.sh b/scripts/kconfig/mconf-cfg.sh
> index 1e61f50a59050..3719e1607d34a 100755
> --- a/scripts/kconfig/mconf-cfg.sh
> +++ b/scripts/kconfig/mconf-cfg.sh
> @@ -3,10 +3,13 @@
>
> cflags=$1
> libs=$2
> +bin=$3
>
> PKG="ncursesw"
> PKG2="ncurses"
>
> +touch ${bin}
> +
> if [ -n "$(command -v ${HOSTPKG_CONFIG})" ]; then
> if ${HOSTPKG_CONFIG} --exists $PKG; then
> ${HOSTPKG_CONFIG} --cflags ${PKG} > ${cflags}
> diff --git a/scripts/kconfig/nconf-cfg.sh b/scripts/kconfig/nconf-cfg.sh
> index f871a2160e363..a0edc427719f0 100755
> --- a/scripts/kconfig/nconf-cfg.sh
> +++ b/scripts/kconfig/nconf-cfg.sh
> @@ -3,10 +3,13 @@
>
> cflags=$1
> libs=$2
> +bin=$3
>
> PKG="ncursesw menuw panelw"
> PKG2="ncurses menu panel"
>
> +touch ${bin}
> +
> if [ -n "$(command -v ${HOSTPKG_CONFIG})" ]; then
> if ${HOSTPKG_CONFIG} --exists $PKG; then
> ${HOSTPKG_CONFIG} --cflags ${PKG} > ${cflags}
>
> ---
> base-commit: e8f60cd7db24f94f2dbed6bec30dd16a68fc0828
> change-id: 20230111-kconfig-e59c6154f506
>
> Best regards,
> --
> Peter Foley <pefoley2@xxxxxxxxxxx>



--
Best Regards
Masahiro Yamada