[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 4/4] stubdom: add fine grained library config items to Mini-OS configs
On Sat, Oct 05, 2024 at 05:15:48PM +0200, Juergen Gross wrote: > diff --git a/stubdom/Makefile b/stubdom/Makefile > index 8c503c2bf8..3b501a0710 100644 > --- a/stubdom/Makefile > +++ b/stubdom/Makefile > @@ -340,6 +340,14 @@ endef > > $(foreach lib,$(STUB_LIBS),$(eval $(call BUILD_lib,$(lib)))) > > +define BUILD_config > + cp $< $@ > + for i in $(sort $(APP_LIBS) $(call xenlibs-dependencies,$(APP_LIBS))); do \ > + u=`echo $$i | tr a-z A-Z`; \ > + echo "CONFIG_LIBXEN$$u=y"; \ > + done >> $@ > +endef I don't think I like having a recipe hidden like that in a variable, maybe if it was a full rule it would be a bit less annoying to me. But how about something slightly different: First, the name, "GEN_config" would be a bit better, then we could have it only do the output and not writing any file: define GEN_config (cat '$<' && \ for i in $(sort $(APP_LIBS) $(call xenlibs-dependencies,$(APP_LIBS))); do \ u=`echo $$i | tr a-z A-Z`; \ echo "CONFIG_LIBXEN$$u=y"; \ done) endef The this can be used in rules as: $(GEN_config) > $@ Would that be ok? (It might be better to have the macro not depends on the environment have take parameter explicitly which could be used as $(call GEN_config,$<,evtchn gnttab) > $@ or take a variable if it's useful elsewhere, but I'm already fine if $@ is taken out of the macro.) > + > xenstore/stamp: $(XEN_ROOT)/tools/xenstored/Makefile.common > $(do_links) > > @@ -373,8 +381,12 @@ $(TARGETS_MINIOS): mini-os-%: > # ioemu > ####### > > -ioemu-minios-config.mk: $(CURDIR)/ioemu-minios.cfg > - MINIOS_CONFIG="$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C > $(MINI_OS) config > +ioemu-minios.out.cfg: APP_LIBS = evtchn gnttab ctrl guest > +ioemu-minios.out.cfg: $(CURDIR)/ioemu-minios.cfg Makefile Could you change the suffix to ".gen.cfg"? ".out.cfg" is a bit generic while "generated" is more common for the kind of file that are automatically generated by the build system for it's own use. BTW, in the first prerequisite, $(CURDIR) isn't necessary anymore, it was only to be used in "MINIOS_CONFIG" just below. > + $(BUILD_config) > + > +ioemu-minios-config.mk: ioemu-minios.out.cfg > + MINIOS_CONFIG="$(CURDIR)/$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) > DESTDIR= -C $(MINI_OS) config Thanks, -- Anthony Perard | Vates XCP-ng Developer XCP-ng & Xen Orchestra - Vates solutions web: https://vates.tech
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |