bug-standards
[Top][All Lists]
Advanced

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

Re: standards for info install


From: Ralf Wildenhues
Subject: Re: standards for info install
Date: Sun, 21 Feb 2010 10:37:24 +0100
User-agent: Mutt/1.5.20 (2009-10-28)

* Aubrey Jaffer wrote on Sat, Feb 20, 2010 at 11:16:01PM CET:
> I took a look at guile-1.9.7/doc/ref/Makefile for an example
> (appended).  This is beyond my scripting knowledge; "sed 's|.|.|g'"
> looks like a no-op to me.

On the left-hand side of a sed 's' command, there is a regex, and a
period is a regular expression that matches a single character.  On the
right-hand side, a period is just an ordinary character.  Thus, the
command replaces all characters by periods.  This string of periods is
then used in a later sed command to strip off '$(srcdir)/' strings from
file names.

> It is doing "test -f" like your example.  If I have an old build of
> guile.info and update guile.texi, then the "test -f" line looks to me
> like it would install the old guile.info; that seems wrong.

What do you conclude that from?  The file is looked for in the build
directory first, and only then in the source directory.

If you see some demonstrably-wrong behavior with automake-generated
code, please write a bug report to bug-automake with a description how
to reproduce it; thanks.

> INFO_DEPS = $(srcdir)/guile.info
> ...
> install-info-am: $(INFO_DEPS)
>       @$(NORMAL_INSTALL)
>       test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)"
>       @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
>       list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
>       for file in $$list; do \
>         case $$file in \
>           $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
>         esac; \
>         if test -f $$file; then d=.; else d=$(srcdir); fi; \
>         file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
>         for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
>                      $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
>           if test -f $$ifile; then \
>             echo "$$ifile"; \
>           else : ; fi; \
>         done; \
>       done | $(am__base_list) | \
>       while read files; do \
>         echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
>         $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
[...]

Cheers,
Ralf




reply via email to

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