On Fri, Jan 20, 2023 at 03:16:51PM +0100, Jan Beulich wrote:
> On 20.01.2023 14:36, Anthony PERARD wrote:
> > Unfortunatly, adding prerequisite to "$(obj)/ss/built_in.o" doesn't
> > work because we have "$(obj)/%/built_in.o: $(obj)/% ;" in Rules.mk.
> > So, make is allow to try to build objects in "xsm/flask/ss/" before
> > generating the headers.
> > 
> > Adding a prerequisite on "$(obj)/ss" instead will fix the issue has
> > that the target used to run make in this subdirectory.
> 
> DYM "... the issue, as that's ..."?

Yes.

> > Unfortunatly, that target is also used when running `make clean`, so
> > we need to ignore it in this case. $(MAKECMDGOALS) can't be used in
> 
> s/need/want/, I guess, as nothing would break, we'd just create files
> only to delete them again right away?

Actually, I did found out that the "FORCE" target doesn't exist in
Makefile.clean, which is why I had to avoid the rule on `make clean`.
But I don't think that needs fixing.

But you can s/need/want/.

> > this case as it is empty, but we can guess which operation is done by
> > looking at the list of loaded makefiles.
> > 
> > Fixes: 7a3bcd2babcc ("build: build everything from the root dir, use 
> > obj=$subdir")
> > Reported-by: "Daniel P. Smith" <dpsm...@apertussolutions.com>
> > Signed-off-by: Anthony PERARD <anthony.per...@citrix.com>
> 
> Reviewed-by: Jan Beulich <jbeul...@suse.com>
> 
> > --- a/xen/xsm/flask/Makefile
> > +++ b/xen/xsm/flask/Makefile
> > @@ -16,7 +16,11 @@ FLASK_H_FILES := flask.h class_to_string.h 
> > initial_sid_to_string.h
> >  AV_H_FILES := av_perm_to_string.h av_permissions.h
> >  ALL_H_FILES := $(addprefix include/,$(FLASK_H_FILES) $(AV_H_FILES))
> >  
> > -$(addprefix $(obj)/,$(obj-y)) $(obj)/ss/built_in.o: $(addprefix 
> > $(obj)/,$(ALL_H_FILES))
> > +# Adding prerequisite to descending into ss/ folder only when not running 
> > `make
> > +# clean`.
> 
> That's then for all "clean" targets, isn't it? I.e. maybe better to refer to
> `make *clean` (or `make %clean`, but I think the % could be misleading there)?

Yes, all clean targets. Referring to `make *clean` sounds good.

> I'm happy to make adjustments while committing, as long (or as far) as you
> agree with me doing so.

Yes.

Thanks,

-- 
Anthony PERARD

Reply via email to