automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: build question


From: Eric Blake
Subject: Re: build question
Date: Sun, 10 Feb 2002 17:41:50 -0700

OK, I really want this bug gone.  So I did some more research, this time
with a fresh copy of automake from the head of CVS (no patches
applied).  I'm using a cygwin text mount, so every file has \r\n on
every line after the CVS update.  If I understand XFile.pm correctly,
this means that automake should read files with \r\n -> \n, but write in
binmode.  And that means that if the output file has \r\n, perl was
writing a string with \r\n.

$ make
cd . && perllibdir=./lib /home/eblake/automake/aclocal --acdir=m4 -I
/home/eblake/automake/m4
cd . && \
  perllibdir=./lib /home/eblake/automake/automake --libdir=lib --gnu 
Makefile
Makefile.am:34: bad macro name `--regex'
make: *** [Makefile.in] Error 1
$ cvs up
M Makefile.in

Attached is the botched Makefile.in, except that I converted '\r' to
"^M" to show which lines were printed from strings which ended in \r\n. 
Also attached is Makefile.in.diff, the CVS difference, again with '\r'
converted to "^M" (I don't trust email to preserve \r vs. \n).  The
windows CVS client flattened \r\n while leaving \n alone, so the only
whitespace differences listed are the single instance where \r\r\n was
created in Makefile.in, as well as changes in the number of line breaks
in various places.

The first non-whitespace difference is that ETAGS_ARGS was defined with
a trailing \ in Makefile.am, but automake missed the line continuation
and tried to make --regex a macro.  Next, notice that the macro
RECURSIVE_TARGETS was defined in several files, including
lib/am/subdirs.am which used "+= \", and automake missed that line
continuation too.

I'm not familiar enough with automake to know which lines came from
which files, but it does look like perl was keeping the \r from some
sources and not others.

How would this idea work for a hack? In Automake::XFile, overload the
getline method (as well as the <HANDLE> operator) to strip \r before
passing any line of text to the rest of automake.

Alexandre Duret-Lutz wrote:
> 
> >>> "Eric" == Eric Blake <address@hidden> writes:
> 
> [...]
> 
>  Eric> So my previous patch did not solve the file read problem, and it hurt
>  Eric> the file write problem as well (Makefile.in was being generated with
>  Eric> some lines having \r\r\n, and perl's chomp only removes one of the two
>  Eric> \r).
> 
> Only *some*, not all? It would be intersting to see which lines
> get these characters (do these lines come from Makefile.am, or
> are they inserted by Automake?).
> 
> I suspect \r\r\n is a \r\n on which perl has applied automatic
> \n -> \r\n translation on output (because you removed binmode).
> However I fail to see where the original \r\n comes from.
> 
> --
> Alexandre Duret-Lutz

-- 
This signature intentionally left boring.

Eric Blake             address@hidden
  BYU student, free software programmer
Index: Makefile.in
===================================================================
RCS file: /cvsroot/automake/automake/Makefile.in,v
retrieving revision 1.357
diff -u -r1.357 Makefile.in
--- Makefile.in 28 Jan 2002 01:46:59 -0000      1.357
+++ Makefile.in 11 Feb 2002 01:13:36 -0000
@@ -12,15 +12,18 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
+
+
 @SET_MAKE@
-SHELL = @SHELL@
 
+
+
+SHELL = @SHELL@
 srcdir = @srcdir@
 top_srcdir = @top_srcdir@
 VPATH = @srcdir@
 prefix = @prefix@
 exec_prefix = @exec_prefix@
-
 bindir = @bindir@
 sbindir = @sbindir@
 libexecdir = @libexecdir@
@@ -37,12 +40,10 @@
 pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 top_builddir = .
-
 ACLOCAL = @ACLOCAL@
 AUTOCONF = @AUTOCONF@
 AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
-
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -57,7 +58,6 @@
 NORMAL_UNINSTALL = :
 PRE_UNINSTALL = :
 POST_UNINSTALL = :
-
 EXEEXT = @EXEEXT@
 OBJEXT = @OBJEXT@
 PATH_SEPARATOR = @PATH_SEPARATOR@
@@ -84,8 +84,7 @@
 
 # The following requires a fixed version of the Emacs 19.30 etags.
 ETAGS_ARGS = --lang=none \
- --regex='/address@hidden \t]+\([^,]+\)/\1/' $(srcdir)/automake.texi
-
+--regex = '/address@hidden \t]+\([^,]+\)/\1/' $(srcdir)/automake.texi
 TAGS_DEPENDENCIES = automake.texi
 
 EXTRA_DIST = ChangeLog.1996 ChangeLog.1998 ChangeLog.2000
@@ -104,11 +103,8 @@
 INFO_DEPS = automake.info
 DVIS = automake.dvi
 TEXINFOS = automake.texi
-
 RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
-       uninstall-info-recursive all-recursive install-data-recursive \
-       install-exec-recursive installdirs-recursive install-recursive \
-       uninstall-recursive check-recursive installcheck-recursive
+       uninstall-info-recursive \
 DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL Makefile.am \
        Makefile.in NEWS THANKS TODO aclocal.in aclocal.m4 automake.in \
        configure configure.in install-sh mdate-sh missing \
@@ -131,10 +127,12 @@
 
 $(ACLOCAL_M4):  configure.in 
        cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+
 automake: $(top_builddir)/config.status automake.in
        cd $(top_builddir) && $(SHELL) ./config.status $@
 aclocal: $(top_builddir)/config.status aclocal.in
        cd $(top_builddir) && $(SHELL) ./config.status $@
+
 install-binSCRIPTS: $(bin_SCRIPTS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(bindir)
@@ -157,6 +155,8 @@
          rm -f $(DESTDIR)$(bindir)/$$f; \
        done
 
+
+
 $(srcdir)/version.texi:  $(srcdir)/stamp-vti
        @:
 $(srcdir)/stamp-vti: automake.texi $(top_srcdir)/configure.in
@@ -177,6 +177,7 @@
 maintainer-clean-vti:
        -rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi
 
+
 automake.info: automake.texi $(srcdir)/version.texi
 automake.dvi: automake.texi $(srcdir)/version.texi
 
@@ -196,13 +197,20 @@
        cd $(srcdir) \
          && $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \
               `echo $< | sed 's,.*/,,'`
-
 MAKEINFO = @MAKEINFO@
 TEXI2DVI = texi2dvi
 DVIPS = dvips
+
+
 .dvi.ps:
        $(DVIPS) $< -o $@
 
+
+
+
+
+
+
 uninstall-info-am:
        $(PRE_UNINSTALL)
        @if (install-info --version && \
@@ -239,6 +247,7 @@
          automake.ov automake.pg automake.ps automake.toc automake.tp \
          automake.tr automake.vr automake.vrs
 
+
 maintainer-clean-aminfo:
        cd $(srcdir) && \
        for i in $(INFO_DEPS); do \
@@ -248,12 +257,19 @@
          fi; \
        done
 
+
+all-recursive install-data-recursive install-exec-recursive \
+installdirs-recursive install-recursive uninstall-recursive \
+check-recursive installcheck-recursive
+
+
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
 # To change the values of `make' variables: instead of editing Makefiles,
 # (1) if the variable is set in `config.status', edit `config.status'
 #     (which will cause the Makefiles to be regenerated when you run `make');
 # (2) otherwise, pass the desired values on the `make' command line.
