next up previous
Next: Other Formats Up: Documentation Template Previous: Odd Characters

The Makefile

The Makefile allows the automatic generation of HTML, Postscript, PDF, and DVI formats. It also makes an archive of all the formats, can use 'scp' to copy the documents to a web site, and creates a clean rsync directory (for transferring with 'rsync').

Here is the Makefile in it's current form:

DOCNAME=template

TEX=$(DOCNAME).tex
HTMLDIR=html
HTML=$(HTMLDIR)/$(DOCNAME).html
TGZ=$(DOCNAME).tgz
DVI=$(DOCNAME).dvi
PDF=$(DOCNAME).pdf
PS=$(DOCNAME).ps
MAKE=Makefile

L2HFILES=$(HTMLDIR)/labels.pl $(HTMLDIR)/WARNINGS $(HTMLDIR)/images.aux $(HTMLDIR)/images.tex $(HTMLDIR)/images.log $(HTMLDIR)/images.pl
T2DFILES=$(DOCNAME).aux $(DOCNAME).log
IMAGEDIR=/usr/share/latex2html/icons
IMAGETYPE=png

LATEX2HTML=/usr/bin/latex2html
PERL=/usr/bin/perl
TEXI2DVI=/usr/bin/texi2dvi
DVIPDF=/usr/bin/dvipdf
DVIPS=/usr/bin/dvips
RM=/bin/rm
CP=/bin/cp
MKDIR=/bin/mkdir
TAR=/bin/tar
LN=/bin/ln
CI=/usr/bin/ci
SCP=/usr/bin/scp

RSYNCTARGET=rsync
SCPTARGET=www:/usr/local/apache/htdocs/caos/$(DOCNAME)

all: html dvi pdf ps tgz

html: $(HTML)

$(HTML): $(TEX)
	$(RM) -Rf $(HTMLDIR)
	$(LATEX2HTML) -image_type $(IMAGETYPE) -local_icons -dir $(HTMLDIR) -mkdir $(TEX)
	$(RM) -f $(L2HFILES)

tgz: $(TGZ)

$(TGZ): $(HTML) $(TEX) $(DVI) $(PDF) $(PS)
	$(RM) -f $(TGZ)
	$(CP) $(TEX) $(DVI) $(PDF) $(PS) $(HTMLDIR)/
	$(TAR) czvf $(TGZ) $(HTMLDIR)

dvi: $(DVI)

$(DVI): $(TEX)
	$(RM) -f $(DVI)
	$(TEXI2DVI) -o $(DVI) $(TEX)

pdf: $(PDF)

$(PDF): $(DVI)
	$(RM) -f $(PDF)
	$(DVIPDF) $(DVI) $(PDF)

ps: $(PS)

$(PS): $(DVI)
	$(RM) -f $(PS)
	$(DVIPS) -o $(PS) $(DVI)


rcs: $(TEX) $(MAKE)
	[ -d RCS ] || $(MKDIR) RCS
	$(CI) -l -mmake $(TEX)
	$(CI) -l -mmake $(MAKE)

rsync: all rcs
	$(MKDIR) -p $(RSYNCTARGET)/$(HTMLDIR)
	$(CP) $(HTMLDIR)/* $(RSYNCTARGET)/$(HTMLDIR)/
	$(CP) $(TEX) $(PDF) $(DVI) $(PS) $(TGZ) $(RSYNCTARGET)/

scp: rsync
	$(SCP) $(HTMLDIR)/* $(SCPTARGET)/$(HTMLDIR)/
	$(SCP) $(TEX) $(PDF) $(DVI) $(PS) $(TGZ) $(MAKE) $(SCPTARGET)/

It is meant to reside in the same directory as the Latex source file.



Troy Johnson 2004-01-12