On Wed, Jun 6, 2012 at 10:15 AM, William Hubbs <w.d.hubbs@xxxxxxxxx> wrote: > On Wed, Jun 06, 2012 at 05:38:29AM -0700, Dan Nicholson wrote: >> Breaking up the Makefile.am into several files is probably cleaner, >> but it doesn't actually change the problem you're trying to solve >> here. You still have to wrap large parts of the build in >> AM_CONDITIONALs. That doesn't change whether it's in one file or many. >> The include happens at automake time, not build time, so conditionally >> including the file won't do anything different for you. Everything >> will get merge into the toplevel Makefile.in. > > If the am_condissionals are controlled by configure switches, we can set > things up so that the packager or user who is building udev or systemd > has control over what gets built. If they want to build udev only, or > systemd, or just the tools in the distribution that don't require > systemd, they will be able to. > > This is where I want to go once we have the Makefile broken up. This > will also require some work in configure.ac, but I think it will be > worth that because it will give packagers the flexability to build what > they want. > > include Makefile-shared.am > if ENABLE_UDEV > include Makefile-udev.am > endif > if ENABLE_TOOLS > include Makefile-tools.am > endif > if ENABLE_SYSTEMD > include Makefile-systemd.am > endif > > The first stage of this will be breaking up Makefile.am and using > includes without condissionals. Once everything builds cleanly in that > setup, we can do the work in configure.ac and add condissionals to > Makefile.am. What do you know, that works. I had thought automake didn't support that, but it works nicely. The one thing I was trying to do when I was starting this patch was keep dist working regardless of your configure flags. Usually that just mean leaving EXTRA_DIST out of the conditionals. That's painful, though, and you can probably just bring out a big hammer during dist. I have something like this in pkg-config: if !ENABLE_SYSTEMD dist-hook: @echo "error: you need to enable systemd for dist" @exit 1 endif -- Dan -- To unsubscribe from this list: send the line "unsubscribe linux-hotplug" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html