Home | History | Annotate | Line # | Download | only in doc
Makefile.am revision 1.1.1.1.2.2
      1 ## Process this file with automake to produce Makefile.in
      2 # Makefile for GNU CVS documentation (excluding man pages - see ../man).
      3 #
      4 # Copyright (C) 1986-2005 The Free Software Foundation, Inc.
      5 #
      6 # Portions Copyright (C) 1998-2005 Derek Price, Ximbiot <http://ximbiot.com>,
      7 #                                  and others.
      8 
      9 # This program is free software; you can redistribute it and/or modify
     10 # it under the terms of the GNU General Public License as published by
     11 # the Free Software Foundation; either version 2, or (at your option)
     12 # any later version.
     13 
     14 # This program is distributed in the hope that it will be useful,
     15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
     16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     17 # GNU General Public License for more details.
     18 
     19 SUBDIRS = i18n
     20 
     21 info_TEXINFOS = cvs.texinfo cvsclient.texi
     22 man_MANS = $(srcdir)/cvs.1
     23 
     24 PSS = \
     25 	cvs.ps \
     26 	cvs-paper.ps \
     27 	cvsclient.ps
     28 
     29 PDFS = \
     30 	cvs.pdf \
     31 	$(srcdir)/cvs-paper.pdf \
     32 	cvsclient.pdf
     33 
     34 TXTS = \
     35 	cvs.txt \
     36 	cvsclient.txt
     37 
     38 EXTRA_DIST = \
     39 	.cvsignore \
     40 	ChangeLog.fsf \
     41 	HACKING.DOCS \
     42 	RCSFILES \
     43 	$(srcdir)/cvs.1 \
     44 	cvs-paper.ms \
     45 	cvs.man.header \
     46 	cvs.man.footer \
     47 	getdate.texi \
     48 	mdate-sh \
     49 	writeproxy.rtf \
     50 	$(PDFS)
     51 
     52 MOSTLYCLEANFILES =
     53 
     54 CLEANFILES = \
     55 	$(PSS) \
     56 	$(TXTS)
     57 
     58 DISTCLEANFILES =
     59 
     60 MAINTAINERCLEANFILES = \
     61 	$(PDFS)
     62 
     63 doc: info pdf
     64 .PHONY: doc
     65 
     66 txt: $(TXTS)
     67 .PHONY: txt
     68 
     69 dvi: cvs.dvi cvsclient.dvi
     70 .PHONY: dvi
     71 
     72 # FIXME-AUTOMAKE:
     73 # For some reason if I remove version.texi, it doesn't get built automatically.
     74 # This needs to be fixed in automake.
     75 cvs.txt: cvs.texinfo $(srcdir)/version.texi
     76 cvsclient.txt: cvsclient.texi $(srcdir)/version-client.texi
     77 
     78 # The cvs-paper.pdf target needs to be very specific so that the other PDFs get
     79 # generated correctly.  If a more generic .ps.pdf implicit target is defined,
     80 # and cvs.ps is made before cvs.pdf, then cvs.pdf can be generated from the
     81 # .ps.pdf target and the PS source, which contains less information (hyperlinks
     82 # and such) than the usual texinfo source.
     83 #
     84 # It is possible that an implicit .ms.ps target could be safely defined.  I
     85 # don't recall looking into it.
     86 cvs-paper.ps: cvs-paper.ms
     87 	$(ROFF) -t -p -ms -Tps $(srcdir)/cvs-paper.ms >cvs-paper.ps-t
     88 	cp cvs-paper.ps-t $@
     89 	-@rm -f cvs-paper.ps-t
     90 
     91 # This rule introduces some redundancy, but `make distcheck' requires that
     92 # Nothing in $(srcdir) be rebuilt, and this will always be rebuilt when it
     93 # is dependant on cvs-paper.ps and cvs-paper.ps isn't distributed.
     94 $(srcdir)/cvs-paper.pdf: cvs-paper.ms
     95 	$(ROFF) -t -p -ms -Tps $(srcdir)/cvs-paper.ms >cvs-paper.ps-t
     96 	ps2pdf cvs-paper.ps-t cvs-paper.pdf-t
     97 	cp cvs-paper.pdf-t $@
     98 	-@rm -f cvs-paper.pdf-t cvs-paper.ps-t
     99 
    100 MOSTLYCLEANFILES += cvs-paper.pdf-t cvs-paper.ps-t
    101 
    102 # Targets to build a man page from cvs.texinfo.
    103 $(srcdir)/cvs.1: @MAINTAINER_MODE_TRUE@ mkman cvs.man.header cvs.texinfo cvs.man.footer
    104 	$(PERL) ./mkman $(srcdir)/cvs.man.header $(srcdir)/cvs.texinfo \
    105 		$(srcdir)/cvs.man.footer >cvs.tmp
    106 	cp cvs.tmp $(srcdir)/cvs.1
    107 	-@rm -f cvs.tmp
    108 MAINTAINERCLEANFILES += $(srcdir)/cvs.1
    109 
    110 cvs.dvi cvs.html $(srcdir)/cvs.info cvs.pdf cvs.ps cvs.txt: $(srcdir)/getdate-cvs.texi
    111 $(srcdir)/getdate-cvs.texi: stamp-gdt
    112 stamp-gdt: getdate.texi
    113 	@echo "@c This file is generated via a rule in Makefile.am from the" \
    114 	  >getdate-cvs.tmp
    115 	@echo "@c getdate.texi file." >>getdate-cvs.tmp
    116 	@echo "@c" >>getdate-cvs.tmp
    117 	@echo "@c *** DO NOT EDIT THIS FILE DIRECTLY ***" >>getdate-cvs.tmp
    118 	@echo "@c" >>getdate-cvs.tmp
    119 	@echo "@c Edit getdate.texi instead." >>getdate-cvs.tmp
    120 	@echo >>getdate-cvs.tmp
    121 	sed -e "s/^@chapter /@appendixsec /" \
    122 	    -e "s/^@section /@appendixsubsec /" \
    123 	  <$(srcdir)/getdate.texi >>getdate-cvs.tmp
    124 	@cmp -s getdate-cvs.tmp $(srcdir)/getdate-cvs.texi \
    125 	  || (echo "Updating getdate-cvs.texi"; \
    126 	      cp getdate-cvs.tmp $(srcdir)/getdate-cvs.texi)
    127 	-@rm -f getdate-cvs.tmp
    128 	@cp $(srcdir)/getdate-cvs.texi $@
    129 
    130 ## If getdate-cvs.texi is not distributed, infos get rebuilt at every install.
    131 ## This is a pretty big no-no.
    132 EXTRA_DIST += getdate-cvs.texi
    133 MOSTLYCLEANFILES += getdate-cvs.tmp
    134 DISTCLEANFILES += stamp-gdt
    135 
    136 # texinfo based targets automake neglects to include
    137 SUFFIXES = .txt
    138 .texinfo.txt:
    139 	$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
    140 	 --no-headers -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
    141 .txi.txt:
    142 	$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
    143 	 --no-headers -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
    144 .texi.txt:
    145 	$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
    146 	 --no-headers -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
    147 
    148 ##
    149 ## MAINTAINER Targets
    150 ##
    151 
    152 # for backwards compatibility with the old makefiles
    153 realclean: maintainer-clean
    154 .PHONY: realclean
    155