[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [XEN PATCH v2 09/12] xen/build: include include/config/auto.conf in main Makefile
On 03.02.2020 12:45, Anthony PERARD wrote: > On Thu, Jan 30, 2020 at 02:06:18PM +0100, Jan Beulich wrote: >> On 17.01.2020 11:53, Anthony PERARD wrote: >>> --- a/xen/Makefile >>> +++ b/xen/Makefile >>> @@ -49,7 +49,71 @@ default: build >>> .PHONY: dist >>> dist: install >>> >>> -build install:: include/config/auto.conf >>> + >>> +ifndef root-make-done >>> +# section to run before calling Rules.mk, but only once. >>> +# >>> +# To make sure we do not include .config for any of the *config targets >>> +# catch them early, and hand them over to tools/kconfig/Makefile >>> + >>> +clean-targets := %clean >>> +no-dot-config-targets := $(clean-targets) \ >>> + uninstall debug cloc \ >>> + cscope TAGS tags MAP gtags \ >>> + xenversion >>> + >>> +config-build := >> >> Is this actually needed? While correct (afaict) together with the >> ifdef further down, I find this aspect of make behavior a little >> confusing, and hence it would seem slightly better if there was >> no empty definition of this symbol. > > That's actually a very recent change in Linux source code. They used to > use ifeq($(config-build),1) and ifeq($(config-build),0). I can certainly > change back to use ifeq instead of ifdef. Then perhaps, along the lines of ... >>> +need-config := 1 >> >> Here and below, would it be possible to use y instead of 1, to >> match how "true" gets expressed in various places elsewhere? >> Or would there again be deviation-from-Linux concerns? > > It's probably fine to use "y". I don't think it matter, we need to make > quite a lot of changes compare to Linux anyway. I'll use "n" for the > negative. ... this, also use y/n? >>> +ifdef config-build >>> +# >>> =========================================================================== >>> +# *config targets only - make sure prerequisites are updated, and descend >>> +# in tools/kconfig to make the *config target >>> + >>> +config: FORCE >>> + $(MAKE) -f $(BASEDIR)/tools/kconfig/Makefile.kconfig ARCH=$(ARCH) >>> SRCARCH=$(SRCARCH) HOSTCC="$(HOSTCC)" HOSTCXX="$(HOSTCXX)" $@ >>> + >>> +# Config.mk tries to include .config file, don't try to remake it >>> +%/.config: ; >> >> This didn't exist before - why is it needed all of the sudden? > > It's because I'm introducing a new target "%config". So when make > "-include $(XEN_ROOT)/.config" (as found in Config.mk) it check if the > file needs to be rebuilt, and find %config and thus run kconfig to build > .config. > > Currently, Makefile list all the targets that needs to be built with > kconfig. Ah, I see - we didn't have a %config target anywhere at all. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |