X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fdoc%2FMakefile.am;h=a47d5e7fa1a86ac38497af0243cef927eabf9482;hb=e44e9b278432a1df83482b1cd83b2081fabe94dc;hp=18c5597f65ec8208538aaad082146f750b3627bf;hpb=0ac7565920a26d36ee401bb5599eb42f4d79dfdb;p=fs%2Flustre-release.git diff --git a/lustre/doc/Makefile.am b/lustre/doc/Makefile.am index 18c5597..a47d5e7 100644 --- a/lustre/doc/Makefile.am +++ b/lustre/doc/Makefile.am @@ -2,65 +2,123 @@ # # This code is issued under the GNU General Public License. # See the file COPYING in this distribution -LYX2PDF = lyx --export pdf +LYX2PDF = GS_OPTIONS=-dCompatibilityLevel=1.1 $(srcdir)/tex2pdf -overwrite +TEX2PDF = GS_OPTIONS=-dCompatibilityLevel=1.1 $(srcdir)/tex2pdf -overwrite +LYX2PS = lyx --export ps +LYX2TEX = lyx --export latex LYX2TXT = lyx --export text LYX2HTML = lyx --export html -SUFFIXES = .lyx .pdf .sgml .html .txt .fig .eps +LATEX = latex +DVIPS = dvips +PS2PDF = ps2pdf +TEXEXPAND = texexpand +SUFFIXES = .lin .lyx .pdf .ps .sgml .html .txt .tex .fig .eps .dvi -DOCS = lustre.pdf lustre-HOWTO.txt -IMAGES = cache1.eps cache2.eps intermezzocache.eps intermezzofilesys.eps meta.eps metadata1.eps networklayer.eps bigpicture.eps intermezzo.eps mds.eps portals.eps client.eps layering.eps metadata.eps sb.eps cow.eps lockacq.eps obdfs.eps snapsetup.eps dirbodyapi.eps loraid.eps ost.eps updates.eps hotmigrate.eps lustreclusters.eps osthw.eps portals-lib.eps lockqueues.eps lockexample1.eps lockexample2.eps lockexample3.eps lockexample4.eps lockseverity.eps -LYXFILES= master.lyx evolution.lyx llocks.lyx mgmt.lyx uncertain.lyx\ - fs.lyx lustre-HOWTO.lyx namespace.lyx\ - glossary.lyx lustre-debugging.lyx network.lyx\ - intro.lyx obdspec.lyx recovery.lyx +if DOC + DOCS = lustre.pdf +else + DOCS = +endif -MAINTAINERCLEANFILES = $(IMAGES) $(DOCS) lustre-HOWTO.lyx -CLEANFILES = *.lyxT +IMAGES := $(patsubst %.fig,%.eps,$(wildcard *.fig)) +LYXFILES= $(filter-out $(patsubst %.lin,%.lyx,$(wildcard *.lin)),\ + $(wildcard *.lin *.lyx)) -EXTRA_DIST = $(DOCS) $(IMAGES) $(LYXFILES) DOCVERSION +MAINTAINERCLEANFILES = $(IMAGES) $(DOCS) $(VERSIONED) +CLEANFILES = *.aux *.tex doc.old/*.aux doc.old/*.tex *.eps *.log *.pdf +VERSIONED = lustre.lyx doc.old/lustre.lyx +GENERATED = $(VERSIONED) lustre-full.tex lustre-chbar.tex -all: $(DOCS) +EXTRA_DIST = chbar.sh postbar tex2pdf $(DOCS) $(IMAGES) $(LYXFILES) lustre.bib + +all: +docs: $(DOCS) + +# These variables are set by lbuild/check-build. +RPMRELEASE ?= RELEASE +KERNTYPE ?= chaos +KERNRPM ?= kernel-2.4.18lustre13-RELEASE.i386.rpm # update date and version in document -tag := $(shell cat $(srcdir)/CVS/Tag 2>/dev/null || echo HEAD) -addstamp = sed "s|^Date:.*|Date: `date +%x`|g; s|^Version:.*|Version: $(tag)|g" +date := $(shell date +%x) +tag := $(shell echo '$$Name: $$' | sed -e 's/^\$$Na''me: *\$$$$/HEAD/; s/^\$$Na''me: \(.*\) \$$$$/\1/') +addversion = sed -e 's|@T''AG@|$(tag)|g; s|@VER''SION@|$(VERSION)|g; s|@DA''TE@|$(date)|g; s|@RPM''RELEASE@|$(RPMRELEASE)|g; s|@KERN''TYPE@|$(KERNTYPE)|g; s|@KERN''RPM@|$(KERNRPM)|g' -DOCVERSION: - echo $(tag) > DOCVERSION +# Regenerate when the $(VERSION) or $Name: $ changes. +.INTERMEDIATE: $(GENERATED) +$(VERSIONED) : %.lyx: %.lin Makefile + $(addversion) $< > $@ .lyx.pdf: - rm -f $ $ $ $ $@ -lustre.lyx: master.lyx $(IMAGES) DOCVERSION - (ver="`cat DOCVERSION`" ;\ - echo "version for $< is $$ver";\ - sed "s/VERSION/version $$ver/" < $< > lustre.lyx.tmp ;\ - thedate=`date +%x` ; sed "s/DATE/$$thedate, /" < lustre.lyx.tmp > lustre.lyx ;\ - ) - syncweb: lustre.pdf cp lustre.pdf /usr/src/www/content/lustre/docs/lustre.pdf ( cd /usr/src/www ; make lustre ; make synclustre ) +.PHONY: syncweb chbar + +# Build a changebar document from the files in doc.old and this directory. +chbar: lustre-chbar.pdf + +# FIXME: Temporary rules until pdftex displays changebars correctly. +lustre-chbar.pdf: lustre-chbar-nopdf.ps + $(PS2PDF) $< $@ +lustre-chbar-nopdf.ps: lustre-chbar-nopdf.dvi + $(DVIPS) $< -o $@ +lustre-chbar-nopdf.dvi: lustre-chbar-nopdf.tex + $(LATEX) $< + $(LATEX) $< +lustre-chbar-nopdf.tex: lustre-chbar.tex + sed -e 's/^\(.*usepackage.*pdftex\)/%\1/' $< > $@ + +%-chbar.tex: chbar.sh postbar doc.old/%-full.tex %-full.tex + $(SHELL) $(srcdir)/chbar.sh doc.old/$*-full.tex $*-full.tex | $(srcdir)/postbar > $@ + +doc.old/%-full.tex: doc.old/%.tex + cd doc.old && $(TEXEXPAND) -texinputs=. -output=$*-full.tex $*.tex + +# This rule needs to come after the more specific doc.old rule. +%-full.tex: %.tex + $(TEXEXPAND) -texinputs=. -texinputs=$(srcdir) -output=$@ $< + +# Check out the old directory if it doesn't exist. +doc.old/lustre.lin: + @if test "X$(OLD)" = X; then \ + echo "You must populate doc.old or specify a CVS tag like OLD=v0_5_1"; \ + exit 1; \ + fi + rm -rf doc.old + mkdir doc.old + cvs checkout -r $(OLD) -d doc.old lustre/doc dist-hook: rm -rf $(distdir)/figs/CVS - -include $(top_srcdir)/Rules