# 
# Makefile for the Linux System Administrators' Guide
#
# Lars Wirzenius
# "@(#)sag:Makefile,v 1.1 1994/11/13 16:43:38 liw Exp"
#

# The file for each chapter and the files it includes (e.g., pictures)
sty = linuxdoc.sty
frontmatter = frontmatter.tex linux-logo.ps
intro = intro.tex rhyme.tex convntns.tex \
	blurb.tex copyright.tex
disks = disks.tex hd-schematic.ps hd-layout.ps \
	hd-mount-separate.tex hd-mount-mounted.tex
mem = mem.tex
backups = backups.tex
ext2fs = ext2fs/paper.tex ext2fs/dir.ps ext2fs/inode.ps ext2fs/vfs.ps \
	ext2fs/remy.sty ext2fs/biblio.bib
measure-holes = measure-holes/measure-holes.tex


# All the chapters that are currently included
chapters = $(sty) $(frontmatter) $(intro) $(disks) $(mem) $(backups) \
	$(ext2fs) $(measure-holes)

# All the files that are to be included in the distribution
distfiles = Makefile linuxdoc.sty \
	sag.tex $(chapters) sag.ps sag.dvi sag.txt *.fig

# Version of SAG
version = 0.2

all: dvi

ps: sag.ps
dvi: sag.dvi
txt: sag.txt

sag.ps: sag.dvi
	dvips -f sag.dvi > sag.ps

sag.dvi: sag.tex $(chapters)
	latex sag
	bibtex ext2fs/paper
	latex sag
	latex sag

sag.txt: $(chapters)
	for i in $(chapters); do case $$i in *.tex) \
		sed 's/\\linux/Linux/g;\
		     s/\\UNIX/UNIX/g;\
		     s/\\meta/META: /g;\
		     s/\\man//g;\
		     s/\\man//g;\
		     s/\\fn//g' $$i | delatex \
		;; esac; done | \
	awk '{if (!p || NF>0) print; p=(NF==0)}' > sag.txt

hd-mount-separate.tex: hd-mount-separate.fig 
	fig2dev -L latex hd-mount-separate.fig > hd-mount-separate.tex
hd-mount-mounted.tex: hd-mount-mounted.fig 
	fig2dev -L latex hd-mount-mounted.fig > hd-mount-mounted.tex

hd-schematic.ps: hd-schematic.fig 
	fig2dev -L ps -m 0.50 hd-schematic.fig > hd-schematic.ps
hd-layout.ps: hd-layout.fig 
	fig2dev -L ps -m 0.75 hd-layout.fig > hd-layout.ps

ext2fs/dir.ps: ext2fs/dir.fig
	fig2dev -L ps ext2fs/dir.fig > ext2fs/dir.ps
ext2fs/inode.ps: ext2fs/inode.fig
	fig2dev -L ps ext2fs/inode.fig > ext2fs/inode.ps
ext2fs/vfs.ps: ext2fs/vfs.fig
	fig2dev -L ps ext2fs/vfs.fig > ext2fs/vfs.ps

clean:
	rm -f sag.log sag.aux sag.dvi sag.ps sag.toc sag.txt
	rm -f hd-schematic.ps hd-layout.ps
	rm -f hd-mount-separate.tex hd-mount-mounted.tex


dist: $(distfiles)
	mkdir sag-$(version)
	ln $(distfiles) sag-$(version)
	tar cf - sag-$(version) | gzip > sag-$(version).tar.gz
	rm -r sag-$(version)
