1## Process this file with automake to produce Makefile.in 2# Makefile for GNU CVS documentation (excluding man pages - see ../man). 3# Copyright (C) 1986, 1988-1990, 2000 Free Software Foundation, Inc. 4 5# This program is free software; you can redistribute it and/or modify 6# it under the terms of the GNU General Public License as published by 7# the Free Software Foundation; either version 2, or (at your option) 8# any later version. 9 10# This program is distributed in the hope that it will be useful, 11# but WITHOUT ANY WARRANTY; without even the implied warranty of 12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13# GNU General Public License for more details. 14 15#DISTFILES = \ 16# .cvsignore \ 17# RCSFILES \ 18 19# AUTOMAKE_OPTIONS = no-texinfo.tex 20 21# FIXME - these rebuild every 'make dist' with some BSD makes due to a bug 22# that prevents make from searching VPATH for targets. There is some 23# machinery in place in configure.in to work around this for some targets 24# (see the CVSvn.texi target below) now, but fixing the two info_TEXINFOS 25# targets below is probably going to require work on Automake 26info_TEXINFOS = cvs.texinfo cvsclient.texi 27cvs_TEXINFOS = CVSvn.texi 28cvsclient_TEXINFOS = CVSvn.texi 29 30POSTSCRIPTS = \ 31 cvs.ps \ 32 cvs-paper.ps \ 33 cvsclient.ps 34 35PDFS = \ 36 cvs-paper.pdf \ 37 cvs.pdf \ 38 cvsclient.pdf 39 40TXTS = \ 41 cvs.txt \ 42 cvsclient.txt 43 44EXTRA_DIST = \ 45 $(POSTSCRIPTS) \ 46 .cvsignore \ 47 CVSvn.texi.in \ 48 ChangeLog.fsf \ 49 RCSFILES \ 50 cvs-paper.ms \ 51 cvs.aux \ 52 cvsclient.aux 53 54# Listing cvs.cps & cvs.fns here is a workaround for an Automake deficiency 55MOSTLYCLEANFILES = \ 56 cvs.cps \ 57 cvs.fns 58 59CLEANFILES = \ 60 $(PDFS) \ 61 $(TXTS) 62 63MAINTAINERCLEANFILES = \ 64 cvs-paper.ps 65 66doc ps: $(POSTSCRIPTS) 67.PHONY: doc ps 68 69pdf: $(PDFS) 70.PHONY: pdf 71 72txt: $(TXTS) 73.PHONY: txt 74 75dvi: cvs.dvi cvsclient.dvi 76.PHONY: dvi 77 78cvs.aux cvs.pdf cvs.txt: cvs.texinfo $(cvs_TEXINFOS) 79cvsclient.aux cvsclient.pdf cvsclient.txt: cvsclient.texi $(cvsclient_TEXINFOS) 80 81# These targets need to be very specific so that the other PDFs get generated correctly. 82# If they are more generic and cvs.ps is made before cvs.pdf, then cvs.pdf will be 83# generated from the generic target and the PS source, which contains less information 84# than the usual texinfo source. 85cvs-paper.pdf: cvs-paper.ps 86 $(ROFF) -t -p -ms -Tps $< > $@-t 87 mv $@-t $@ 88 89cvs-paper.ps: cvs-paper.ms 90 $(PS2PDF) $< $@ 91 92SUFFIXES = .aux .txt .pdf 93 94# texinfo based targets automake neglects to include 95.texinfo.pdf: 96 TEXINPUTS=$(srcdir):$$TEXINPUTS \ 97 MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf $< 98.txi.pdf: 99 TEXINPUTS=$(srcdir):$$TEXINPUTS \ 100 MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf $< 101.texi.pdf: 102 TEXINPUTS=$(srcdir):$$TEXINPUTS \ 103 MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf $< 104 105.texinfo.aux: 106 TEXINPUTS=$(srcdir):$$TEXINPUTS \ 107 MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $< 108.txi.aux: 109 TEXINPUTS=$(srcdir):$$TEXINPUTS \ 110 MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $< 111.texi.aux: 112 TEXINPUTS=$(srcdir):$$TEXINPUTS \ 113 MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $< 114 115.texinfo.txt: 116 TEXINPUTS=$(srcdir):$$TEXINPUTS \ 117 MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(MAKEINFO) $< --no-headers -o $@ 118.txi.txt: 119 TEXINPUTS=$(srcdir):$$TEXINPUTS \ 120 MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(MAKEINFO) $< --no-headers -o $@ 121.texi.txt: 122 TEXINPUTS=$(srcdir):$$TEXINPUTS \ 123 MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(MAKEINFO) $< --no-headers -o $@ 124 125## MAINTAINER Targets 126 127## CVSvn.texi ## 128# - CVSvn.texi needs to be updated only once, since it depends on 129# configure.in, not on the results of a 'configure' run. 130# - It is guaranteed (with GNU Make) that when the version in configure.in 131# is changed, acversion.m4 is built only after the new version number is 132# propagated to the Makefile. (Libtool uses the same guarantee.) 133# - Of the next three targets, only the next one or the following two should be 134# enabled, not all three 135if MAKE_TARGETS_IN_VPATH 136# - This is the target for systems without the BSD VPATH bug in make or with 137# $(srcdir) = $(builddir) 138CVSvn.texi: $(srcdir)/CVSvn.texi.in $(top_srcdir)/configure.in 139 sed 's,@VERSION\@,$(VERSION),g' $(srcdir)/CVSvn.texi.in >$(srcdir)/CVSvn.ttexi 140 mv $(srcdir)/CVSvn.ttexi $(srcdir)/CVSvn.texi 141else 142# - The next two targets are a workaround for the fact that some BSD makes 143# don't look through VPATH for targets, but only for sources. 144# - They should be disabled on systems without the bug and in environments 145# where $(srcdir) = $(builddir) 146CVSvn.texi: $(srcdir)/CVSvn.texi 147 # use cat so the time stamp gets set properly 148 cat $(srcdir)/CVSvn.texi >$@ 149$(srcdir)/CVSvn.texi: $(srcdir)/CVSvn.texi.in $(top_srcdir)/configure.in 150 sed 's,@VERSION\@,$(VERSION),g' $(srcdir)/CVSvn.texi.in >$(srcdir)/CVSvn.ttexi 151 mv $(srcdir)/CVSvn.ttexi $(srcdir)/CVSvn.texi 152endif 153 154## realclean ## 155# for backwards compatibility with the old makefiles 156realclean: maintainer-clean 157.PHONY: realclean 158