+
 $(RECURSIVE_TARGETS):
        @set fnord $(MAKEFLAGS); amf=$$2; \
        dot_seen=no; \
@@ -273,6 +289,9 @@
          $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
        fi; test -z "$$fail"
 
+
+
+maintainer-clean-recursive
 mostlyclean-recursive clean-recursive distclean-recursive \
 maintainer-clean-recursive:
        @set fnord $(MAKEFLAGS); amf=$$2; \
@@ -302,7 +321,6 @@
        list='$(SUBDIRS)'; for subdir in $$list; do \
          test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); 
\
        done
-
 ETAGS = etags
 ETAGSFLAGS =
 
@@ -317,6 +335,7 @@
               END { for (i in files) print i; }'`; \
        mkid -fID $$unique
 
+
 TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
                $(TAGS_FILES) $(LISP)
        tags=; \
@@ -341,21 +360,21 @@
          && cd $(top_srcdir) \
          && gtags -i $(GTAGS_ARGS) $$here
 
+
 distclean-tags:
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-
 top_distdir = .
 distdir = $(PACKAGE)-$(VERSION)
-
 am__remove_distdir = \
+GZIP_ENV = --best
+distcleancheck_listfiles = find . -type f -print
+
+
   { test ! -d $(distdir) \
     || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
          && rm -fr $(distdir); }; }
 
-GZIP_ENV = --best
-distcleancheck_listfiles = find . -type f -print
-
 distdir: $(DISTFILES)
        $(am__remove_distdir)
        mkdir $(distdir)
@@ -399,6 +418,8 @@
          ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
          ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} 
\; \
        || chmod -R a+r $(distdir)
+
+
 dist-gzip: distdir
        $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
        $(am__remove_distdir)
@@ -407,11 +428,21 @@
        $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
        $(am__remove_distdir)
 
+
+
+
+
+
+
+
+
 dist dist-all: distdir
        $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
        $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
        $(am__remove_distdir)
 
+
+
 # This target untars the dist file and tries a VPATH configuration.  Then
 # it guarantees that the distribution is self-contained by making another
 # tarfile.
@@ -456,16 +487,20 @@
 all-am: Makefile $(INFO_DEPS) $(SCRIPTS)
 installdirs: installdirs-recursive
 installdirs-am:
-       $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(infodir)
+       $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(infodir)^M
+
+
 
 install: install-recursive
 install-exec: install-exec-recursive
 install-data: install-data-recursive
 uninstall: uninstall-recursive
 
+
 install-am: all-am
        @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
 
+
 installcheck: installcheck-recursive
 install-strip:
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
@@ -482,6 +517,9 @@
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
        @echo "it deletes files that may require special tools to rebuild."
+
+clean-generic mostlyclean-generic distclean-generic maintainer-clean-generic
+
 clean: clean-recursive
 
 clean-am: clean-generic mostlyclean-am
@@ -548,20 +586,18 @@
 
 uninstall-info: uninstall-info-recursive
 
-.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
-       clean-generic clean-recursive dist dist-all dist-bzip2 \
-       dist-gzip dist-info distcheck distclean distclean-generic \
-       distclean-recursive distclean-tags distcleancheck distdir dvi \
-       dvi-am dvi-recursive info info-am info-recursive install \
-       install-am install-binSCRIPTS install-data install-data-am \
-       install-data-recursive install-exec install-exec-am \
-       install-exec-recursive install-info install-info-am \
-       install-info-recursive install-man install-recursive \
-       install-strip installcheck installcheck-am installdirs \
-       installdirs-am installdirs-recursive maintainer-clean \
-       maintainer-clean-aminfo maintainer-clean-generic \
-       maintainer-clean-recursive maintainer-clean-vti mostlyclean \
-       mostlyclean-aminfo mostlyclean-generic mostlyclean-recursive \
+.PHONY: $(RECURSIVE_TARGETS) GTAGS \ all all-am check check-am clean \
+       clean-recursive dist dist-all dist-bzip2 dist-gzip dist-info \
+       distcheck distclean distclean-recursive distclean-tags \
+       distcleancheck distdir dvi dvi-am dvi-recursive info info-am \
+       info-recursive install install-am install-binSCRIPTS \
+       install-data install-data-am install-data-recursive \
+       install-exec install-exec-am install-exec-recursive \
+       install-info install-info-am install-info-recursive install-man \
+       install-recursive install-strip installcheck installcheck-am \
+       installdirs installdirs-am installdirs-recursive \
+       maintainer-clean maintainer-clean-aminfo maintainer-clean-vti \
+       mostlyclean mostlyclean-aminfo mostlyclean-recursive \
        mostlyclean-vti tags tags-recursive uninstall uninstall-am \
        uninstall-binSCRIPTS uninstall-info-am uninstall-info-recursive \
        uninstall-recursive
# Makefile.in generated by automake 1.5e from Makefile.am.
# @configure_input@

# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
^M
^M
^M
@address@hidden
^M
^M
^M
SHELL = @address@hidden
srcdir = @address@hidden
top_srcdir = @address@hidden
VPATH = @address@hidden
prefix = @address@hidden
exec_prefix = @address@hidden
bindir = @address@hidden
sbindir = @address@hidden
libexecdir = @address@hidden
datadir = @address@hidden
sysconfdir = @address@hidden
sharedstatedir = @address@hidden
localstatedir = @address@hidden
libdir = @address@hidden
infodir = @address@hidden
mandir = @address@hidden
includedir = @address@hidden
oldincludedir = /usr/include^M
pkgdatadir = $(datadir)/@address@hidden
pkglibdir = $(libdir)/@address@hidden
pkgincludedir = $(includedir)/@address@hidden
top_builddir = .^M
ACLOCAL = @address@hidden
AUTOCONF = @address@hidden
AUTOMAKE = @address@hidden
AUTOHEADER = @address@hidden
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd^M
INSTALL = @address@hidden
INSTALL_PROGRAM = @address@hidden
INSTALL_DATA = @address@hidden
install_sh_DATA = $(install_sh) -c -m 644^M
INSTALL_SCRIPT = @address@hidden
INSTALL_HEADER = $(INSTALL_DATA)^M
transform = @address@hidden
NORMAL_INSTALL = :^M
PRE_INSTALL = :^M
POST_INSTALL = :^M
NORMAL_UNINSTALL = :^M
PRE_UNINSTALL = :^M
POST_UNINSTALL = :^M
EXEEXT = @address@hidden
OBJEXT = @address@hidden
PATH_SEPARATOR = @address@hidden
AMTAR = @AMTAR@
APIVERSION = @APIVERSION@
AWK = @AWK@
DEPDIR = @DEPDIR@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
PACKAGE = @PACKAGE@
PERL = @PERL@
STRIP = @STRIP@
VERSION = @VERSION@
am__include = @am__include@
am__quote = @am__quote@
install_sh = @install_sh@
pkgvdatadir = @pkgvdatadir@

SUBDIRS = . m4 lib tests^M

bin_SCRIPTS = automake aclocal^M
info_TEXINFOS = automake.texi^M

TAGS_FILES = automake.in aclocal.in^M

# The following requires a fixed version of the Emacs 19.30 etags.^M
ETAGS_ARGS = --lang=none \^M
--regex = '/address@hidden \t]+\([^,]+\)/\1/' $(srcdir)/automake.texi^M
TAGS_DEPENDENCIES = automake.texi^M

EXTRA_DIST = ChangeLog.1996 ChangeLog.1998 ChangeLog.2000^M

WGET = wget^M

FETCHFILES = config.guess config.sub texinfo.tex^M
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/lib/mkinstalldirs
CONFIG_CLEAN_FILES = automake aclocal
SCRIPTS = $(bin_SCRIPTS)

DIST_SOURCES =
TEXINFO_TEX = $(top_srcdir)/lib/texinfo.tex
INFO_DEPS = automake.info
DVIS = automake.dvi
TEXINFOS = automake.texi
RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
        uninstall-info-recursive \
DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL Makefile.am \
        Makefile.in NEWS THANKS TODO aclocal.in aclocal.m4 automake.in \
        configure configure.in install-sh mdate-sh missing \
        mkinstalldirs stamp-vti version.texi
DIST_SUBDIRS = $(SUBDIRS)
all: all-recursive

.SUFFIXES:
.SUFFIXES: .dvi .info .ps .texi
$(srcdir)/Makefile.in:  Makefile.am  $(top_srcdir)/configure.in $(ACLOCAL_M4)^M
        cd $(top_srcdir) && \^M
          $(AUTOMAKE) --gnu  Makefile^M
Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status^M
        cd $(top_builddir) && $(SHELL) ./config.status $@ 
$(am__depfiles_maybe)^M
^M
$(top_builddir)/config.status: $(srcdir)/configure 
$(CONFIG_STATUS_DEPENDENCIES)^M
        $(SHELL) ./config.status --recheck^M
$(srcdir)/configure:  $(srcdir)/configure.in $(ACLOCAL_M4) 
$(CONFIGURE_DEPENDENCIES)^M
        cd $(srcdir) && $(AUTOCONF)^M
^M
$(ACLOCAL_M4):  configure.in ^M
        cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)^M
^M
automake: $(top_builddir)/config.status automake.in
        cd $(top_builddir) && $(SHELL) ./config.status $@
aclocal: $(top_builddir)/config.status aclocal.in
        cd $(top_builddir) && $(SHELL) ./config.status $@
^M
install-binSCRIPTS: $(bin_SCRIPTS)^M
        @$(NORMAL_INSTALL)^M
        $(mkinstalldirs) $(DESTDIR)$(bindir)^M
        @list='$(bin_SCRIPTS)'; for p in $$list; do \^M
          f="`echo $$p|sed '$(transform)'`"; \^M
          if test -f $$p; then \^M
            echo " $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/$$f"; \^M
            $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/$$f; \^M
          elif test -f $(srcdir)/$$p; then \^M
            echo " $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/$$f"; \^M
            $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/$$f; \^M
          else :; fi; \^M
        done^M
^M
uninstall-binSCRIPTS:^M
        @$(NORMAL_UNINSTALL)^M
        @list='$(bin_SCRIPTS)'; for p in $$list; do \^M
          f="`echo $$p|sed '$(transform)'`"; \^M
          echo " rm -f $(DESTDIR)$(bindir)/$$f"; \^M
          rm -f $(DESTDIR)$(bindir)/$$f; \^M
        done^M
^M
^M
^M
$(srcdir)/version.texi:  $(srcdir)/stamp-vti^M
        @:^M
$(srcdir)/stamp-vti: automake.texi $(top_srcdir)/configure.in^M
        @(set `$(SHELL) $(top_srcdir)/lib/mdate-sh $(srcdir)/automake.texi`; \^M
        echo "@set UPDATED $$1 $$2 $$3"; \^M
        echo "@set UPDATED-MONTH $$2 $$3"; \^M
        echo "@set EDITION $(VERSION)"; \^M
        echo "@set VERSION $(VERSION)") > vti.tmp^M
        @cmp -s vti.tmp $(srcdir)/version.texi \^M
          || (echo "Updating $(srcdir)/version.texi"; \^M
              cp vti.tmp $(srcdir)/version.texi)^M
        address@hidden -f vti.tmp^M
        @cp $(srcdir)/version.texi address@hidden
^M
mostlyclean-vti:^M
        -rm -f vti.tmp^M
^M
maintainer-clean-vti:^M
        -rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi^M
^M

automake.info: automake.texi $(srcdir)/version.texi
automake.dvi: automake.texi $(srcdir)/version.texi
^M
.texi.info:^M
        @cd $(srcdir) && rm -f $@ address@hidden address@hidden
        cd $(srcdir) \^M
          && $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \^M
               `echo $< | sed 's,.*/,,'`^M
^M
.texi.dvi:^M
        TEXINPUTS="$(top_srcdir)/lib$(PATH_SEPARATOR)$$TEXINPUTS" \^M
        MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I 
$(srcdir)' \^M
        $(TEXI2DVI) $<^M
^M
.texi:^M
        @cd $(srcdir) && rm -f $@ address@hidden address@hidden
        cd $(srcdir) \^M
          && $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \^M
               `echo $< | sed 's,.*/,,'`^M
MAKEINFO = @address@hidden
TEXI2DVI = texi2dvi^M
DVIPS = dvips^M
^M
^M
.dvi.ps:^M
        $(DVIPS) $< -o address@hidden
^M
^M
^M
^M
^M
^M
^M
uninstall-info-am:^M
        $(PRE_UNINSTALL)^M
        @if (install-info --version && \^M
             install-info --version | fgrep -i -v debian) >/dev/null 2>&1; then 
\^M
          list='$(INFO_DEPS)'; \^M
          for file in $$list; do \^M
            echo " install-info --info-dir=$(DESTDIR)$(infodir) --remove 
$(DESTDIR)$(infodir)/$$file"; \^M
            install-info --info-dir=$(DESTDIR)$(infodir) --remove 
$(DESTDIR)$(infodir)/$$file; \^M
          done; \^M
        else :; fi^M
        @$(NORMAL_UNINSTALL)^M
        @list='$(INFO_DEPS)'; \^M
        for file in $$list; do \^M
          (if cd $(DESTDIR)$(infodir); then \^M
             echo " rm -f $$file $$file-[0-9] $$file-[0-9][0-9])"; \^M
             rm -f $$file $$file-[0-9] $$file-[0-9][0-9]; \^M
           else :; fi); \^M
        done^M
