* bin/autom4te.in (&freeze): New.
* lib/autoconf/autoconf.m4, lib/autotest/general.m4,
* lib/m4sugar/m4sh.m4: Don't include files given by autom4te.
## Process this file with automake to create Makefile.in. -*-Makefile-*-
## Makefile for Autoconf.
-## Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+## Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
AUTOMAKE_OPTIONS = check-news 1.5b dist-bzip2 readme-alpha
-SUBDIRS = . lib bin config man doc tests
+# bin/ and tests/ must be run first, as they build the tests executables
+# (tests/autom4te etc.), that we happen to use here.
+SUBDIRS = bin tests . lib config man doc
ACLOCAL_AMFLAGS = -I config
AUTOMAKE_OPTIONS = check-news 1.5b dist-bzip2 readme-alpha
-SUBDIRS = . lib bin config man doc tests
+# bin/ and tests/ must be run first, as they build the tests executables
+# (tests/autom4te etc.), that we happen to use here.
+SUBDIRS = bin tests . lib config man doc
ACLOCAL_AMFLAGS = -I config
-# aclocal.m4 generated automatically by aclocal 1.5c -*- Autoconf -*-
+# aclocal.m4t generated automatically by aclocal 1.5c -*- Autoconf -*-
# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
## Process this file with automake to create Makefile.in
+## Copyright 2002 Free Software Foundation, Inc.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+## 02111-1307, USA.
+
SUBDIRS = Autom4te m4sugar autoconf autotest autoscan emacs
nodist_pkgdata_DATA = autom4te.cfg
-EXTRA_DIST = autom4te.in
+EXTRA_DIST = autom4te.in freeze.mk
edit = sed \
-e 's,@SHELL\@,$(SHELL),g' \
SUBDIRS = Autom4te m4sugar autoconf autotest autoscan emacs
nodist_pkgdata_DATA = autom4te.cfg
-EXTRA_DIST = autom4te.in
+EXTRA_DIST = autom4te.in freeze.mk
edit = sed \
-e 's,@SHELL\@,$(SHELL),g' \
functions.m4 headers.m4 types.m4 libs.m4 programs.m4
nodist_autoconflib_DATA = autoconf.m4f
-
+CLEANFILES = $(nodist_autoconflib_DATA)
## --------------- ##
## The frozen files. ##
## ------------------ ##
-SUFFIXES = .m4 .m4f
-M4_INCLUDES = --include $(srcdir) \
- --include $(top_builddir)/lib \
- --include $(top_srcdir)/lib
-
-# When processing the file with diversion disabled, there must be no
-# output but comments and empty lines.
-# If freezing produces output, something went wrong: a bad `divert',
-# or an improper paren etc.
-# It may happen that the output does not end with a end of line, hence
-# force an end of line when reporting errors.
-.m4.m4f:
- $(M4) $(M4_INCLUDES) --fatal-warning --define divert \
- $*.m4 2>error.log | \
- sed 's/#.*//;/^$$/d' >process.log
- if grep . error.log >/dev/null 2>&1; then \
- echo "ERROR: Processing $*.m4 produced errors:" >&2; \
- sed "s,^,$*.m4: ," <error.log >&2; \
- echo >&2; \
- exit 1; \
- else \
- rm -f error.log; \
- fi
- if grep . process.log >/dev/null 2>&1; then \
- echo "ERROR: Processing $*.m4 produced output:" >&2; \
- sed "s,^,$*.m4: ," <process.log >&2; \
- echo >&2; \
- exit 1; \
- else \
- rm -f process.log; \
- fi
- $(M4) $(M4_INCLUDES) --fatal-warning --freeze-state=$*.m4f \
- $*.m4 >freeze.log
- if grep . freeze.log >/dev/null 2>&1; then \
- echo "ERROR: Freezing $(libdir)/$*.m4 produced output:" >&2; \
- sed "s,^,$*.m4: ," <freeze.log >&2; \
- echo >&2; \
- exit 1; \
- else \
- rm -f freeze.log; \
- fi
-
-
-# Some day we should explain to Automake how to use autom4te to compute
-# the dependencies...
-srclibdir = $(top_srcdir)/lib
-autoconf.m4f: $(srclibdir)/m4sugar/m4sugar.m4 \
- ../m4sugar/version.m4 \
- $(srclibdir)/m4sugar/m4sh.m4 \
- $(srclibdir)/autoconf/autoconf.m4 \
- $(srclibdir)/autoconf/general.m4 \
- $(srclibdir)/autoconf/autoheader.m4 \
- $(srclibdir)/autoconf/autoupdate.m4 \
- $(srclibdir)/autoconf/autotest.m4 \
- $(srclibdir)/autoconf/status.m4 \
- $(srclibdir)/autoconf/oldnames.m4 \
- $(srclibdir)/autoconf/specific.m4 \
- $(srclibdir)/autoconf/lang.m4 \
- $(srclibdir)/autoconf/c.m4 \
- $(srclibdir)/autoconf/fortran.m4 \
- $(srclibdir)/autoconf/functions.m4 \
- $(srclibdir)/autoconf/headers.m4 \
- $(srclibdir)/autoconf/types.m4 \
- $(srclibdir)/autoconf/libs.m4 \
- $(srclibdir)/autoconf/programs.m4
-
-# Files that should be removed, but which Automake does not know.
-CLEANFILES = autoconf.m4f
+autoconf.m4f: $(autoconf_m4f_dependencies)
+include ../freeze.mk
nodist_autoconflib_DATA = autoconf.m4f
+CLEANFILES = $(nodist_autoconflib_DATA)
TAGS_FILES = $(dist_autoconflib_DATA)
SUFFIXES = .m4 .m4f
-M4_INCLUDES = --include $(srcdir) \
- --include $(top_builddir)/lib \
- --include $(top_srcdir)/lib
+AUTOM4TE = $(top_builddir)/tests/autom4te
+AUTOM4TE_CFG = $(top_builddir)/lib/autom4te.cfg
+
+# Factor the dependencies between all the frozen files.
# Some day we should explain to Automake how to use autom4te to compute
# the dependencies...
-srclibdir = $(top_srcdir)/lib
+src_libdir = $(top_srcdir)/lib
+build_libdir = $(top_builddir)/lib
+
+m4f_dependencies = $(AUTOM4TE) $(AUTOM4TE_CFG)
+
+m4sugar_m4f_dependencies = \
+ $(m4f_dependencies) \
+ $(src_libdir)/m4sugar/m4sugar.m4 \
+ $(build_libdir)/m4sugar/version.m4
+
+
+m4sh_m4f_dependencies = \
+ $(m4sugar_m4f_dependencies) \
+ $(src_libdir)/m4sugar/m4sh.m4
+
+
+autotest_m4f_dependencies = \
+ $(m4sh_m4f_dependencies) \
+ $(src_libdir)/autotest/autotest.m4 \
+ $(src_libdir)/autotest/general.m4
+
+
+autoconf_m4f_dependencies = \
+ $(m4sh_m4f_dependencies) \
+ $(src_libdir)/autoconf/general.m4 \
+ $(src_libdir)/autoconf/autoheader.m4 \
+ $(src_libdir)/autoconf/autoupdate.m4 \
+ $(src_libdir)/autoconf/autotest.m4 \
+ $(src_libdir)/autoconf/status.m4 \
+ $(src_libdir)/autoconf/oldnames.m4 \
+ $(src_libdir)/autoconf/specific.m4 \
+ $(src_libdir)/autoconf/lang.m4 \
+ $(src_libdir)/autoconf/c.m4 \
+ $(src_libdir)/autoconf/fortran.m4 \
+ $(src_libdir)/autoconf/functions.m4 \
+ $(src_libdir)/autoconf/headers.m4 \
+ $(src_libdir)/autoconf/types.m4 \
+ $(src_libdir)/autoconf/libs.m4 \
+ $(src_libdir)/autoconf/programs.m4 \
+ $(src_libdir)/autoconf/autoconf.m4
-# Files that should be removed, but which Automake does not know.
-CLEANFILES = autoconf.m4f
subdir = lib/autoconf
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_CLEAN_FILES =
.SUFFIXES:
.SUFFIXES: .m4 .m4f
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+$(srcdir)/Makefile.in: Makefile.am $(srcdir)/../freeze.mk $(top_srcdir)/configure.ac $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu lib/autoconf/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
rm -f eof.log; \
fi
+autoconf.m4f: $(autoconf_m4f_dependencies)
+$(AUTOM4TE):
+ cd $(top_builddir)/tests && $(MAKE) $(AM_MAKEFLAGS) autom4te
+$(AUTOM4TE_CFG):
+ cd $(top_builddir)/lib && $(MAKE) $(AM_MAKEFLAGS) autom4te.cfg
+
# When processing the file with diversion disabled, there must be no
# output but comments and empty lines.
# If freezing produces output, something went wrong: a bad `divert',
# It may happen that the output does not end with a end of line, hence
# force an end of line when reporting errors.
.m4.m4f:
- $(M4) $(M4_INCLUDES) --fatal-warning --define divert \
- $*.m4 2>error.log | \
- sed 's/#.*//;/^$$/d' >process.log
- if grep . error.log >/dev/null 2>&1; then \
- echo "ERROR: Processing $*.m4 produced errors:" >&2; \
- sed "s,^,$*.m4: ," <error.log >&2; \
- echo >&2; \
- exit 1; \
- else \
- rm -f error.log; \
- fi
- if grep . process.log >/dev/null 2>&1; then \
- echo "ERROR: Processing $*.m4 produced output:" >&2; \
- sed "s,^,$*.m4: ," <process.log >&2; \
- echo >&2; \
- exit 1; \
- else \
- rm -f process.log; \
- fi
- $(M4) $(M4_INCLUDES) --fatal-warning --freeze-state=$*.m4f \
- $*.m4 >freeze.log
- if grep . freeze.log >/dev/null 2>&1; then \
- echo "ERROR: Freezing $(libdir)/$*.m4 produced output:" >&2; \
- sed "s,^,$*.m4: ," <freeze.log >&2; \
- echo >&2; \
- exit 1; \
- else \
- rm -f freeze.log; \
- fi
-autoconf.m4f: $(srclibdir)/m4sugar/m4sugar.m4 \
- ../m4sugar/version.m4 \
- $(srclibdir)/m4sugar/m4sh.m4 \
- $(srclibdir)/autoconf/autoconf.m4 \
- $(srclibdir)/autoconf/general.m4 \
- $(srclibdir)/autoconf/autoheader.m4 \
- $(srclibdir)/autoconf/autoupdate.m4 \
- $(srclibdir)/autoconf/autotest.m4 \
- $(srclibdir)/autoconf/status.m4 \
- $(srclibdir)/autoconf/oldnames.m4 \
- $(srclibdir)/autoconf/specific.m4 \
- $(srclibdir)/autoconf/lang.m4 \
- $(srclibdir)/autoconf/c.m4 \
- $(srclibdir)/autoconf/fortran.m4 \
- $(srclibdir)/autoconf/functions.m4 \
- $(srclibdir)/autoconf/headers.m4 \
- $(srclibdir)/autoconf/types.m4 \
- $(srclibdir)/autoconf/libs.m4 \
- $(srclibdir)/autoconf/programs.m4
+ $(AUTOM4TE) \
+ --language=$* \
+ --freeze \
+ --include=$(srcdir)/.. \
+ --include=.. \
+ --output=$@
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
## Process this file with automake to create Makefile.in
-autotestlibdir = $(pkgdatadir)/autotest
+## Copyright 2001, 2002 Free Software Foundation, Inc.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+## 02111-1307, USA.
+autotestlibdir = $(pkgdatadir)/autotest
dist_autotestlib_DATA = autotest.m4 general.m4
-
-
+nodist_autotestlib_DATA = autotest.m4f
+CLEANFILES = $(nodist_autotestlib_DATA)
## --------------- ##
## Building TAGS. ##
else \
rm -f eof.log; \
fi
+
+
+## ------------------ ##
+## The frozen files. ##
+## ------------------ ##
+
+autotest.m4f: $(autotests_m4f_dependencies)
+include ../freeze.mk
lispdir = @lispdir@
autotestlibdir = $(pkgdatadir)/autotest
-
dist_autotestlib_DATA = autotest.m4 general.m4
+nodist_autotestlib_DATA = autotest.m4f
+CLEANFILES = $(nodist_autotestlib_DATA)
TAGS_FILES = $(dist_autotestlib_DATA)
ETAGS_ARGS = --lang=none \
--regex='/\(A[CU]_DEFUN\|m4_\(defun\|define\)\|define\)(\[\([^]]*\)\]/\3/'
+
+SUFFIXES = .m4 .m4f
+
+AUTOM4TE = $(top_builddir)/tests/autom4te
+
+AUTOM4TE_CFG = $(top_builddir)/lib/autom4te.cfg
+
+# Factor the dependencies between all the frozen files.
+# Some day we should explain to Automake how to use autom4te to compute
+# the dependencies...
+src_libdir = $(top_srcdir)/lib
+build_libdir = $(top_builddir)/lib
+
+m4f_dependencies = $(AUTOM4TE) $(AUTOM4TE_CFG)
+
+m4sugar_m4f_dependencies = \
+ $(m4f_dependencies) \
+ $(src_libdir)/m4sugar/m4sugar.m4 \
+ $(build_libdir)/m4sugar/version.m4
+
+
+m4sh_m4f_dependencies = \
+ $(m4sugar_m4f_dependencies) \
+ $(src_libdir)/m4sugar/m4sh.m4
+
+
+autotest_m4f_dependencies = \
+ $(m4sh_m4f_dependencies) \
+ $(src_libdir)/autotest/autotest.m4 \
+ $(src_libdir)/autotest/general.m4
+
+
+autoconf_m4f_dependencies = \
+ $(m4sh_m4f_dependencies) \
+ $(src_libdir)/autoconf/general.m4 \
+ $(src_libdir)/autoconf/autoheader.m4 \
+ $(src_libdir)/autoconf/autoupdate.m4 \
+ $(src_libdir)/autoconf/autotest.m4 \
+ $(src_libdir)/autoconf/status.m4 \
+ $(src_libdir)/autoconf/oldnames.m4 \
+ $(src_libdir)/autoconf/specific.m4 \
+ $(src_libdir)/autoconf/lang.m4 \
+ $(src_libdir)/autoconf/c.m4 \
+ $(src_libdir)/autoconf/fortran.m4 \
+ $(src_libdir)/autoconf/functions.m4 \
+ $(src_libdir)/autoconf/headers.m4 \
+ $(src_libdir)/autoconf/types.m4 \
+ $(src_libdir)/autoconf/libs.m4 \
+ $(src_libdir)/autoconf/programs.m4 \
+ $(src_libdir)/autoconf/autoconf.m4
+
subdir = lib/autotest
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_CLEAN_FILES =
DIST_SOURCES =
-DATA = $(dist_autotestlib_DATA)
+DATA = $(dist_autotestlib_DATA) $(nodist_autotestlib_DATA)
DIST_COMMON = $(dist_autotestlib_DATA) Makefile.am Makefile.in
all: all-am
.SUFFIXES:
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+.SUFFIXES: .m4 .m4f
+$(srcdir)/Makefile.in: Makefile.am $(srcdir)/../freeze.mk $(top_srcdir)/configure.ac $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu lib/autotest/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo " rm -f $(DESTDIR)$(autotestlibdir)/$$f"; \
rm -f $(DESTDIR)$(autotestlibdir)/$$f; \
done
+nodist_autotestlibDATA_INSTALL = $(INSTALL_DATA)
+install-nodist_autotestlibDATA: $(nodist_autotestlib_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(autotestlibdir)
+ @list='$(nodist_autotestlib_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " $(nodist_autotestlibDATA_INSTALL) $$d$$p $(DESTDIR)$(autotestlibdir)/$$f"; \
+ $(nodist_autotestlibDATA_INSTALL) $$d$$p $(DESTDIR)$(autotestlibdir)/$$f; \
+ done
+
+uninstall-nodist_autotestlibDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(nodist_autotestlib_DATA)'; for p in $$list; do \
+ f="`echo $$p | sed -e 's|^.*/||'`"; \
+ echo " rm -f $(DESTDIR)$(autotestlibdir)/$$f"; \
+ rm -f $(DESTDIR)$(autotestlibdir)/$$f; \
+ done
ETAGS = etags
ETAGSFLAGS =
all-am: Makefile $(DATA)
installdirs:
- $(mkinstalldirs) $(DESTDIR)$(autotestlibdir)
+ $(mkinstalldirs) $(DESTDIR)$(autotestlibdir) $(DESTDIR)$(autotestlibdir)
install: install-am
install-exec: install-exec-am
mostlyclean-generic:
clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
info-am:
-install-data-am: install-dist_autotestlibDATA
+install-data-am: install-dist_autotestlibDATA \
+ install-nodist_autotestlibDATA
install-exec-am:
mostlyclean-am: mostlyclean-generic
-uninstall-am: uninstall-dist_autotestlibDATA uninstall-info-am
+uninstall-am: uninstall-dist_autotestlibDATA uninstall-info-am \
+ uninstall-nodist_autotestlibDATA
.PHONY: GTAGS all all-am check check-am check-local clean clean-generic \
distclean distclean-generic distclean-tags distdir dvi dvi-am \
info info-am install install-am install-data install-data-am \
install-dist_autotestlibDATA install-exec install-exec-am \
- install-info install-info-am install-man install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
+ install-info install-info-am install-man \
+ install-nodist_autotestlibDATA install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic tags \
uninstall uninstall-am uninstall-dist_autotestlibDATA \
- uninstall-info-am
+ uninstall-info-am uninstall-nodist_autotestlibDATA
check-local:
else \
rm -f eof.log; \
fi
+
+autotest.m4f: $(autotests_m4f_dependencies)
+$(AUTOM4TE):
+ cd $(top_builddir)/tests && $(MAKE) $(AM_MAKEFLAGS) autom4te
+$(AUTOM4TE_CFG):
+ cd $(top_builddir)/lib && $(MAKE) $(AM_MAKEFLAGS) autom4te.cfg
+
+# When processing the file with diversion disabled, there must be no
+# output but comments and empty lines.
+# If freezing produces output, something went wrong: a bad `divert',
+# or an improper paren etc.
+# It may happen that the output does not end with a end of line, hence
+# force an end of line when reporting errors.
+.m4.m4f:
+ $(AUTOM4TE) \
+ --language=$* \
+ --freeze \
+ --include=$(srcdir)/.. \
+ --include=.. \
+ --output=$@
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
## Process this file with automake to create Makefile.in
+## Copyright 2001, 2002 Free Software Foundation, Inc.
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2, or (at your option)
+## any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+## 02111-1307, USA.
+
m4sugarlibdir = $(pkgdatadir)/m4sugar
dist_m4sugarlib_DATA = m4sugar.m4 m4sh.m4
-nodist_m4sugarlib_DATA = version.m4
-DISTCLEANFILES = $(nodist_m4sugarlib_DATA)
+nodist_m4sugarlib_DATA = version.m4 m4sugar.m4f m4sh.m4f
+CLEANFILES = $(nodist_m4sugarlib_DATA)
## ------------ ##
## version.m4. ##
{ \
echo '# This file is part of -*- Autoconf -*-.'; \
echo '# Version of Autoconf.'; \
- echo '# Copyright 1999, 2000, 2001 Free Software Foundation, Inc.'; \
+ echo '# Copyright (C) 1999, 2000, 2001, 2002'; \
+ echo '# Free Software Foundation, Inc.'; \
echo ;\
echo 'm4_define([m4_PACKAGE_NAME], [@PACKAGE_NAME@])'; \
echo 'm4_define([m4_PACKAGE_TARNAME], [@PACKAGE_TARNAME@])'; \
else \
rm -f eof.log; \
fi
+
+
+## ------------------ ##
+## The frozen files. ##
+## ------------------ ##
+
+m4sugar.m4f: $(m4sugar_m4f_dependencies)
+m4sh.m4f: $(m4sh_m4f_dependencies)
+include ../freeze.mk
m4sugarlibdir = $(pkgdatadir)/m4sugar
dist_m4sugarlib_DATA = m4sugar.m4 m4sh.m4
-nodist_m4sugarlib_DATA = version.m4
-DISTCLEANFILES = $(nodist_m4sugarlib_DATA)
+nodist_m4sugarlib_DATA = version.m4 m4sugar.m4f m4sh.m4f
+CLEANFILES = $(nodist_m4sugarlib_DATA)
TAGS_FILES = $(dist_m4sugarlib_DATA)
ETAGS_ARGS = --lang=none \
--regex='/\(A[CU]_DEFUN\|m4_\(defun\|define\)\|define\)(\[\([^]]*\)\]/\3/'
+
+SUFFIXES = .m4 .m4f
+
+AUTOM4TE = $(top_builddir)/tests/autom4te
+
+AUTOM4TE_CFG = $(top_builddir)/lib/autom4te.cfg
+
+# Factor the dependencies between all the frozen files.
+# Some day we should explain to Automake how to use autom4te to compute
+# the dependencies...
+src_libdir = $(top_srcdir)/lib
+build_libdir = $(top_builddir)/lib
+
+m4f_dependencies = $(AUTOM4TE) $(AUTOM4TE_CFG)
+
+m4sugar_m4f_dependencies = \
+ $(m4f_dependencies) \
+ $(src_libdir)/m4sugar/m4sugar.m4 \
+ $(build_libdir)/m4sugar/version.m4
+
+
+m4sh_m4f_dependencies = \
+ $(m4sugar_m4f_dependencies) \
+ $(src_libdir)/m4sugar/m4sh.m4
+
+
+autotest_m4f_dependencies = \
+ $(m4sh_m4f_dependencies) \
+ $(src_libdir)/autotest/autotest.m4 \
+ $(src_libdir)/autotest/general.m4
+
+
+autoconf_m4f_dependencies = \
+ $(m4sh_m4f_dependencies) \
+ $(src_libdir)/autoconf/general.m4 \
+ $(src_libdir)/autoconf/autoheader.m4 \
+ $(src_libdir)/autoconf/autoupdate.m4 \
+ $(src_libdir)/autoconf/autotest.m4 \
+ $(src_libdir)/autoconf/status.m4 \
+ $(src_libdir)/autoconf/oldnames.m4 \
+ $(src_libdir)/autoconf/specific.m4 \
+ $(src_libdir)/autoconf/lang.m4 \
+ $(src_libdir)/autoconf/c.m4 \
+ $(src_libdir)/autoconf/fortran.m4 \
+ $(src_libdir)/autoconf/functions.m4 \
+ $(src_libdir)/autoconf/headers.m4 \
+ $(src_libdir)/autoconf/types.m4 \
+ $(src_libdir)/autoconf/libs.m4 \
+ $(src_libdir)/autoconf/programs.m4 \
+ $(src_libdir)/autoconf/autoconf.m4
+
subdir = lib/m4sugar
mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs
CONFIG_CLEAN_FILES =
all: all-am
.SUFFIXES:
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+.SUFFIXES: .m4 .m4f
+$(srcdir)/Makefile.in: Makefile.am $(srcdir)/../freeze.mk $(top_srcdir)/configure.ac $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu lib/m4sugar/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
mostlyclean-generic:
clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
- -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
{ \
echo '# This file is part of -*- Autoconf -*-.'; \
echo '# Version of Autoconf.'; \
- echo '# Copyright 1999, 2000, 2001 Free Software Foundation, Inc.'; \
+ echo '# Copyright (C) 1999, 2000, 2001, 2002'; \
+ echo '# Free Software Foundation, Inc.'; \
echo ;\
echo 'm4_define([m4_PACKAGE_NAME], [@PACKAGE_NAME@])'; \
echo 'm4_define([m4_PACKAGE_TARNAME], [@PACKAGE_TARNAME@])'; \
else \
rm -f eof.log; \
fi
+
+m4sugar.m4f: $(m4sugar_m4f_dependencies)
+m4sh.m4f: $(m4sh_m4f_dependencies)
+$(AUTOM4TE):
+ cd $(top_builddir)/tests && $(MAKE) $(AM_MAKEFLAGS) autom4te
+$(AUTOM4TE_CFG):
+ cd $(top_builddir)/lib && $(MAKE) $(AM_MAKEFLAGS) autom4te.cfg
+
+# When processing the file with diversion disabled, there must be no
+# output but comments and empty lines.
+# If freezing produces output, something went wrong: a bad `divert',
+# or an improper paren etc.
+# It may happen that the output does not end with a end of line, hence
+# force an end of line when reporting errors.
+.m4.m4f:
+ $(AUTOM4TE) \
+ --language=$* \
+ --freeze \
+ --include=$(srcdir)/.. \
+ --include=.. \
+ --output=$@
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
.B autom4te
[\fIOPTION\fR] ... [\fIFILES\fR]
.SH DESCRIPTION
-Run GNU M4 on the FILES, avoiding useless runs. If tracing, the output
-consists of the traces only, otherwise output the expansion of the FILES.
+Run GNU M4 on the FILES, avoiding useless runs. Output the traces if tracing,
+the frozen file if freezing, otherwise the expansion of the FILES.
.PP
If some of the FILES are named `FILE.m4f' they are considered to be M4
frozen files of all the previous files (which are therefore not loaded).
.TP
\fB\-p\fR, \fB\-\-preselect\fR=\fIMACRO\fR
prepare to trace MACRO in a future run
+.SS "Freezing:"
+.TP
+\fB\-F\fR, \fB\-\-freeze\fR
+produce an M4 frozen state file for FILES
.SH AUTHOR
Written by Akim Demaille.
.PP