From: Stefano Lattarini Date: Fri, 15 Jun 2012 17:52:34 +0000 (+0200) Subject: [ng] texi: tweak rules for HTML generation to spawn only one shell X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=505e69d37ce486d8c933a6784ed5ee6f93b929e3;p=thirdparty%2Fautomake.git [ng] texi: tweak rules for HTML generation to spawn only one shell * lib/am/texibuild.am: Rewrite the recipe for .texi -> .html conversion to use only one shell invocation, mostly for consistency with the other recipes (e.g., .texi -> .pdf). This also offers a micro-optimization. And while we are at it, throw in few other micro-optimizations, and fix botched indentation. Signed-off-by: Stefano Lattarini --- diff --git a/lib/am/texibuild.am b/lib/am/texibuild.am index aef650a7f..30575fddd 100644 --- a/lib/am/texibuild.am +++ b/lib/am/texibuild.am @@ -76,16 +76,17 @@ INFO_DEPS += %DEST_INFO_PREFIX%%DEST_SUFFIX% $(TEXI2PDF) %TEXIQUIET% --clean -o $@ $< %TEXIDEVNULL% %.html: %%SOURCE_SUFFIX% - %SILENT%$(am__ensure_target_dir_exists) + %AM_V_MAKEINFO%$(am__ensure_target_dir_exists) \ ## When --split (the default) is used, makeinfo will output a ## directory. However it will not update the time stamp of a ## previously existing directory, and when the names of the nodes ## in the manual change, it may leave unused pages. Our fix ## is to build under a temporary name, and replace the target on ## success. - %AM_V_MAKEINFO%rm -rf $(@:.html=.htp) - %SILENT%if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) \ - %MAKEINFOFLAGS% -o $(@:.html=.htp) $<; \ + && { test ! -d $(@:.html=.htp) || rm -rf $(@:.html=.htp); } \ + || exit 1; \ + if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) \ + %MAKEINFOFLAGS% -o $(@:.html=.htp) $<; \ then \ rm -rf $@; \ ## Work around a bug in Texinfo 4.1 (-o foo.html outputs files in foo/