[libvirt] [PATCH 1/2] Don't include Makefile.ci in Makefile.am

Daniel P. Berrangé berrange at redhat.com
Thu May 9 14:30:03 UTC 2019


On Thu, May 09, 2019 at 03:56:20PM +0200, Martin Kletzander wrote:
> On Thu, May 09, 2019 at 01:54:42PM +0100, Daniel P. Berrangé wrote:
> > On Tue, May 07, 2019 at 05:45:30PM +0200, Martin Kletzander wrote:
> > > The way it works now the Makefile needs to be both make valid and automake
> > > valid.  That is fine for now, but if we want to use anything more advanced, like
> > > conditionals, we cannot have it like that any more.
> > > 
> > > So instead forward all ci-* rules to that file.
> > > 
> > > Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
> > > ---
> > >  Makefile.am | 4 +++-
> > >  1 file changed, 3 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/Makefile.am b/Makefile.am
> > > index 0d8bb733e6d2..442bae511828 100644
> > > --- a/Makefile.am
> > > +++ b/Makefile.am
> > > @@ -35,6 +35,7 @@ EXTRA_DIST = \
> > >    libvirt-qemu.pc.in \
> > >    libvirt-lxc.pc.in \
> > >    libvirt-admin.pc.in \
> > > +	Makefile.ci \
> > >    Makefile.nonreentrant \
> > >    autogen.sh \
> > >    cfg.mk \
> > 
> > Indentation is not consistent here - tabs vs non-tabs.
> > 
> > > @@ -107,4 +108,5 @@ gen-AUTHORS:
> > >  	  rm -f all.list maint.list contrib.list; \
> > >  	fi
> > > 
> > > -include Makefile.ci
> > > +ci-%:
> > > +	$(MAKE) -f Makefile.ci $@
> > 
> > Will this cause all variables to be forwarded ?
> > 
> > eg will
> > 
> >  make ci-build at fedora-29 CI_IMAGE_TAG=:latest
> > 
> > result in
> > 
> >  make -f Makefile.ci ci-build at fedora-29 CI_IMAGE_TAG=:latest
> > 
> 
> It worked for me with CI_CENGINE, I thing this is forwarded thanks to $(MAKE).

I don't think it is $(MAKE), as that's just a variable that expands to
the string "make". It looks like any variables in the makefile and turned
into environment variables that are inherited by the child make process.

I did a quick test and it all worked as desired.

$ cat bar.mak

FISH=food

fish:
	$(MAKE) -f foo.mak $@

$ cat foo.mak

FISH=cake

fish:
	@echo ">>$(FISH)<<"


$ make  -f bar.mak fish FISH=pond
make -f foo.mak fish
make[1]: Entering directory '/home/berrange/tmp'
>>pond<<
make[1]: Leaving directory '/home/berrange/tmp'

So on that basis, with the indent fix:

Reviewed-by: Daniel P. Berrangé <berrange at redhat.com>


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




More information about the libvir-list mailing list