NetworkManager/config-extra.h.mk
Lubomir Rintel 11d59de600 build/autotools: generate "config-extra.h" via makefile "config-extra.h.mk"
When the code that generates "config-extra.h" changes, we want to regenerate
the file. Move that code to a separate makefile so we can add a
dependency.

Otherwise, we'd had to depend on "Makefile", which itself is generated by
Makefile.am.

Also, depend on "config.h" to regenerate it when ./configure runs and
touches that header. This may not cover all cases where ./configure's
configuration changes and a regeneration would be due. But such is life.

Also, most components depend on this header, so let various .dirstamp
files depend on it, so we are sure to build this first. That because,
autotools generates dependencies for header files automatically, but
that requires that the header file exist. Such automatic dependencies
don't work out-of-the-box for generated headers.

Co-authored-by: Thomas Haller <thaller@redhat.com>
2019-06-17 17:42:09 +02:00

28 lines
1.5 KiB
Makefile

# With autotools, it is not easily possible to generate these defines
# from configure.ac.
#
# See https://www.gnu.org/software/autoconf/manual/autoconf-2.63/html_node/Installation-Directory-Variables.html
#
# With meson-only, they could just be set via config.h.meson
config-extra.h: config-extra.h.mk config.h
$(AM_V_GEN) \
echo "/* Generated by Makefile.am */" >$@ && \
echo "#define BINDIR \"$(bindir)\"" >>$@ && \
echo "#define DATADIR \"$(datadir)\"" >>$@ && \
echo "#define LIBEXECDIR \"$(libexecdir)\"" >>$@ && \
echo "#define LOCALSTATEDIR \"$(localstatedir)\"" >>$@ && \
echo "#define NMCONFDIR \"$(nmconfdir)\"" >>$@ && \
echo "#define NMLIBDIR \"$(nmlibdir)\"" >>$@ && \
echo "#define NMLOCALEDIR \"$(nmlocaledir)\"" >>$@ && \
echo "#define NMPLUGINDIR \"$(plugindir)\"" >>$@ && \
echo "#define NMRUNDIR \"$(nmrundir)\"" >>$@ && \
echo "#define NMSTATEDIR \"$(nmstatedir)\"" >>$@ && \
echo "#define NMVPNDIR \"$(pkglibdir)\"" >>$@ && \
echo "#define NM_BUILD_BUILDDIR \"$(abs_builddir)\"" >>$@ && \
echo "#define NM_BUILD_SRCDIR \"$(abs_srcdir)\"" >>$@ && \
echo "#define PPPD_PLUGIN_DIR \"$(PPPD_PLUGIN_DIR)\"" >>$@ && \
echo "#define PREFIX \"$(prefix)\"" >>$@ && \
echo "#define RUNSTATEDIR \"$(runstatedir)\"" >>$@ && \
echo "#define SYSCONFDIR \"$(sysconfdir)\"" >>$@ && \
true