On 11/15/2012 11:20 AM, Grant Likely wrote: > On Thu, Nov 15, 2012 at 6:09 PM, Stephen Warren <swarren@xxxxxxxxxxxxx> wrote: >> On 11/15/2012 04:51 AM, Grant Likely wrote: >>> Grant Likely wrote: >>>> Or how about: I could pick up the patch with only the MIPS hunk and >>>> every other user can be fixed up independently to use the new rule. >>> >>> Here's a trial patch to fix up ARM. Does this look correct? This patch >>> depends on the generic dtb build rule already being applied. >> >> I think the patch looks OK technically, except for one minor comment below. >> >> One issue with this patch is that it moves *.dts from arch/arm/boot to >> arch/arm/boot/dts, which means everyone has to adjust their scripts/... >> that package/install/... the kernel. I guess it's an easy change for >> people to make, but could easily catch people unawares if they do >> incremental builds so that arch/arm/boot/*.dtb still exists but is stale. > > True. We could temporarily remove or rename if the same file exists in > the directory below to help people catch that problem. I really would > like to clean up that build rule to be consistent though. > > The other option is to move all the .dts files into the boot > directory, but I don't think that is a good idea at all. Maybe we can just add "rm *.dtb" to the following rules in boot/Makefile, before calling the child make? %.dtb: scripts - $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@ + $(Q)$(MAKE) $(build)=$(boot)/dts MACHINE=$(MACHINE) $(boot)/dts/$@ dtbs: scripts - $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@ + $(Q)$(MAKE) $(build)=$(boot)/dts MACHINE=$(MACHINE) dtbs >>> +targets += dtbs >> >> Doesn't that make the "dtbs" target always run by default? Perhaps >> that's reasonable though, and doesn't actually affect anything since the >> make command for this directory always specifies an explicit target? >> >> Or, was that meant to be the following that got removed from ../Makefile? >> >> targets += $(dtb-y) > > Yes it is supposed to be the same thing. Doesn't it effectively do the > same since dtbs depends on $(dtb-y)? Ah, I think so yes. I guess anyway that $(targets) is presumably ignored if an explicit build target is requested from make.