Michal Privoznik wrote: > Well, the parallel build doesn't work as there are not dependencies > set correctly. When running 'make -j' I see this error: > > make[2]: Entering directory '/home/zippy/work/libvirt/libvirt.git/src' > GEN util/virkeymaps.h > GEN locking/lock_protocol.h > make[2]: *** No rule to make target 'xenconfig/xen_xl_disk.h', needed by 'all'. Stop. > make[2]: *** Waiting for unfinished jobs.... > GEN lxc/lxc_controller_dispatch.h > > The fix is to correctly set dependencies by letting make know that .c > and .h are to be generated from .l. Moreover, the section is moved > closer to the other section which uses it. > > Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> > --- > > I'm not fully satisfied with this patch yet. I mean, for some > reason it creates 'src/.h' file, but hey - it makes parallel > build work again. Any brighter idea appreciated. > Interesting. I don't see the file using your patch. What version of automake? I'm using the rather old 1.13. > src/Makefile.am | 36 +++++++++++++++++++----------------- > 1 file changed, 19 insertions(+), 17 deletions(-) > > diff --git a/src/Makefile.am b/src/Makefile.am > index c6d736e..7619cf0 100644 > --- a/src/Makefile.am > +++ b/src/Makefile.am > @@ -1000,23 +1000,6 @@ CPU_SOURCES = \ > VMX_SOURCES = \ > vmx/vmx.c vmx/vmx.h > > -AM_LFLAGS = -Pxl_disk_ --header-file=../$*.h > -LEX_OUTPUT_ROOT = lex.xl_disk_ > -BUILT_SOURCES += xenconfig/xen_xl_disk.c xenconfig/xen_xl_disk.h > -# Generated header file is not implicitly added to dist > -EXTRA_DIST += xenconfig/xen_xl_disk.h > -CLEANFILES += xenconfig/xen_xl_disk.h xenconfig/xen_xl_disk.c > - > -XENXLDISKPARSER_SOURCES = xenconfig/xen_xl_disk.l > - > -XENCONFIG_SOURCES = \ > - xenconfig/xenxs_private.h \ > - xenconfig/xen_common.c xenconfig/xen_common.h \ > - xenconfig/xen_sxpr.c xenconfig/xen_sxpr.h \ > - xenconfig/xen_xm.c xenconfig/xen_xm.h \ > - xenconfig/xen_xl.c xenconfig/xen_xl.h \ > - xenconfig/xen_xl_disk.h > - > pkgdata_DATA = cpu/cpu_map.xml > > EXTRA_DIST += $(pkgdata_DATA) > @@ -1078,6 +1061,25 @@ libvirt_xenxldiskparser_la_CFLAGS = \ > libvirt_xenxldiskparser_la_SOURCES = \ > $(XENXLDISKPARSER_SOURCES) > > +AM_LFLAGS = -Pxl_disk_ --header-file=../$*.h > +XENXLDISKPARSER_GENERATED = xenconfig/xen_xl_disk.c xenconfig/xen_xl_disk.h > +BUILT_SOURCES += $(XENXLDISKPARSER_GENERATED) > +EXTRA_DIST += $(XENXLDISKPARSER_GENERATED) > +MAINTAINERCLEANFILES += $(XENXLDISKPARSER_GENERATED) > + > +XENXLDISKPARSER_SOURCES = xenconfig/xen_xl_disk.l > + > +$(XENXLDISKPARSER_GENERATED): $(XENXLDISKPARSER_SOURCES) > + $(SHELL) $(YLWRAP) $< lex.xl_disk_.c $@ -- $(LEXCOMPILE) > Answering Daniel's question about the expansion of AM_LFLAGS, on my system the whole ylwrap invocation expands to /bin/sh ../build-aux/ylwrap xenconfig/xen_xl_disk.l lex.xl_disk_.c xenconfig/xen_xl_disk.c -- flex -Pxl_disk_ --header-file=../xenconfig/xen_xl_disk.h Regards, Jim > + > +XENCONFIG_SOURCES = \ > + xenconfig/xenxs_private.h \ > + xenconfig/xen_common.c xenconfig/xen_common.h \ > + xenconfig/xen_sxpr.c xenconfig/xen_sxpr.h \ > + xenconfig/xen_xm.c xenconfig/xen_xm.h \ > + xenconfig/xen_xl.c xenconfig/xen_xl.h \ > + xenconfig/xen_xl_disk_i.h > + > noinst_LTLIBRARIES += libvirt_xenconfig.la > libvirt_la_BUILT_LIBADD += libvirt_xenconfig.la > libvirt_xenconfig_la_CFLAGS = \ > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list