On Fri, 2016-06-10 at 20:30 +0100, Gavin Smith wrote: > On 10 June 2016 at 08:05, Peter Johansson <trojkan@xxxxxxxxx> wrote: > > Hi Kip, > > > > I have the following rule in my Makefile.am to generate a C header > > file. > > > > configmake.h: Makefile > > $(AM_V_GEN)echo '#define BINDIR "$(bindir)"' > $@ > > > > You could have a similar rule to generate a file suitable to source > > into > > your script. > > This works because the variable "bindir" is completely expanded in > the > Makefile rules. > > The Texinfo project has similar code to substitute for variables in a > AC_CONFIG_FILE-like way in an output file: > > do_subst = sed \ > -e 's,[@]PACKAGE_VERSION[@],$(PACKAGE_VERSION),g' \ > -e 's,[@]PACKAGE_NAME[@],$(PACKAGE_NAME),g' \ > -e 's,[@]PACKAGE_URL[@],$(PACKAGE_URL),g' \ > -e 's,[@]sysconfdir[@],$(sysconfdir),g' \ > -e 's,[@]prefix[@],$(prefix),g' \ > -e 's,[@]datarootdir[@],$(datarootdir),g' \ > -e 's,[@]datadir[@],$(datadir),g' \ > -e 's,[@]pkglibdir[@],$(pkglibdir),g' \ > -e 's,[@]PACKAGE[@],$(PACKAGE),g' \ > -e 's,[@]USE_EXTERNAL_LIBINTL[@],$(USE_EXTERNAL_LIBINTL),g' \ > -e > 's,[@]USE_EXTERNAL_EASTASIANWIDTH[@],$(USE_EXTERNAL_EASTASIANWIDTH),g > ' \ > -e 's,[@]USE_EXTERNAL_UNIDECODE[@],$(USE_EXTERNAL_UNIDECODE),g' \ > -e 's,[@]TEXINFO_DTD_VERSION[@],$(TEXINFO_DTD_VERSION),g' \ > -e 's,[@]enable_xs[@],$(enable_xs),g' \ > -e '1 s,/usr/bin/env perl,$(PERL),g' > > texi2any: texi2any.pl $(top_builddir)/config.status > $(do_subst) $(srcdir)/texi2any.pl >$@ > chmod a+x $@ > > The gist of this is that it's using sed to generate one file from > another, substituting in the values of some Makefile variables. I > don't know if it's possible or advisable to use this in combination > with AC_CONFIG_FILES, but using it instead of AC_CONFIG_FILES would > certainly work. Thanks Gavin. I think this is a good recipe to use if I end up having regrets later about the solution I just proposed to Peter Johansson. -- Kip Warner -- Senior Software Engineer OpenPGP encrypted/signed mail preferred http://www.thevertigo.com
Attachment:
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Autoconf mailing list Autoconf@xxxxxxx https://lists.gnu.org/mailman/listinfo/autoconf