[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [XEN PATCH] build: fix building flask headers before descending in flask/ss/
On 1/20/23 08: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. 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 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" <dpsmith@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> --- xen/xsm/flask/Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/xen/xsm/flask/Makefile b/xen/xsm/flask/Makefile index d25312f4fa..2d24346ee3 100644 --- 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`. +ifeq ($(filter %/Makefile.clean,$(MAKEFILE_LIST)),) +$(addprefix $(obj)/,$(obj-y)) $(obj)/ss: $(addprefix $(obj)/,$(ALL_H_FILES)) +endif extra-y += $(ALL_H_FILES)mkflask := $(srcdir)/policy/mkflask.sh It builds for me, but I also do not have a large enough system to do a `-j16` to confirm it at the scale for which it occurred. Regardless, I will ack it. Acked-by: Daniel P. Smith <dpsmith@xxxxxxxxxxxxxxxxxxxx>
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |