On Sun, Jul 24, 2022 at 7:01 PM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote: > > Factor out the common prerequisites for DT compilation into the new > target, dtbs_prepare. > > Add comments to explain why include/config/kernel.release is the > prerequisite. Our policy is that installation targets must not rebuild > anything in the tree. If 'make modules_install' is executed as root, > include/config/kernel.release may be owned by root. > > Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> > --- > Applied to linux-kbuild. > Changes for v2: > - rephase the comment more concise > > Makefile | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > diff --git a/Makefile b/Makefile > index dee707c98bbe..a2a030f41e65 100644 > --- a/Makefile > +++ b/Makefile > @@ -1370,16 +1370,21 @@ endif > > ifneq ($(dtstree),) > > -%.dtb: include/config/kernel.release scripts_dtc > +%.dtb: dtbs_prepare > $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@ > > -%.dtbo: include/config/kernel.release scripts_dtc > +%.dtbo: dtbs_prepare > $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@ > > -PHONY += dtbs dtbs_install dtbs_check > -dtbs: include/config/kernel.release scripts_dtc > +PHONY += dtbs dtbs_prepare dtbs_install dtbs_check > +dtbs: dtbs_prepare > $(Q)$(MAKE) $(build)=$(dtstree) > > +# include/config/kernel.release is actually needed when installing DTBs because > +# INSTALL_DTBS_PATH contains $(KERNELRELEASE). However, we do not want to make > +# dtbs_install depend on it as dtbs_install may run as root. > +dtbs_prepare: include/config/kernel.release scripts_dtc > + > ifneq ($(filter dtbs_check, $(MAKECMDGOALS)),) > export CHECK_DTBS=y > dtbs: dt_binding_check > -- > 2.34.1 > -- Best Regards Masahiro Yamada