diff --git a/.gitignore b/.gitignore index aab89fccc..e3ccf2816 100644 --- a/.gitignore +++ b/.gitignore @@ -113,6 +113,9 @@ INSTALL /lib/sys/stat.h /lib/arg-nonnull.h /lib/link-warning.h +/lib/c++defs.h +/lib/iconv.h +/lib/netdb.h /GPATH /GRTAGS /GSYMS diff --git a/am/guilec b/am/guilec index fec1d364b..824f1057e 100644 --- a/am/guilec +++ b/am/guilec @@ -30,8 +30,12 @@ install-data-hook: touch -r "$$d$$p" "$(DESTDIR)$(ccachedir)/$$f"; \ done +AM_V_GUILEC = $(AM_V_GUILEC_$(V)) +AM_V_GUILEC_ = $(AM_V_GUILEC_$(AM_DEFAULT_VERBOSITY)) +AM_V_GUILEC_0 = @echo " GUILEC" $@; + SUFFIXES = .scm .go .scm.go: - GUILE_AUTO_COMPILE=0 \ + $(AM_V_GUILEC)GUILE_AUTO_COMPILE=0 \ $(top_builddir)/meta/uninstalled-env \ guile-tools compile $(GUILE_WARNINGS) -o "$@" "$<" diff --git a/am/snarf b/am/snarf new file mode 100644 index 000000000..74d0ad21f --- /dev/null +++ b/am/snarf @@ -0,0 +1,7 @@ +# -*- makefile -*- + +GUILE_SNARF = $(top_builddir)/libguile/guile-snarf + +AM_V_SNARF = $(AM_V_SNARF_$(V)) +AM_V_SNARF_ = $(AM_V_SNARF_$(AM_DEFAULT_VERBOSITY)) +AM_V_SNARF_0 = @echo " SNARF " $@; diff --git a/configure.ac b/configure.ac index 6133954f7..960101673 100644 --- a/configure.ac +++ b/configure.ac @@ -37,6 +37,7 @@ AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_SRCDIR(GUILE-VERSION) AM_INIT_AUTOMAKE([gnu no-define -Wall -Wno-override]) +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) AC_COPYRIGHT(GUILE_CONFIGURE_COPYRIGHT) AC_CONFIG_SRCDIR([GUILE-VERSION]) diff --git a/guile-readline/Makefile.am b/guile-readline/Makefile.am index 8d22b246a..e749ce84a 100644 --- a/guile-readline/Makefile.am +++ b/guile-readline/Makefile.am @@ -19,6 +19,8 @@ ## to the Free Software Foundation, Inc., 51 Franklin Street, Fifth ## Floor, Boston, MA 02110-1301 USA +include $(top_srcdir)/am/snarf + ## Prevent automake from adding extra -I options DEFS = @DEFS@ @EXTRA_DEFS@ @@ -38,8 +40,6 @@ AM_CPPFLAGS = -I. -I.. -I$(srcdir)/.. \ AM_CFLAGS = $(GCC_CFLAGS) -GUILE_SNARF = ../libguile/guile-snarf - lib_LTLIBRARIES = libguilereadline-v-@LIBGUILEREADLINE_MAJOR@.la libguilereadline_v_@LIBGUILEREADLINE_MAJOR@_la_SOURCES = readline.c @@ -60,7 +60,7 @@ modinclude_HEADERS = readline.h snarfcppopts = $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) SUFFIXES = .x .c.x: - $(GUILE_SNARF) -o $@ $< $(snarfcppopts) + $(AM_V_SNARF)$(GUILE_SNARF) -o $@ $< $(snarfcppopts) EXTRA_DIST += LIBGUILEREADLINE-VERSION ChangeLog-2008 diff --git a/libguile/Makefile.am b/libguile/Makefile.am index 90d8b61d3..9020a6d7e 100644 --- a/libguile/Makefile.am +++ b/libguile/Makefile.am @@ -19,6 +19,8 @@ ## write to the Free Software Foundation, Inc., 51 Franklin Street, ## Fifth Floor, Boston, MA 02110-1301 USA +include $(top_srcdir)/am/snarf + AUTOMAKE_OPTIONS = gnu ## Prevent automake from adding extra -I options @@ -53,6 +55,7 @@ gen_scmconfig_SOURCES = gen-scmconfig.c ## Override default rule; this should be compiled for BUILD host. ## For some reason, OBJEXT does not include the dot gen-scmconfig.$(OBJEXT): gen-scmconfig.c + $(AM_V_GEN) \ if [ "$(cross_compiling)" = "yes" ]; then \ $(CC_FOR_BUILD) $(DEFS) $(DEFAULT_INCLUDES) $(AM_CPPFLAGS) -c -o $@ $<; \ else \ @@ -61,7 +64,8 @@ gen-scmconfig.$(OBJEXT): gen-scmconfig.c ## Override default rule; this should run on BUILD host. gen-scmconfig$(EXEEXT): $(gen_scmconfig_OBJECTS) $(gen_scmconfig_DEPENDENCIES) - @rm -f gen-scmconfig$(EXEEXT) + $(AM_V_GEN) \ + rm -f gen-scmconfig$(EXEEXT); \ if [ "$(cross_compiling)" = "yes" ]; then \ $(CCLD_FOR_BUILD) -o $@ $(gen_scmconfig_OBJECTS); \ else \ @@ -69,18 +73,20 @@ gen-scmconfig$(EXEEXT): $(gen_scmconfig_OBJECTS) $(gen_scmconfig_DEPENDENCIES) fi scmconfig.h: ${top_builddir}/config.h gen-scmconfig$(EXEEXT) - rm -f scmconfig.h.tmp - cat $(srcdir)/scmconfig.h.top > scmconfig.h.tmp - ./gen-scmconfig$(EXEEXT) >> scmconfig.h.tmp - chmod 444 scmconfig.h.tmp - rm -f scmconfig.h - mv scmconfig.h.tmp scmconfig.h + $(AM_V_GEN)(rm -f scmconfig.h.tmp; \ + cat $(srcdir)/scmconfig.h.top > scmconfig.h.tmp; \ + ./gen-scmconfig$(EXEEXT) >> scmconfig.h.tmp; \ + chmod 444 scmconfig.h.tmp; \ + rm -f scmconfig.h; \ + mv scmconfig.h.tmp scmconfig.h) + guile_filter_doc_snarfage_SOURCES = c-tokenize.c ## Override default rule; this should be compiled for BUILD host. ## For some reason, OBJEXT does not include the dot c-tokenize.$(OBJEXT): c-tokenize.c + $(AM_V_GEN) \ if [ "$(cross_compiling)" = "yes" ]; then \ $(CC_FOR_BUILD) $(DEFS) $(AM_CPPFLAGS) -c -o $@ $<; \ else \ @@ -89,7 +95,8 @@ c-tokenize.$(OBJEXT): c-tokenize.c ## Override default rule; this should run on BUILD host. guile_filter_doc_snarfage$(EXEEXT): $(guile_filter_doc_snarfage_OBJECTS) $(guile_filter_doc_snarfage_DEPENDENCIES) - @rm -f guile_filter_doc_snarfage$(EXEEXT) + $(AM_V_GEN) \ + rm -f guile_filter_doc_snarfage$(EXEEXT); \ if [ "$(cross_compiling)" = "yes" ]; then \ $(CCLD_FOR_BUILD) -o $@ $(guile_filter_doc_snarfage_OBJECTS); \ else \ @@ -406,7 +413,7 @@ EXTRA_DOT_DOC_FILES = @EXTRA_DOT_DOC_FILES@ DOT_I_FILES = vm-i-system.i vm-i-scheme.i vm-i-loader.i .c.i: - $(GREP) '^VM_DEFINE' $< > $@ + $(AM_V_GEN)$(GREP) '^VM_DEFINE' $< > $@ BUILT_SOURCES = cpp_err_symbols.c cpp_sig_symbols.c libpath.h \ version.h scmconfig.h \ @@ -601,16 +608,14 @@ EXTRA_DIST = ChangeLog-scm ChangeLog-threads \ ## usual @...@, so autoconf doesn't go and substitute the values ## directly into the left-hand sides of the sed substitutions. *sigh* version.h: version.h.in $(top_builddir)/config.status - sed < $(srcdir)/version.h.in > $@.tmp \ + $(AM_V_GEN)sed < $(srcdir)/version.h.in > $@.tmp \ -e s:@-GUILE_MAJOR_VERSION-@:${GUILE_MAJOR_VERSION}: \ -e s:@-GUILE_MINOR_VERSION-@:${GUILE_MINOR_VERSION}: \ -e s:@-GUILE_MICRO_VERSION-@:${GUILE_MICRO_VERSION}: \ - -e s:@-GUILE_EFFECTIVE_VERSION-@:${GUILE_EFFECTIVE_VERSION}: - mv $@.tmp $@ + -e s:@-GUILE_EFFECTIVE_VERSION-@:${GUILE_EFFECTIVE_VERSION}: && mv $@.tmp $@ ## FIXME: Consider using timestamp file, to avoid unnecessary rebuilds. libpath.h: $(srcdir)/Makefile.in $(top_builddir)/config.status - @echo "Generating libpath.h..." @rm -f libpath.tmp @echo '/* generated by Makefile */' > libpath.tmp @echo '#define SCM_PKGDATA_DIR "$(pkgdatadir)"' >> libpath.tmp @@ -649,18 +654,21 @@ libpath.h: $(srcdir)/Makefile.in $(top_builddir)/config.status @echo ' { "CFLAGS", "@GUILE_CFLAGS@" }, \' >> libpath.tmp @echo ' { "buildstamp", "'"`date`"'" }, \' >> libpath.tmp @echo '}' >> libpath.tmp - @mv libpath.tmp libpath.h + $(AM_V_GEN)mv libpath.tmp libpath.h snarfcppopts = $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) SUFFIXES = .x .doc + +AM_V_FILTER = $(AM_V_FILTER_$(V)) +AM_V_FILTER_ = $(AM_V_FILTER_$(AM_DEFAULT_VERBOSITY)) +AM_V_FILTER_0 = @echo " FILTER" $@; + .c.x: - ./guile-snarf -o $@ $< $(snarfcppopts) + $(AM_V_SNARF)$(GUILE_SNARF) -o $@ $< $(snarfcppopts) .c.doc: - -$(AWK) -f ./guile-func-name-check $< - (./guile-snarf-docs $(snarfcppopts) $< | \ - ./guile_filter_doc_snarfage$(EXEEXT) --filter-snarfage) > $@ || { rm $@; false; } + -$(AM_V_FILTER)$(AWK) -f ./guile-func-name-check $< && (./guile-snarf-docs $(snarfcppopts) $< | ./guile_filter_doc_snarfage$(EXEEXT) --filter-snarfage) > $@ || { rm $@; false; } $(DOT_X_FILES) $(EXTRA_DOT_X_FILES): scmconfig.h snarf.h guile-snarf.in @@ -678,7 +686,7 @@ guile.texi: $(alldotdocfiles) guile$(EXEEXT) $(dotdoc2texi) --manual > $@ || { rm $@; false; } guile-procedures.texi: $(alldotdocfiles) guile$(EXEEXT) - $(dotdoc2texi) > $@ || { rm $@; false; } + $(AM_V_GEN)$(dotdoc2texi) > $@ || { rm $@; false; } if HAVE_MAKEINFO diff --git a/srfi/Makefile.am b/srfi/Makefile.am index cb36dda72..655d214b7 100644 --- a/srfi/Makefile.am +++ b/srfi/Makefile.am @@ -19,6 +19,8 @@ ## write to the Free Software Foundation, Inc., 51 Franklin Street, ## Fifth Floor, Boston, MA 02110-1301 USA +include $(top_srcdir)/am/snarf + AUTOMAKE_OPTIONS = gnu ## Prevent automake from adding extra -I options @@ -68,14 +70,13 @@ libguile_srfi_srfi_60_v_@LIBGUILE_SRFI_SRFI_60_MAJOR@_la_LDFLAGS = -no-undefined EXTRA_DIST = ChangeLog-2008 -GUILE_SNARF = ../libguile/guile-snarf - MKDEP = gcc -M -MG $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) snarfcppopts = $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) SUFFIXES = .x + .c.x: - $(GUILE_SNARF) -o $@ $< $(snarfcppopts) + $(AM_V_SNARF)$(GUILE_SNARF) -o $@ $< $(snarfcppopts) CLEANFILES = *.x diff --git a/test-suite/standalone/Makefile.am b/test-suite/standalone/Makefile.am index 34266b735..4582c9e23 100644 --- a/test-suite/standalone/Makefile.am +++ b/test-suite/standalone/Makefile.am @@ -19,6 +19,7 @@ ## write to the Free Software Foundation, Inc., 51 Franklin Street, ## Fifth Floor, Boston, MA 02110-1301 USA +include $(top_srcdir)/am/snarf # initializations so we can use += below. TESTS = @@ -49,7 +50,7 @@ snarfcppopts = \ SUFFIXES = .x .c.x: - ${top_builddir}/libguile/guile-snarf -o $@ $< $(snarfcppopts) + $(AM_V_SNARF)$(GUILE_SNARF) -o $@ $< $(snarfcppopts) CLEANFILES = *.x