diff mbox series

[3/5] scripts/gdb: do not descend into scripts/gdb from scripts

Message ID 1550568787-18710-3-git-send-email-yamada.masahiro@socionext.com
State Accepted
Commit 1e5ff84ffe0b09f866761c441003c27ca7e1c6b3
Headers show
Series [1/5] scripts/gdb: delay generation of gdb constants.py | expand

Commit Message

Masahiro Yamada Feb. 19, 2019, 9:33 a.m. UTC
Currently, Kbuild descends from scripts/Makefile to scripts/gdb/Makefile
just for creating symbolic links, but it does not need to do it so early.

Merge the two descending paths to simplify the code.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

---

 Makefile                   | 2 +-
 scripts/Makefile           | 3 +--
 scripts/gdb/linux/Makefile | 9 +++------
 3 files changed, 5 insertions(+), 9 deletions(-)

-- 
2.7.4

Comments

Kieran Bingham Feb. 27, 2019, 11:44 a.m. UTC | #1
Hi Yamada-san,

On 19/02/2019 09:33, Masahiro Yamada wrote:
> Currently, Kbuild descends from scripts/Makefile to scripts/gdb/Makefile

> just for creating symbolic links, but it does not need to do it so early.

> 

> Merge the two descending paths to simplify the code.

> 

> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

> ---

> 

>  Makefile                   | 2 +-

>  scripts/Makefile           | 3 +--

>  scripts/gdb/linux/Makefile | 9 +++------

>  3 files changed, 5 insertions(+), 9 deletions(-)

> 

> diff --git a/Makefile b/Makefile

> index 26dbcb7..a5762c6 100644

> --- a/Makefile

> +++ b/Makefile

> @@ -1518,7 +1518,7 @@ $(DOC_TARGETS): scripts_basic FORCE

>  

>  PHONY += scripts_gdb

>  scripts_gdb: prepare

> -	$(Q)$(MAKE) $(build)=scripts/gdb/linux build_constants_py

> +	$(Q)$(MAKE) $(build)=scripts/gdb

>  

>  ifdef CONFIG_GDB_SCRIPTS

>  all: scripts_gdb

> diff --git a/scripts/Makefile b/scripts/Makefile

> index feb1f71..9d442ee 100644

> --- a/scripts/Makefile

> +++ b/scripts/Makefile

> @@ -39,7 +39,6 @@ build_unifdef: $(obj)/unifdef

>  subdir-$(CONFIG_GCC_PLUGINS) += gcc-plugins

>  subdir-$(CONFIG_MODVERSIONS) += genksyms

>  subdir-$(CONFIG_SECURITY_SELINUX) += selinux

> -subdir-$(CONFIG_GDB_SCRIPTS) += gdb

>  

>  # Let clean descend into subdirs

> -subdir-	+= basic dtc kconfig mod package

> +subdir-	+= basic dtc gdb kconfig mod package

> diff --git a/scripts/gdb/linux/Makefile b/scripts/gdb/linux/Makefile

> index aba23be..7545806 100644

> --- a/scripts/gdb/linux/Makefile

> +++ b/scripts/gdb/linux/Makefile

> @@ -14,11 +14,8 @@ quiet_cmd_gen_constants_py = GEN     $@

>  	$(CPP) -E -x c -P $(c_flags) $< > $@ ;\

>  	sed -i '1,/<!-- end-c-headers -->/d;' $@

>  

> -targets += constants.py

> -$(obj)/constants.py: $(SRCTREE)/$(obj)/constants.py.in FORCE

> +extra-y += constants.py

> +$(obj)/constants.py: $(src)/constants.py.in FORCE

>  	$(call if_changed_dep,gen_constants_py)

>  

> -build_constants_py: $(obj)/constants.py

> -	@:

> -

> -clean-files := *.pyc *.pyo $(if $(KBUILD_SRC),*.py) $(obj)/constants.py

> +clean-files := *.pyc *.pyo $(if $(KBUILD_SRC),*.py)



This looks like the generated file will no longer be cleaned on
distclean, if the build is 'in-tree'... Is that right? Or OK if so?

Perhaps I'm mis-understanding the "$(if $(KBUILD_SRC),*.py)" statement
intent?

As long as you're content with the result, and it's understood:

Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>



-- 
Regards
--
Kieran
Masahiro Yamada Feb. 27, 2019, 12:38 p.m. UTC | #2
Hi Kieran,

On Wed, Feb 27, 2019 at 8:46 PM Kieran Bingham
<kieran.bingham@ideasonboard.com> wrote:
>

> Hi Yamada-san,

>

> On 19/02/2019 09:33, Masahiro Yamada wrote:

> > Currently, Kbuild descends from scripts/Makefile to scripts/gdb/Makefile

> > just for creating symbolic links, but it does not need to do it so early.

> >

> > Merge the two descending paths to simplify the code.

> >

> > Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

> > ---

> >

> >  Makefile                   | 2 +-

> >  scripts/Makefile           | 3 +--

> >  scripts/gdb/linux/Makefile | 9 +++------

> >  3 files changed, 5 insertions(+), 9 deletions(-)

> >

> > diff --git a/Makefile b/Makefile

> > index 26dbcb7..a5762c6 100644

> > --- a/Makefile

> > +++ b/Makefile

> > @@ -1518,7 +1518,7 @@ $(DOC_TARGETS): scripts_basic FORCE