^M
dist-info: $(INFO_DEPS)^M
        list='$(INFO_DEPS)'; \^M
        for base in $$list; do \^M
          d=$(srcdir); \^M
          for file in $$d/$$base*; do \^M
            relfile=`expr "$$file" : "$$d/\(.*\)"`; \^M
            test -f $(distdir)/$$relfile || \^M
              cp -p $$file $(distdir)/$$relfile; \^M
          done; \^M
        done^M
^M
mostlyclean-aminfo:^M
        -rm -f automake.aux automake.cm automake.cp automake.cps automake.cv \
          automake.dvi automake.fn automake.ky automake.log automake.op \
          automake.ov automake.pg automake.ps automake.toc automake.tp \
          automake.tr automake.vr automake.vrs
^M
^M
maintainer-clean-aminfo:^M
        cd $(srcdir) && \^M
        for i in $(INFO_DEPS); do \^M
          rm -f $$i; \^M
          if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \^M
            rm -f $$i-[0-9]*; \^M
          fi; \^M
        done^M
^M
^M
all-recursive install-data-recursive install-exec-recursive \^M
installdirs-recursive install-recursive uninstall-recursive \^M
check-recursive installcheck-recursive^M
^M
^M
# This directory's subdirectories are mostly independent; you can cd^M
# into them and run `make' without going through this Makefile.^M
# To change the values of `make' variables: instead of editing Makefiles,^M
# (1) if the variable is set in `config.status', edit `config.status'^M
#     (which will cause the Makefiles to be regenerated when you run `make');^M
# (2) otherwise, pass the desired values on the `make' command line.^M
^M
$(RECURSIVE_TARGETS):^M
        @set fnord $(MAKEFLAGS); amf=$$2; \^M
        dot_seen=no; \^M
        target=`echo $@ | sed s/-recursive//`; \^M
        list='$(SUBDIRS)'; for subdir in $$list; do \^M
          echo "Making $$target in $$subdir"; \^M
          if test "$$subdir" = "."; then \^M
            dot_seen=yes; \^M
            local_target="$$target-am"; \^M
          else \^M
            local_target="$$target"; \^M
          fi; \^M
          (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \^M
           || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; 
\^M
        done; \^M
        if test "$$dot_seen" = "no"; then \^M
          $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \^M
        fi; test -z "$$fail"^M
^M
^M
^M
maintainer-clean-recursive^M
mostlyclean-recursive clean-recursive distclean-recursive \^M
maintainer-clean-recursive:^M
        @set fnord $(MAKEFLAGS); amf=$$2; \^M
        dot_seen=no; \^M
        case "$@" in \^M
          distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \^M
          *) list='$(SUBDIRS)' ;; \^M
        esac; \^M
        rev=''; for subdir in $$list; do \^M
          if test "$$subdir" = "."; then :; else \^M
            rev="$$subdir $$rev"; \^M
          fi; \^M
        done; \^M
        rev="$$rev ."; \^M
        target=`echo $@ | sed s/-recursive//`; \^M
        for subdir in $$rev; do \^M
          echo "Making $$target in $$subdir"; \^M
          if test "$$subdir" = "."; then \^M
            local_target="$$target-am"; \^M
          else \^M
            local_target="$$target"; \^M
          fi; \^M
          (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \^M
           || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; 
\^M
        done && test -z "$$fail"^M
tags-recursive:
        list='$(SUBDIRS)'; for subdir in $$list; do \
          test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); 
\
        done
ETAGS = etags^M
ETAGSFLAGS =^M
^M
tags: TAGS^M
^M
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)^M
        list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \^M
        unique=`for i in $$list; do \^M
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \^M
          done | \^M
          $(AWK) '    { files[$$0] = 1; } \^M
               END { for (i in files) print i; }'`; \^M
        mkid -fID $$unique^M
^M
^M
TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \^M
                $(TAGS_FILES) $(LISP)^M
        tags=; \^M
        here=`pwd`; \^M
        list='$(SUBDIRS)'; for subdir in $$list; do \^M
          if test "$$subdir" = .; then :; else \^M
            test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \^M
          fi; \^M
        done; \^M
        list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \^M
        unique=`for i in $$list; do \^M
            if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \^M
          done | \^M
          $(AWK) '    { files[$$0] = 1; } \^M
               END { for (i in files) print i; }'`; \^M
        test -z "$(ETAGS_ARGS)$$tags$$unique" \^M
          || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \^M
             $$tags $$unique^M
^M
GTAGS:^M
        here=`$(am__cd) $(top_builddir) && pwd` \^M
          && cd $(top_srcdir) \^M
          && gtags -i $(GTAGS_ARGS) $$here^M
^M
^M
distclean-tags:^M
        -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH^M
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)^M
top_distdir = .^M
distdir = $(PACKAGE)-$(VERSION)^M
am__remove_distdir = \^M
GZIP_ENV = --best^M
distcleancheck_listfiles = find . -type f -print^M
^M
^M
  { test ! -d $(distdir) \^M
    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \^M
         && rm -fr $(distdir); }; }^M
