#!/usr/sbin/pmake -J 1

### Definitions

# Portability stuff

SHELL	= /bin/sh
GZIP	= /usr/local/bin/gzip
RM	= rm -f

# Paths

P	= sgi-faq

FAQS	= admin apps audio graphics hardware impressario inventor misc movie performer pointer security
DIFFS = diffs
FAQS+DIFFS = $(FAQS) $(DIFFS)
PARTS	= parts/preamble parts/70-hyphens parts/trailer
RPARTS	= $(PARTS) parts/header.pointer parts/header.real
TPARTS	= $(PARTS) parts/header.test

OLDDIR	= raw.old
RAWDIR	= raw
REALDIR = real
TESTDIR = test
HTMLDIR = html
HTML-1DIR = html-1
FTPDIR	= /u/ftp/pub/sgi/faq

OLD	= $(FAQS:S|^|$(OLDDIR)/|g)
RAW	= $(FAQS:S|^|$(RAWDIR)/|g)
REAL	= $(FAQS:S|^|$(REALDIR)/|g)
TEST	= $(FAQS:S|^|$(TESTDIR)/|g)
HTML	= $(FAQS+DIFFS:S|^|$(HTMLDIR)/|g)
HTML-1	= $(FAQS+DIFFS:S|^|$(HTML-1DIR)/|g:S|$|.html|g)
INDEX	= $(HTMLDIR)/index.html
INDEX-1	= $(HTML-1DIR)/index.html

DIFF_FAQ = bin/diff_faq
MAKE_DIFFS = bin/make_diffs
MAKE_FAQ = bin/make_faq
MAKE_HTML = bin/digest2html -fdst
LINK_HTML = bin/foliate -fs

### Targets

all default: real html html-1

# Real FAQs

$(REAL): $(RPARTS) $(OLDDIR)/$(@F) $(RAWDIR)/$(@F)
	$(DIFF_FAQ) $(OLDDIR)/$(@F) $(RAWDIR)/$(@F) | $(MAKE_FAQ) -name $(@F) > $@

$(REALDIR)/$(DIFFS)! $(RPARTS) $(RAW) $(OLD)
	$(MAKE_DIFFS) | $(MAKE_FAQ) -name $(@F) > $@

real: $(REAL) $(REALDIR)/$(DIFFS)

# Test FAQs

$(TEST): $(TPARTS) $(RAWDIR)/$(@F) $(OLDDIR)/$(@F)
	$(DIFF_FAQ) $(OLDDIR)/$(@F) $(RAWDIR)/$(@F) | $(MAKE_FAQ) -name $(@F) -test > $@

$(TESTDIR)/$(DIFFS)! $(TPARTS) $(RAW) $(OLD)
	$(MAKE_DIFFS) | $(MAKE_FAQ) -name $(@F) -test > $@

test: $(TEST) $(TESTDIR)/$(DIFFS)

# HTML

$(HTML): $(REALDIR)/$(@F)
	cd $(HTMLDIR); $(RM) -r $(@F); ../$(MAKE_HTML) ../$(REALDIR)/$(@F)

$(INDEX): $(HTML)
	cd $(HTMLDIR); ../$(LINK_HTML) $(FAQS+DIFFS)
	cd ..; touch $(INDEX)

html index: $(INDEX)

# HTML-1

$(HTML-1): $(REALDIR)/$(@F:R)
	cd $(HTML-1DIR); ../$(MAKE_HTML) -1 ../$(REALDIR)/$(@F:R)

$(INDEX-1): $(HTML-1)
	cd $(HTML-1DIR); ../$(LINK_HTML) $(FAQS+DIFFS:S|$|.html|g)
	cd ..; touch $(INDEX-1)

html-1 index-1: $(INDEX-1)

# Utilities

clean:
	find . \( -name \*~ -o -name \#\*\# \) -print | xargs rm -f

dist ftp install: all clean
	cp -p $(REAL) $(REALDIR)/$(DIFFS) $(FTPDIR)
	tar cLf - $P | $(GZIP) > $(FTPDIR)/$P.tar.gz
	tar cLf - $P.html | $(GZIP) > $(FTPDIR)/$P.html.tar.gz
	tar cLf - $P.html-1 | $(GZIP) > $(FTPDIR)/$P.html-1.tar.gz
	cd ..; tar cf - $P | $(GZIP) > $(FTPDIR)/$P.src.tar.gz