> >

> >  PHONY += scripts_gdb

> >  scripts_gdb: prepare

> > -     $(Q)$(MAKE) $(build)=scripts/gdb/linux build_constants_py

> > +     $(Q)$(MAKE) $(build)=scripts/gdb

> >

> >  ifdef CONFIG_GDB_SCRIPTS

> >  all: scripts_gdb

> > diff --git a/scripts/Makefile b/scripts/Makefile

> > index feb1f71..9d442ee 100644

> > --- a/scripts/Makefile

> > +++ b/scripts/Makefile

> > @@ -39,7 +39,6 @@ build_unifdef: $(obj)/unifdef

> >  subdir-$(CONFIG_GCC_PLUGINS) += gcc-plugins

> >  subdir-$(CONFIG_MODVERSIONS) += genksyms

> >  subdir-$(CONFIG_SECURITY_SELINUX) += selinux

> > -subdir-$(CONFIG_GDB_SCRIPTS) += gdb

> >

> >  # Let clean descend into subdirs

> > -subdir-      += basic dtc kconfig mod package

> > +subdir-      += basic dtc gdb kconfig mod package

> > diff --git a/scripts/gdb/linux/Makefile b/scripts/gdb/linux/Makefile

> > index aba23be..7545806 100644

> > --- a/scripts/gdb/linux/Makefile

> > +++ b/scripts/gdb/linux/Makefile

> > @@ -14,11 +14,8 @@ quiet_cmd_gen_constants_py = GEN     $@

> >       $(CPP) -E -x c -P $(c_flags) $< > $@ ;\

> >       sed -i '1,/<!-- end-c-headers -->/d;' $@

> >

> > -targets += constants.py

> > -$(obj)/constants.py: $(SRCTREE)/$(obj)/constants.py.in FORCE

> > +extra-y += constants.py

> > +$(obj)/constants.py: $(src)/constants.py.in FORCE

> >       $(call if_changed_dep,gen_constants_py)

> >

> > -build_constants_py: $(obj)/constants.py

> > -     @:

> > -

> > -clean-files := *.pyc *.pyo $(if $(KBUILD_SRC),*.py) $(obj)/constants.py

> > +clean-files := *.pyc *.pyo $(if $(KBUILD_SRC),*.py)

>

>

> This looks like the generated file will no longer be cleaned on

> distclean, if the build is 'in-tree'... Is that right? Or OK if so?



As you noticed in 5/5, files listed in $(extra-y) are cleaned up.

So, I removed the now redundant $(obj)/constants.py from 'clean-files'.



> Perhaps I'm mis-understanding the "$(if $(KBUILD_SRC),*.py)" statement

> intent?



$(if $(KBUILD_SRC),*.py) will clean *.py only for out-of-tree build.

'*.py' files in the build directory are symbolic links.

'*.py' files in the source directory are check-in source files.



> As long as you're content with the result, and it's understood:

>

> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>




--
Best Regards

Masahiro Yamada
diff mbox series

Patch

diff --git a/Makefile b/Makefile
index 26dbcb7..a5762c6 100644
--- a/Makefile
+++ b/Makefile
@@ -1518,7 +1518,7 @@  $(DOC_TARGETS): scripts_basic FORCE
 
 PHONY += scripts_gdb
 scripts_gdb: prepare
-	$(Q)$(MAKE) $(build)=scripts/gdb/linux build_constants_py
+	$(Q)$(MAKE) $(build)=scripts/gdb
 
 ifdef CONFIG_GDB_SCRIPTS
 all: scripts_gdb
diff --git a/scripts/Makefile b/scripts/Makefile
index feb1f71..9d442ee 100644
--- a/scripts/Makefile
+++ b/scripts/Makefile
@@ -39,7 +39,6 @@  build_unifdef: $(obj)/unifdef
 subdir-$(CONFIG_GCC_PLUGINS) += gcc-plugins
 subdir-$(CONFIG_MODVERSIONS) += genksyms
 subdir-$(CONFIG_SECURITY_SELINUX) += selinux
-subdir-$(CONFIG_GDB_SCRIPTS) += gdb
 
 # Let clean descend into subdirs
-subdir-	+= basic dtc kconfig mod package
+subdir-	+= basic dtc gdb kconfig mod package
diff --git a/scripts/gdb/linux/Makefile b/scripts/gdb/linux/Makefile
index aba23be..7545806 100644
--- a/scripts/gdb/linux/Makefile
+++ b/scripts/gdb/linux/Makefile
@@ -14,11 +14,8 @@  quiet_cmd_gen_constants_py = GEN     $@
 	$(CPP) -E -x c -P $(c_flags) $< > $@ ;\
 	sed -i '1,/<!-- end-c-headers -->/d;' $@
 
-targets += constants.py
-$(obj)/constants.py: $(SRCTREE)/$(obj)/constants.py.in FORCE
+extra-y += constants.py
+$(obj)/constants.py: $(src)/constants.py.in FORCE
 	$(call if_changed_dep,gen_constants_py)
 
-build_constants_py: $(obj)/constants.py
-	@:
-
-clean-files := *.pyc *.pyo $(if $(KBUILD_SRC),*.py) $(obj)/constants.py
+clean-files := *.pyc *.pyo $(if $(KBUILD_SRC),*.py)