^M
distdir: $(DISTFILES)^M
        $(am__remove_distdir)^M
        mkdir $(distdir)^M
        $(mkinstalldirs) $(distdir)/. $(distdir)/m4^M
        @for file in $(DISTFILES); do \^M
          if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; 
\^M
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \^M
          if test "$$dir" != "$$file" && test "$$dir" != "."; then \^M
            dir="/$$dir"; \^M
            $(mkinstalldirs) "$(distdir)$$dir"; \^M
          else \^M
            dir=''; \^M
          fi; \^M
          if test -d $$d/$$file; then \^M
            cp -pR $$d/$$file $(distdir)$$dir \^M
            || exit 1; \^M
          else \^M
            test -f $(distdir)/$$file \^M
            || cp -p $$d/$$file $(distdir)/$$file \^M
            || exit 1; \^M
          fi; \^M
        done^M
        list='$(SUBDIRS)'; for subdir in $$list; do \^M
          if test "$$subdir" = .; then :; else \^M
            test -d $(distdir)/$$subdir \^M
            || mkdir $(distdir)/$$subdir \^M
            || exit 1; \^M
            (cd $$subdir && \^M
              $(MAKE) $(AM_MAKEFLAGS) \^M
                top_distdir="$(top_distdir)" \^M
                distdir=../$(distdir)/$$subdir \^M
                distdir) \^M
              || exit 1; \^M
          fi; \^M
        done^M
        $(MAKE) $(AM_MAKEFLAGS) \^M
          top_distdir="${top_distdir}" distdir="$(distdir)" \^M
          dist-info^M
        -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \^M
          ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \^M
          ! -type d ! -perm -400 -exec chmod a+r {} \; -o \^M
          ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} 
\; \^M
        || chmod -R a+r $(distdir)^M
^M
^M
dist-gzip: distdir^M
        $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c 
>$(distdir).tar.gz^M
        $(am__remove_distdir)^M
^M
dist-bzip2: distdir^M
        $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2^M
        $(am__remove_distdir)^M
^M
^M
^M
^M
^M
^M
^M
^M
^M
dist dist-all: distdir^M
        $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c 
