D=		../data/
NAD=		../news.answers/
FAQD=		/rtfm/faq_archiver
PARTS=		20
#ARCH=		sun4os
#ARCH=		decmips
RCSDIR=		/usr/athena/bin/

NUMPOSTING1=	$(D)posting1
NUMPOSTINGS=	$(D)posting2 $(D)posting3 $(D)posting4 \
		$(D)posting5 $(D)posting6 $(D)posting7 $(D)posting8 \
		$(D)posting9 $(D)posting10 $(D)posting11 $(D)posting12 \
		$(D)posting13 $(D)posting14 $(D)posting15 $(D)posting16 \
		$(D)posting17 $(D)posting18 $(D)posting19 $(D)posting20
DIFFPOSTING=	$(D)diff-posting
POSTINGS=	$(NUMPOSTING1) $(NUMPOSTINGS) $(DIFFPOSTING)

NUMLISTS=	$(D)list.part1 $(D)list.part2 $(D)list.part3 $(D)list.part4 \
		$(D)list.part5 $(D)list.part6 $(D)list.part7 $(D)list.part8 \
		$(D)list.part9 $(D)list.part10 $(D)list.part11 \
		$(D)list.part12 $(D)list.part13 $(D)list.part14 \
		$(D)list.part15 $(D)list.part16 $(D)list.part17 \
		$(D)list.part18 $(D)list.part19 $(D)list.part20
DIFFLIST=	$(D)list.diff
LISTS=		$(NUMLISTS) $(DIFFLIST)

MAXPOSTSIZE=	63000

all:: $(D)check.out $(POSTINGS) $(D)rkive.cf
all:: $(D)guidelines.ro $(D)postapproval-guidelines.ro $(D)Introduction.ro $(D)einfuehrung.ro $(D)richtlinien.ro $(D)nach-genehmigung.ro

# These rules generate read-only versions of the *.answers 
# Introduction and guidelines postings, and verify that they aren't
# checked out.

$(D)guidelines.ro: $(NAD)guidelines
	cp $(NAD)guidelines $(D)guidelines.ro.tmp
	if [ `$(RCSDIR)rlog -R -L $(NAD)guidelines`x != x ]; then \
		echo "$(NAD)guidelines is checked out." 1>&2; \
		false; \
	else \
		true; \
	fi
	cmp $(NAD)guidelines $(D)guidelines.ro.tmp
	-rm -f $(D)guidelines.ro
	mv $(D)guidelines.ro.tmp $(D)guidelines.ro

$(D)postapproval-guidelines.ro: $(NAD)postapproval-guidelines
	cp $(NAD)postapproval-guidelines $(D)postapproval-guidelines.ro.tmp
	if [ `$(RCSDIR)rlog -R -L $(NAD)postapproval-guidelines`x != x ]; then \
		echo "$(NAD)postapproval-guidelines is checked out." 1>&2; \
		false; \
	else \
		true; \
	fi
	cmp $(NAD)postapproval-guidelines $(D)postapproval-guidelines.ro.tmp
	-rm -f $(D)postapproval-guidelines.ro
	mv $(D)postapproval-guidelines.ro.tmp $(D)postapproval-guidelines.ro

$(D)Introduction.ro: $(NAD)Introduction
	cp $(NAD)Introduction $(D)Introduction.ro.tmp
	if [ `$(RCSDIR)rlog -R -L $(NAD)Introduction`x != x ]; then \
		echo "$(NAD)Introduction is checked out." 1>&2; \
		false; \
	else \
		true; \
	fi
	cmp $(NAD)Introduction $(D)Introduction.ro.tmp
	-rm -f $(D)Introduction.ro
	mv $(D)Introduction.ro.tmp $(D)Introduction.ro

$(D)einfuehrung.ro: $(NAD)einfuehrung
	cp $(NAD)einfuehrung $(D)einfuehrung.ro.tmp
	if [ `$(RCSDIR)rlog -R -L $(NAD)einfuehrung`x != x ]; then \
		echo "$(NAD)einfuehrung is checked out." 1>&2; \
		false; \
	else \
		true; \
	fi
	cmp $(NAD)einfuehrung $(D)einfuehrung.ro.tmp
	-rm -f $(D)einfuehrung.ro
	mv $(D)einfuehrung.ro.tmp $(D)einfuehrung.ro

$(D)richtlinien.ro: $(NAD)richtlinien
	cp $(NAD)richtlinien $(D)richtlinien.ro.tmp
	if [ `$(RCSDIR)rlog -R -L $(NAD)richtlinien`x != x ]; then \
		echo "$(NAD)richtlinien is checked out." 1>&2; \
		false; \
	else \
		true; \
	fi
	cmp $(NAD)richtlinien $(D)richtlinien.ro.tmp
	-rm -f $(D)richtlinien.ro
	mv $(D)richtlinien.ro.tmp $(D)richtlinien.ro

$(D)nach-genehmigung.ro: $(NAD)nach-genehmigung
	cp $(NAD)nach-genehmigung $(D)nach-genehmigung.ro.tmp
	if [ `$(RCSDIR)rlog -R -L $(NAD)nach-genehmigung`x != x ]; then \
		echo "$(NAD)nach-genehmigung is checked out." 1>&2; \
		false; \
	else \
		true; \
	fi
	cmp $(NAD)nach-genehmigung $(D)nach-genehmigung.ro.tmp
	-rm -f $(D)nach-genehmigung.ro
	mv $(D)nach-genehmigung.ro.tmp $(D)nach-genehmigung.ro

$(D)check.out: $(D)list
	-rm -f $(D)check.out.old
	-mv -f $(D)check.out $(D)check.out.old >/dev/null 2>&1
	(cd $D; $(RCSDIR)co -l -q list)
	./checker.pl -nocache -report -dbdir "$(D)" -repfile $(D)check.out
	(cd $D; $(RCSDIR)ci -u -q -m"Nightly checker.pl of `date`" list)

$(NUMPOSTING1): $(D)timestamp $(NUMLISTS)
	-rm -f $(NUMPOSTING1)
	./make-header.pl -part 1 -parts $(PARTS) | cat - $(D)timestamp \
	  $(D)list.part1 > $(NUMPOSTING1)
	./check-size.pl $(NUMPOSTING1) $(MAXPOSTSIZE)

$(NUMPOSTINGS): $(NUMLISTS)
	for i in `yes "" | cat -n | head -$(PARTS) | tail +2`; do \
	  rm -f $(D)posting$$i; \
	  ./make-header.pl -part $$i -parts $(PARTS) | \
	    cat - $(D)list.part$$i > $(D)posting$$i || exit 1; \
	  ./check-size.pl $(D)posting$$i $(MAXPOSTSIZE) || exit 1; \
	done

$(DIFFPOSTING): $(DIFFLIST)
	rm -f $(DIFFPOSTING)
	./make-header.pl -part 0 -parts $(PARTS) | cat - $(DIFFLIST) \
	  > $(DIFFPOSTING)

$(D)timestamp: $(D)check.out
	rm -f $(D)timestamp
	(echo "[List generated at `date`]"; echo "") > $(D)timestamp

$(NUMLISTS): $(D)check.out
	./split.pl -in $(D)list -parts $(PARTS)

$(DIFFLIST): $(D)check.out
	-rm -f $(DIFFLIST)
	./compare-lists.pl -list1 $(D)list.posted -list2 $(D)list -out $(DIFFLIST)

diff-base:
	mv $(D)list.posted $(D)list.posted.old
	mv $(D)list.posted.aux $(D)list.posted.aux.old
	cp $(D)list $(D)list.posted
	cp $(D)list.aux $(D)list.posted.aux
	-rm -f $(D)list.stripped
	(cd $D; $(RCSDIR)co -l -q list)
	./strip-important.pl $(D)list > $(D)list.stripped
	mv $(D)list.stripped $(D)list
	(cd $D; $(RCSDIR)ci -u -q -m"Strip-important of `date`" list)

$(D)rkive.cf: $(D)list
	rm -f $(D)rkive.cf.old
	-mv -f $(D)rkive.cf $(D)rkive.cf.old >/dev/null 2>&1
	./make-kill.pl -db $(D)list -out $(D)rkive.cf

install: $(D)rkive.cf
	rm -f $(FAQD)/rkive.cf
	cp $(D)rkive.cf $(FAQD)/rkive.cf
	rm -f $(D)/rkive.cf.installed.tmp
	cp $(D)rkive.cf $(D)/rkive.cf.installed.tmp
	mv -f $(D)/rkive.cf.installed.tmp $(D)/rkive.cf.installed

clean: 
	-rm -f $(LISTS) $(POSTINGS) $(D)timestamp $(D)check.out
	-rm -f $(D)*.old $(D)rkive.cf $(D)*~ *~

getdate: getdate.o getdate-main.o
	$(CC) $(LDFLAGS) -o getdate getdate.o getdate-main.o

FRC:
