Git development
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: David Kastrup <dak@gnu.org>
Cc: git@vger.kernel.org
Subject: Re: [install info (using perl) 1/2] Add support for an info version of the user manual
Date: Wed, 08 Aug 2007 15:59:56 -0700	[thread overview]
Message-ID: <7vabt11vkj.fsf@assigned-by-dhcp.cox.net> (raw)
In-Reply-To: <591c5679ea79b76cd5db57443b1d691bde842351.1186484406.git.dak@gnu.org> (David Kastrup's message of "Mon, 6 Aug 2007 12:22:57 +0200")

David Kastrup <dak@gnu.org> writes:

> @@ -139,6 +154,18 @@ XSLTOPTS = --xinclude --stringparam html.stylesheet docbook-xsl.css
>  user-manual.html: user-manual.xml
>  	xsltproc $(XSLTOPTS) -o $@ $(XSLT) $<
>  
> +git.info: user-manual.xml
> +	$(RM) $@ $*.texi
> +	$(DOCBOOK2X_TEXI) user-manual.xml --to-stdout | \
> +	perl -ne 'if (/^\@setfilename/) {$$_="\@setfilename git.info\
> +"} elsif (/^\@direntry/) {print "\@dircategory Development\
> +\@direntry\
> +* Git: (git).           A fast distributed revision control system\
> +\@end direntry\
> +"} print unless (/^\@direntry/ .. /^\@end direntry/)' > $*.texi
> +	$(MAKEINFO) --no-split $*.texi
> +	$(RM) $*.texi
> +

This part worries me.

Historically (as you probably know, having suffered a lot more
than me with this issue), multi-line command script in Makefile
was hugely unportable.  Some "make" implementations stripped
backslash linefeed at the end, some other implementations
stripped only backslash, yet some other kept both backslash and
linefeed.  It was a mess.

Admittably we are already quite dependent on GNU make, so this
is probably not a huge deal, but I have a vague recollection
that even GNU make itself changed its behaviour over time with
respect to this exact area, and I had to adjust a few Makefiles
to accomodate both old and new GNU make.

The standard workaround is of course to have this perl script
part as a separate, "Documentation/fixup-texi.perl" script and
invoke it from the Makefile.

  parent reply	other threads:[~2007-08-08 23:00 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-06 10:22 [install info (using perl) 1/2] Add support for an info version of the user manual David Kastrup
2007-08-07 10:02 ` [install info (using perl) 2/2] INSTALL: explain info installation and dependencies David Kastrup
2007-08-08 22:59 ` Junio C Hamano [this message]
2007-08-08 23:05   ` [install info (using perl) 1/2] Add support for an info version of the user manual Junio C Hamano
2007-08-08 23:18     ` Junio C Hamano
2007-08-08 23:46       ` David Kastrup
2007-08-08 23:27     ` David Kastrup
2007-08-08 23:25   ` David Kastrup
  -- strict thread matches above, loose matches on Subject: below --
2007-08-06 10:22 David Kastrup
2007-08-07 10:49 ` David Kastrup

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7vabt11vkj.fsf@assigned-by-dhcp.cox.net \
    --to=gitster@pobox.com \
    --cc=dak@gnu.org \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox