# $Id: Makefile,v 1.32 2009/09/12 22:40:50 mdk Exp $

include ./JF.conf
export PROJROOT

all:
	cd docs ; make

generate_database: $(JFINDEXDB)

install-docs:
	cd docs ; make install

install-index:	$(JFINDEXDB) \
		$(WORKDIR)/txt/JFdocs/INDEX-JF.txt \
		$(WORKDIR)/html/JFdocs/INDEX-JF.html \
		$(WORKDIR)/sgml/JFdocs/INDEX-JF.txt

ifeq ($(INSTALL_WWW), yes)
www_contents:
	cd www; make install

greenroom_contents:
	cd admin/Greenroom ; make install

install-www:	www_contents greenroom_contents \
		$(WWW_ROOT)/JFdocs/INDEX-JF.html \
		$(WWW_ROOT)/JFdocs/JFtxt.tar.gz \
		$(WWW_ROOT)/JFdocs/JFhtml.tar.gz \
		$(WWW_ROOT)/JFdocs/JFsgml.tar.gz \
		$(WWW_ROOT)/JFdocs/JFtxt.tar.bz2 \
		$(WWW_ROOT)/JFdocs/JFhtml.tar.bz2 \
		$(WWW_ROOT)/JFdocs/JFsgml.tar.bz2 \
		$(WWW_ROOT)/contrib/index.html

else
install-www:

endif

ifeq ($(INSTALL_FTP), yes)
install-ftp:	$(FTP_ROOT)/JFtxt.tar.gz \
		$(FTP_ROOT)/JFhtml.tar.gz \
		$(FTP_ROOT)/JFsgml.tar.gz \
		$(FTP_ROOT)/JFtxt.tar.bz2 \
		$(FTP_ROOT)/JFhtml.tar.bz2 \
		$(FTP_ROOT)/JFsgml.tar.bz2
		(cd ftp; make install)
else
install-ftp:

endif

install: install-docs install-index \
	$(WORKDIR)/txt/JFtxt.tar.gz \
	$(WORKDIR)/html/JFhtml.tar.gz $(WORKDIR)/sgml/JFsgml.tar.gz \
	$(WORKDIR)/txt/JFtxt.tar.bz2 \
	$(WORKDIR)/html/JFhtml.tar.bz2 $(WORKDIR)/sgml/JFsgml.tar.bz2 \
	install-www install-ftp
	@echo "JF: Done."

#
# Building temporary work files.
#

$(WORKDIR)/txt/JFdocs/INDEX-JF.txt: $(JFINDEXDB)
	@echo -n "JF: Creating $@..."
	@(cd $(@D); $(MKNEWINDEX) -t TEXT | nkf -s | $(PERL_CRLF) > $@ )
	@echo "done."

$(WORKDIR)/html/JFdocs/INDEX-JF.html: $(JFINDEXDB)
	@echo -n "JF: Creating $@..."
	@(cd $(@D); $(MKNEWINDEX) -t HTML | nkf -w > $@ )
	@echo "done."

$(WORKDIR)/sgml/JFdocs/INDEX-JF.txt: $(JFINDEXDB)
	@echo -n "JF: Creating $@..."
	@(cd $(@D); $(MKNEWINDEX) -t TEXT | nkf -w > $@ )
	@echo "done."

$(WORKDIR)/contrib/INDEX.txt: $(JFINDEXDB)
	@echo -n "JF: Creating $@..."
	@(cd $(@D); $(MKCONTRIBINDEX) -t TEXT | nkf -s | $(PERL_CRLF) > $@ )
	@echo "done."

$(WORKDIR)/contrib/index.html: $(JFINDEXDB)
	@echo -n "JF: Creating $@..."
	@(cd $(@D); $(MKCONTRIBINDEX) -t HTML | nkf -w > $@ )
	@echo "done."

$(WORKDIR)/txt/JFtxt.tar.gz: $(JFINDEXDB)
	@echo -n "JF: Archiving $@..."
	@(cd $(@D); tar cfz $@ $(WORKCONTENTS))
	@echo "done."

$(WORKDIR)/html/JFhtml.tar.gz: $(JFINDEXDB)
	@echo -n "JF: Archiving $@..."
	@(cd $(@D); tar cfz $@ $(WORKCONTENTS))
	@echo "done."

$(WORKDIR)/sgml/JFsgml.tar.gz: $(JFINDEXDB)
	@echo -n "JF: Archiving $@..."
	@(cd $(@D); tar cfz $@ $(WORKCONTENTS))
	@echo "done."

$(WORKDIR)/txt/JFtxt.tar.bz2: $(JFINDEXDB)
	@echo -n "JF: Archiving $@..."
	@(cd $(@D); tar cf - $(WORKCONTENTS) | bzip2 > $@)
	@echo "done."

$(WORKDIR)/html/JFhtml.tar.bz2: $(JFINDEXDB)
	@echo -n "JF: Archiving $@..."
	@(cd $(@D); tar cf - $(WORKCONTENTS) | bzip2 > $@)
	@echo "done."

$(WORKDIR)/sgml/JFsgml.tar.bz2: $(JFINDEXDB)
	@echo -n "JF: Archiving $@..."
	@(cd $(@D); tar cf - $(WORKCONTENTS) | bzip2 > $@)
	@echo "done."

#
# Building and installing Web/FTP contents.
#

$(WWW_ROOT)/JFdocs/INDEX-JF.html: $(JFINDEXDB)
	@echo -n "JF: Creating $@..."
	@(cd $(@D); $(MKNEWINDEX) -t HTML -w | nkf -w > $@ )
	@echo "done."
	@(cd $(@D); \
	for C in $(CATEGORIES); do \
	  echo -n "JF: Creating $(@D)/INDEX-$${C}.html..."; \
	  $(MKNEWINDEX) -t HTML -c $${C} -w | nkf -w > INDEX-$${C}.html;\
	  echo "done."; \
	done)
	@(cd $(@D); \
	for K in $(KINDS); do \
	  echo -n "JF: Creating $(@D)/INDEX-$${K}.html..."; \
	  $(MKNEWINDEX) -t HTML -k $${K} -w | nkf -w > INDEX-$${K}.html;\
	  echo "done."; \
	done)

$(WWW_ROOT)/contrib/index.html: $(JFINDEXDB)
	@(cd $(@D); \
	    echo -n "JF: Creating $@..."; \
	    $(MKCONTRIBINDEX) -t HTML -w | nkf -w > $@;\
	    echo "done.")

$(WWW_ROOT)/JFdocs/JFtxt.tar.gz: $(WORKDIR)/txt/JFtxt.tar.gz
	@(echo -n "JF: Installing $@..."; $(INSTALL) $< $@; echo "done.")

$(WWW_ROOT)/JFdocs/JFhtml.tar.gz: $(WORKDIR)/html/JFhtml.tar.gz
	@(echo -n "JF: Installing $@..."; $(INSTALL) $< $@; echo "done.")

$(WWW_ROOT)/JFdocs/JFsgml.tar.gz: $(WORKDIR)/sgml/JFsgml.tar.gz
	@(echo -n "JF: Installing $@..."; $(INSTALL) $< $@; echo "done.")

$(WWW_ROOT)/JFdocs/JFtxt.tar.bz2: $(WORKDIR)/txt/JFtxt.tar.bz2
	@(echo -n "JF: Installing $@..."; $(INSTALL) $< $@; echo "done.")

$(WWW_ROOT)/JFdocs/JFhtml.tar.bz2: $(WORKDIR)/html/JFhtml.tar.bz2
	@(echo -n "JF: Installing $@..."; $(INSTALL) $< $@; echo "done.")

$(WWW_ROOT)/JFdocs/JFsgml.tar.bz2: $(WORKDIR)/sgml/JFsgml.tar.bz2
	@(echo -n "JF: Installing $@..."; $(INSTALL) $< $@; echo "done.")

$(FTP_ROOT)/JFtxt.tar.gz: $(WORKDIR)/txt/JFtxt.tar.gz
	@(echo -n "JF: Installing $@..."; $(INSTALL) $< $@; echo "done.")

$(FTP_ROOT)/JFhtml.tar.gz: $(WORKDIR)/html/JFhtml.tar.gz
	@(echo -n "JF: Installing $@..."; $(INSTALL) $< $@; echo "done.")

$(FTP_ROOT)/JFsgml.tar.gz: $(WORKDIR)/sgml/JFsgml.tar.gz
	@(echo -n "JF: Installing $@..."; $(INSTALL) $< $@; echo "done.")

$(FTP_ROOT)/JFtxt.tar.bz2: $(WORKDIR)/txt/JFtxt.tar.bz2
	@(echo -n "JF: Installing $@..."; $(INSTALL) $< $@; echo "done.")

$(FTP_ROOT)/JFhtml.tar.bz2: $(WORKDIR)/html/JFhtml.tar.bz2
	@(echo -n "JF: Installing $@..."; $(INSTALL) $< $@; echo "done.")

$(FTP_ROOT)/JFsgml.tar.bz2: $(WORKDIR)/sgml/JFsgml.tar.bz2
	@(echo -n "JF: Installing $@..."; $(INSTALL) $< $@; echo "done.")

$(JFINDEXDB): $(LAST_MODIFIED) $(OBSOLETE)
	@echo -n "JF: Generating index database..."
	@rm -f $(JFINDEXDB)
	@find $(PROJROOT)/docs -name "info" | xargs $(GEN_INDEX)
	@echo "done."

clean:
	cd docs ; make clean
	cd www ; make clean
	cd admin/Greenroom ; make clean
	rm -f $(LAST_MODIFIED)
