On Tue, Apr 27, 2021 at 02:30:35PM +0200, Jan Beulich wrote: > On 27.04.2021 11:05, Roger Pau Monné wrote: > > On Wed, Apr 21, 2021 at 04:09:03PM +0200, Jan Beulich wrote: > >> On 20.04.2021 18:20, Roger Pau Monné wrote: > >>> On Tue, Apr 20, 2021 at 05:47:49PM +0200, Jan Beulich wrote: > >>>> On 20.04.2021 17:29, Roger Pau Monné wrote: > >>>>> On Thu, Apr 01, 2021 at 10:33:47AM +0200, Jan Beulich wrote: > >>>>>> @@ -399,7 +399,11 @@ include/xen/compile.h: include/xen/compi > >>>>>> @sed -rf tools/process-banner.sed < .banner >> $@.new > >>>>>> @mv -f $@.new $@ > >>>>>> > >>>>>> -include/asm-$(TARGET_ARCH)/asm-offsets.h: > >>>>>> arch/$(TARGET_ARCH)/asm-offsets.s > >>>>>> +asm-offsets.s: arch/$(TARGET_ARCH)/$(TARGET_SUBARCH)/asm-offsets.c > >>>>>> + $(CC) $(filter-out -Wa$(comma)% -flto,$(c_flags)) -S -g0 -o > >>>>>> $@.new -MQ $@ $< > >>>>>> + $(call move-if-changed,$@.new,$@) > >>>>> > >>>>> Won't it be more natural to keep the .s file in arch/$(TARGET_ARCH)? > >>>> > >>>> Yes and no: Yes as far as the actual file location is concerned. > >>>> No when considering where it gets generated: I generally consider > >>>> it risky to generate files outside of the directory where make > >>>> currently runs. There may be good reasons for certain exceptions, > >>>> but personally I don't see this case as good enough a reason. > >>>> > >>>> Somewhat related - if doing as you suggest, which Makefile's > >>>> clean: rule should clean up that file in your opinion? > >>> > >>> The clean rule should be in the makefile where it's generated IMO, > >>> same as asm-offsets.h clean rule currently in xen/Makefile. > >>> > >>>> Nevertheless, if there's general agreement that keeping the file > >>>> there is better, I'd make the change and simply ignore my unhappy > >>>> feelings about it. > >>> > >>> I don't have a strong opinion, it just feels weird to have this IMO > >>> stray asm-offsets.s outside of it's arch directory, taking into > >>> account that we have asm-offsets.h generated from xen/Makefile into an > >>> arch specific directory already as a precedent in that makefile. > >> > >> Well, asm-offsets.h generation doesn't involve the compiler, hence > >> no .*.d files get generated and want including later. For > >> asm-offsets.s to have dependencies properly honored, if we > >> generated it in xen/arch/<arch>, .asm-offsets.d would also end up > >> there, and hence including of it would need separately taking care > >> of. > > > > I'm not sure I understand what do you mean with inclusion need taking > > care of separately. Isn't it expected for .d file to reside in the > > same directory as the output, > > Yes, ... > > > and hence picked up automatically? > > ... and hence they _wouldn't_ be picked up automatically while > building in xen/ if the .s file got created in xen/arch/<arch>/.
Hm, so that would prevent re-building the target when the dependencies changed as the .d file being in the arch directory would attempt the rebuild from there instead of the top level xen/? I guess the alternative would be to force a rebuild of the target every time, in order to not depend on the .d logic? Thanks, Roger.