#
# 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
SUFFIXES = .lin .lyx .pdf .ps .sgml .html .txt .tex .fig .eps .dvi
DOCS = lustre.pdf lustre-HOWTO.txt
-IMAGES = sys_open.eps sys_write.eps sys_mount.eps 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 gssapi.eps lovextents.eps cpsd.eps setup-accept.eps authenticate.eps login.eps
-LYXFILES= lustre.lin evolution.lyx llocks.lyx mgmt.lyx uncertain.lyx\
- fs.lyx lustre-HOWTO.lin namespace.lyx\
- glossary.lyx lustre-debugging.lyx network.lyx\
- intro.lyx obdspec.lyx recovery.lyx
+IMAGES := $(patsubst %.fig,%.eps,$(wildcard *.fig))
+LYXFILES= $(filter-out $(patsubst %.lin,%.lyx,$(wildcard *.lin)),\
+ $(wildcard *.lin *.lyx))
MAINTAINERCLEANFILES = $(IMAGES) $(DOCS) $(VERSIONED)
-CLEANFILES = *.aux *.tex doc.old/*.aux doc.old/*.tex *.eps
+CLEANFILES = *.aux *.tex doc.old/*.aux doc.old/*.tex *.eps *.log *.pdf
VERSIONED = lustre-HOWTO.lyx lustre.lyx doc.old/lustre-HOWTO.lyx doc.old/lustre.lyx
GENERATED = $(VERSIONED) lustre-full.tex lustre-chbar.tex
-EXTRA_DIST = chbar.sh postbar $(DOCS) $(IMAGES) $(LYXFILES) lustre.bib
+EXTRA_DIST = chbar.sh postbar tex2pdf $(DOCS) $(IMAGES) $(LYXFILES) lustre.bib
all: $(DOCS)
.lyx.html:
@echo $(LYX2HTML) $< && $(LYX2HTML) $< || printf "\n*** Warning: not creating HTML docs; install lyx to rectify this\n"
+.tex.pdf:
+ $(TEX2PDF) $<
+
.tex.dvi:
$(LATEX) $<
$(LATEX) $<
.ps.pdf:
$(PS2PDF) $< $@
-lustre.tex lustre.pdf lustre.txt lustre.html: $(IMAGES) lustre-HOWTO.lyx
+lustre.tex lustre.pdf lustre.txt lustre.html: $(IMAGES) $(LYXFILES) lustre-HOWTO.lyx
.fig.eps:
-fig2dev -L eps $< > $@
# 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 > $@
-%-full.tex: %.tex
- $(TEXEXPAND) -texinputs=. -texinputs=$(srcdir) -output=$@ $<
-
+# This rule needs to come before the next %-full.tex rule.
doc.old/lustre.tex: doc.old/lustre-HOWTO.lyx
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 doc.old/lustre-HOWTO.lin:
@if test "X$(OLD)" = X; then \