## automake - create Makefile.in from Makefile.am ## Copyright (C) 1994-2015 Free Software Foundation, Inc. ## This program is free software; you can redistribute it and/or modify ## it under the terms of the GNU General Public License as published by ## the Free Software Foundation; either version 2, or (at your option) ## any later version. ## This program is distributed in the hope that it will be useful, ## but WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ## GNU General Public License for more details. ## You should have received a copy of the GNU General Public License ## along with this program. If not, see . TEXI2DVI = texi2dvi TEXI2PDF = $(TEXI2DVI) --pdf --batch DVIPS = dvips MAKEINFOHTML = $(MAKEINFO) --html AM_MAKEINFOHTMLFLAGS ?= $(AM_MAKEINFOFLAGS) define am.texi.build.dvi-or-pdf $1$(am.cmd.ensure-target-dir-exists) && \ TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ ## Must set MAKEINFO like this so that version.texi will be found even ## if it is in srcdir. MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \ -I $(@D) -I $(srcdir)/$(@D)' \ ## texi2dvi and texi2pdf don't silence everything with -q, redirect ## to /dev/null instead. We still want -q ($(AM_V_TEXI_QUIETOPTS)) ## because it turns on batch mode. ## Use '--build-dir' so that TeX and Texinfo auxiliary files and build ## by-products are left in there, instead of cluttering the current ## directory (see automake bug#11146). Use a different build-dir for ## each file (as well as distinct build-dirs for PDF and DVI files) to ## avoid hitting a Texinfo bug that could cause a low-probability racy ## failure when doing parallel builds; see: ## http://lists.gnu.org/archive/html/automake-patches/2012-06/msg00073.html $2 $(AM_V_TEXI_QUIETOPTS) --build-dir=$3 \ -o $@ $< $(AM_V_TEXI_DEVNULL_REDIRECT) endef define am.texi.build.info $(if $1,,$(AM_V_at)$(am.cmd.ensure-target-dir-exists)) ## If the texinfo file has some minor mistakes which cause makeinfo ## to fail, the info files are not removed. $(AM_V_MAKEINFO)$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) \ --no-split -I $(@D) -I $(srcdir)/$(@D) -o $@-t $< $(AM_V_at)mv -f $@-t $@ endef define am.texi.build.html $(AM_V_MAKEINFO)$(am.cmd.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. && { test ! -d $(@:.html=.htp) || rm -rf $(@:.html=.htp); } \ || exit 1; \ if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) \ -I $(@D) -I $(srcdir)/$(@D) \ -o $(@:.html=.htp) $<; \ then \ rm -rf $@ && mv $(@:.html=.htp) $@; \ else \ ## on failure, remove the temporary directory before exiting. rm -rf $(@:.html=.htp) $@; exit 1; \ fi endef %.info: %.texi $(call am.texi.build.info,$(am.texi.info-in-srcdir)) %.dvi: %.texi $(call am.texi.build.dvi-or-pdf,$(AM_V_TEXI2DVI),$(TEXI2DVI),$(@:.dvi=.t2d)) %.pdf: %.texi $(call am.texi.build.dvi-or-pdf,$(AM_V_TEXI2PDF),$(TEXI2PDF),$(@:.pdf=.t2p)) %.html: %.texi $(call am.texi.build.html) ## The way to make PostScript, for those who want it. %.ps: %.dvi $(AM_V_DVIPS)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ $(DVIPS) $(AM_V_TEXI_QUIETOPTS) -o $@ $<