>$(distdir).tar.gz^M
        $(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2^M
        $(am__remove_distdir)^M
^M
^M
^M
# This target untars the dist file and tries a VPATH configuration.  Then^M
# it guarantees that the distribution is self-contained by making another^M
# tarfile.^M
distcheck: dist^M
        $(am__remove_distdir)^M
        GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -^M
        chmod -R a-w $(distdir); chmod a+w $(distdir)^M
        mkdir $(distdir)/=build^M
        mkdir $(distdir)/=inst^M
        chmod a-w $(distdir)^M
        dc_install_base=`$(am__cd) $(distdir)/=inst && pwd` \^M
          && cd $(distdir)/=build \^M
          && ../configure --srcdir=.. --prefix=$$dc_install_base \^M
            $(DISTCHECK_CONFIGURE_FLAGS) \^M
          && $(MAKE) $(AM_MAKEFLAGS) \^M
          && $(MAKE) $(AM_MAKEFLAGS) dvi \^M
          && $(MAKE) $(AM_MAKEFLAGS) check \^M
          && $(MAKE) $(AM_MAKEFLAGS) install \^M
          && $(MAKE) $(AM_MAKEFLAGS) installcheck \^M
          && $(MAKE) $(AM_MAKEFLAGS) uninstall \^M
          && (test `find $$dc_install_base -type f -print | wc -l` -le 1 \^M
              || { echo "ERROR: files left after uninstall:" ; \^M
                   find $$dc_install_base -type f -print ; \^M
                   exit 1; } >&2 ) \^M
          && $(MAKE) $(AM_MAKEFLAGS) dist-gzip \^M
          && rm -f $(distdir).tar.gz \^M
          && $(MAKE) $(AM_MAKEFLAGS) distcleancheck^M
        $(am__remove_distdir)^M
        @echo "$(distdir).tar.gz is ready for distribution" | \^M
          sed 'h;s/./=/g;p;x;p;x'^M
distcleancheck: distclean^M
        if test '$(srcdir)' = . ; then \^M
          echo "ERROR: distcleancheck can only run from a VPATH build" ; \^M
          exit 1 ; \^M
        fi^M
        test `$(distcleancheck_listfiles) | wc -l` -eq 0 \^M
          || { echo "ERROR: files left after distclean:" ; \^M
               $(distcleancheck_listfiles) ; \^M
               exit 1; } >&2^M
check-am: all-am
check: check-recursive
all-am: Makefile $(INFO_DEPS) $(SCRIPTS)
installdirs: installdirs-recursive^M
installdirs-am:^M
        $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(infodir)^M^M
^M
^M
^M
install: install-recursive^M
install-exec: install-exec-recursive^M
install-data: install-data-recursive^M
uninstall: uninstall-recursive^M
^M
^M
install-am: all-am^M
        @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am^M
^M
^M
installcheck: installcheck-recursive^M
install-strip:^M
        $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \^M
          INSTALL_STRIP_FLAG=-s \^M
          `test -z '$(STRIP)' || \^M
            echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install^M
mostlyclean-generic:^M
^M
clean-generic:^M
^M
distclean-generic:^M
        -rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*^M
^M
maintainer-clean-generic:^M
        @echo "This command is intended for maintainers to use"^M
        @echo "it deletes files that may require special tools to rebuild."^M
^M
clean-generic mostlyclean-generic distclean-generic maintainer-clean-generic^M
^M
clean: clean-recursive

clean-am: clean-generic mostlyclean-am

distclean: distclean-recursive
        -rm -f config.status config.cache config.log^M
distclean-am: clean-am distclean-generic distclean-tags

dvi: dvi-recursive

dvi-am: $(DVIS)

info: info-recursive

info-am: $(INFO_DEPS)

install-data-am: install-info-am

install-exec-am: install-binSCRIPTS
        @$(NORMAL_INSTALL)
        $(MAKE) $(AM_MAKEFLAGS) install-exec-hook

install-info: install-info-recursive

install-info-am: $(INFO_DEPS)
        @$(NORMAL_INSTALL)^M
        $(mkinstalldirs) $(DESTDIR)$(infodir)^M
        @list='$(INFO_DEPS)'; \^M
        for file in $$list; do \^M
          d=$(srcdir); \^M
          for ifile in echo $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9]; 
do \^M
            if test -f $$ifile; then \^M
              relfile=`expr "$$ifile" : "$$d/\(.*\)"`; \^M
              echo " $(INSTALL_DATA) $$ifile $(DESTDIR)$(infodir)/$$relfile"; 
\^M
              $(INSTALL_DATA) $$ifile $(DESTDIR)$(infodir)/$$relfile; \^M
            else : ; fi; \^M
          done; \^M
        done^M
        @$(POST_INSTALL)^M
        @if (install-info --version && \^M
             install-info --version | fgrep -i -v debian) >/dev/null 2>&1; then 
\^M
          list='$(INFO_DEPS)'; \^M
          for file in $$list; do \^M
            echo " install-info --info-dir=$(DESTDIR)$(infodir) 
$(DESTDIR)$(infodir)/$$file";\^M
            install-info --info-dir=$(DESTDIR)$(infodir) 
$(DESTDIR)$(infodir)/$$file || :;\^M
          done; \^M
        else : ; fi^M
install-man:

installcheck-am:

maintainer-clean: maintainer-clean-recursive

maintainer-clean-am: distclean-am maintainer-clean-aminfo \
        maintainer-clean-generic maintainer-clean-vti

mostlyclean: mostlyclean-recursive

mostlyclean-am: mostlyclean-aminfo mostlyclean-generic mostlyclean-vti

uninstall-am: uninstall-binSCRIPTS uninstall-info-am
        @$(NORMAL_INSTALL)
        $(MAKE) $(AM_MAKEFLAGS) uninstall-hook

uninstall-info: uninstall-info-recursive

.PHONY: $(RECURSIVE_TARGETS) GTAGS \ all all-am check check-am clean \
        clean-recursive dist dist-all dist-bzip2 dist-gzip dist-info \
        distcheck distclean distclean-recursive distclean-tags \
        distcleancheck distdir dvi dvi-am dvi-recursive info info-am \
        info-recursive install install-am install-binSCRIPTS \
        install-data install-data-am install-data-recursive \
        install-exec install-exec-am install-exec-recursive \
        install-info install-info-am install-info-recursive install-man \
        install-recursive install-strip installcheck installcheck-am \
        installdirs installdirs-am installdirs-recursive \
        maintainer-clean maintainer-clean-aminfo maintainer-clean-vti \
        mostlyclean mostlyclean-aminfo mostlyclean-recursive \
        mostlyclean-vti tags tags-recursive uninstall uninstall-am \
        uninstall-binSCRIPTS uninstall-info-am uninstall-info-recursive \
        uninstall-recursive


install-exec-hook:^M
        @$(POST_INSTALL)^M
        @for p in $(bin_SCRIPTS); do \^M
          f="`echo $$p|sed '$(transform)'`"; \^M
          fv="$$f-$(APIVERSION)"; \^M
          rm -f $(DESTDIR)$(bindir)/$$fv; \^M
          echo " ln $(DESTDIR)$(bindir)/$$f $(DESTDIR)$(bindir)/$$fv"; \^M
          ln $(DESTDIR)$(bindir)/$$f $(DESTDIR)$(bindir)/$$fv; \^M
        done^M

uninstall-hook:^M
        @for p in $(bin_SCRIPTS); do \^M
          f="`echo $$p|sed '$(transform)'`"; \^M
          fv="$$f-$(APIVERSION)"; \^M
          rm -f $(DESTDIR)$(bindir)/$$fv; \^M
        done^M

################################################################^M

# Some simple checks, and then ordinary check.  These are only really^M
# guaranteed to work on my machine.^M
maintainer-check: automake aclocal^M
        @if test `diff $(srcdir)/automake.in automake | wc -l` -ne 28; then \^M
          echo "found too many diffs between automake.in and automake"; 1>&2; 
\^M
          diff -c $(srcdir)/automake.in automake; \^M
          exit 1; \^M
        fi^M
        perllibdir=$(srcdir)/lib $(PERL) -c -w automake^M
        perllibdir=$(srcdir)/lib $(PERL) -c -w aclocal^M
        @if fgrep '\$${' $(srcdir)/lib/am/[a-z]*.am | \^M
               fgrep -v '$$$$'; then \^M
          echo "Found too many uses of '\$${' in the lines above." 1>&2; \^M
          exit 1;                               \^M
        else :; fi^M
        @if egrep '\<rm ([^-]|\-[^f ]*\>)' \^M
                  $(srcdir)/lib/am/[a-z]*.am $(srcdir)/tests/*.test | \^M
              fgrep -v '##'; then \^M
          echo "Suspicious 'rm' invocation." 1>&2; \^M
          exit 1;                               \^M
        else :; fi^M
        @if fgrep -n 'mkinstalldirs' $(srcdir)/lib/am/[a-z]*.am | \^M
              fgrep -v '$$(mkinstalldirs)'; then \^M
          echo "Found incorrect use of mkinstalldirs in the lines above" 1>&2; 
\^M
          exit 1; \^M
        else :; fi^M
        @if grep -n -w 'undef ' $(srcdir)/automake.in | \^M
              fgrep -v 'undef $$/'; then \^M
          echo "Found undef in automake.in; use delete instead" 1>&2; \^M
          exit 1; \^M
        fi^M
        @if fgrep -n 'split (/ /' $(srcdir)/automake.in; then \^M
          echo "Found bad split in the lines above." 1>&2; \^M
          exit 1; \^M
        fi^M
        @if grep -n '^[^#]*` *cd ' $(srcdir)/automake.in \^M
              $(srcdir)/lib/am/*.am; then \^M
          echo "Consider using $$$$(am__cd) in the line above." 1>&2; \^M
          exit 1; \^M
        fi^M
        @if grep -Hn '[^) ] *= address@hidden' $(srcdir)/automake.in; then \^M
          echo "Using @_ in a scalar context in the lines above." 1>&2; \^M
          exit 1; \^M
        fi^M
        @if grep '^[ \t]*local *(' $(srcdir)/automake.in; then \^M
          echo "Don't use \`local' with parens: use several \`local' above." 
>&2; \^M
          exit 1; \^M
        fi^M
        @locals=`grep -v '^[ \t]*local \$$_;' $(srcdir)/automake.in | \^M
                grep -c '^[ \t]*local [^*]'`; \^M
        case $$locals in \^M
          [0] ) \^M
            echo "Wow, congrats!  There are no \`local' now!." >&2; \^M
            echo "Please update Makefile.am (maintainer-check)." >&2; \^M
            exit 1; \^M
          ;; \^M
          1 ) ;; \^M
          * ) \^M
            echo "Too many \`local'!  Are you sure you need $$locals of them?" 
>&2; \^M
            echo "Up to now 1 was enough." >&2; \^M
            exit 1; \^M
          ;; \^M
        esac^M
        @if grep '@AMDEP''_TRUE@' $(srcdir)/automake.in; then \^M
          echo "Don't put AMDEP_TRUE substitution in automake.in" 1>&2; \^M
          exit 1; \^M
        fi^M

# Tag before making distribution.  Also, don't make a distribution if^M
# checks fail.  Also, make sure the NEWS file is up-to-date.^M
cvs-dist: maintainer-check distcheck^M
        @if sed 1q $(srcdir)/NEWS | grep -e "$(VERSION)" > /dev/null; then :; 
else \^M
          echo "NEWS not updated; not releasing" 1>&2; \^M
          exit 1;                               \^M
        fi^M
        cd $(srcdir) && cvs -q tag `echo "Release-$(VERSION)" | sed 
's/\./-/g'`^M
        $(MAKE) dist^M

cvs-diff:^M
        thisver=`echo "Release-$(VERSION)" | sed 's/\./-/g'`; \^M
        if test -z "$$OLDVERSION"; then \^M
          prevno=`echo "$(VERSION)" - 0.01 | bc | sed 's/^\./0./'`; \^M
        else prevno="$$OLDVERSION"; fi; \^M
        prevver=Release-`echo $$prevno | sed 's/\./-/g'`; \^M
        cvs -f rdiff -c -r $$prevver -r $$thisver $(PACKAGE) \^M
            > $(PACKAGE)-$$prevno-$(VERSION).diff^M

path-check: distdir^M
        (cd $(distdir) && \^M
          find . -print | xargs pathchk -p); \^M
          status=$$?; \^M
          chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir); \^M
          exit $$status^M

fetch:^M
        rm -rf Fetchdir > /dev/null 2>&1^M
        mkdir Fetchdir^M
        (cd Fetchdir && \^M
        $(WGET) ftp://ftp.gnu.org/gnu/config/config.guess; \^M
        $(WGET) ftp://ftp.gnu.org/gnu/config/config.sub; \^M
        $(WGET) ftp://ftp.gnu.org/gnu/texinfo/texinfo.tex)^M
        @stat=0; for file in $(FETCHFILES); do \^M
          if diff $(srcdir)/lib/$$file Fetchdir/$$file > /dev/null 2>&1; then 
:; \^M
          else \^M
            stat=1; \^M
            echo "install Fetchdir/$$file into srcdir and commit"; \^M
          fi; \^M
        done; exit $$stat^M
# Tell versions [3.59,3.63) of GNU make to not export all variables.^M
# Otherwise a system limit (for SysV at least) may be exceeded.^M
.NOEXPORT:^M

reply via email to

[Prev in Thread] Current Thread [Next in Thread]