#
# $FML: Makefile.template,v 1.9 2005/11/19 03:40:41 fukachan Exp $
#

TMP_DIR     = ./tmp

# targets
SOURCE      = book
BOOK        = tech
BOOK_ID     = tips
TARGET_HTML_DIR  = ../../../../Documentation/ja/$(BOOK)
TARGET_TEXT_DIR  = ../../../../Documentation/ja/text

# version replacement hack
VERSION_REPLACE  = perl ../../../../fml/utils/bin/version_replace.pl 
BOOK_INFO	 = include/bookinfo.sgml 
BOOK_INFO_COOKED = include/bookinfo.sgml.cooked

# programs (except for /bin/*)
SGML_CC     = ../../../../fml/utils/bin/sgml_compile.sh
UNIQ        = uniq
PERL        = perl
FIND        = find
GREP        = grep
GIT         = git
ENV         = env
EXPORTER    = rsync -a
SGML_DIR    = ../../share/sgml
SGML_CATALOG_FILES = ../../share/sgml/catalog
JADE_OPTS   = -v -c $(SGML_DIR)/catalog
FML_DSSSL   = -d $(SGML_DIR)/fml.dsl
HTMLify     = sgmltools -v -d -j "$(JADE_OPTS) $(FML_DSSSL)"
TEXTify     = sgmltools -v -d -j "$(JADE_OPTS)"
FIX_CHARSET = ../utils/bin/fix_charset.pl

ENV_VARS    = TMPDIR=$(TMP_DIR) SGML_CATALOG_FILES=$(SGML_CATALOG_FILES) COLS=72


###
### RULES
###

all: export

html: _init
	$(SGML_CC) $(SOURCE).sgml 2>&1 | $(UNIQ)
	@ $(PERL) -i.bak $(FIX_CHARSET) $(SOURCE)/$(BOOK_ID).html
	@ rm -f $(SOURCE)/@*/*.html.bak

html.old: _init
	$(ENV) $(ENV_VARS) $(HTMLify) -b html $(SOURCE).sgml 2>&1 | $(UNIQ)
	@ $(PERL) -i.bak $(FIX_CHARSET) $(SOURCE)/$(BOOK_ID).html
	@ rm -f $(SOURCE)/@*/*.html.bak

txt: _init
	$(ENV) $(ENV_VARS) $(TEXTify) -b txt $(SOURCE).sgml 2>&1 | $(UNIQ)

w3m: _init
	$(SGML_CC) -m w3m $(SOURCE).sgml 2>&1 | $(UNIQ)

lynx: _init
	$(SGML_CC) -m lynx $(SOURCE).sgml 2>&1 | $(UNIQ)

lynx.old: _init
	$(ENV) $(ENV_VARS) $(TEXTify) -b lynx $(SOURCE).sgml 2>&1 | $(UNIQ)

ps: _init
	$(ENV) $(ENV_VARS) $(TEXTify) -b ps $(SOURCE).sgml 2>&1 | $(UNIQ)

clean:
	$(FIND) . -type f -print |$(GREP) '~' |$(PERL) -nple unlink
	rm -f book.txt book.html
	rm -f $(BOOK_INFO_COOKED)
	rm -fr $(SOURCE)

export: _init html w3m
	$(EXPORTER) $(SOURCE)/ $(TARGET_HTML_DIR)/
	@ rsync -a ../../en/figures/*.gif $(TARGET_HTML_DIR)/
	@ cp book.txt $(TARGET_TEXT_DIR)/$(BOOK).txt
	chmod 755 $(TARGET_HTML_DIR)

scan:
	@ $(GIT) status -s

_init:
	test -d $(TARGET_HTML_DIR) || mkdir $(TARGET_HTML_DIR)
	test -d $(TARGET_TEXT_DIR) || mkdir $(TARGET_TEXT_DIR)
	test -d $(TMP_DIR) || mkdir $(TMP_DIR)
	perl ../../../../fml/utils/bin/listup_recipes.pl > tmp/lor.sgml.new
	mv tmp/lor.sgml.new tmp/lor.sgml
	test -f $(BOOK_INFO) && ( \
		$(VERSION_REPLACE) $(BOOK_INFO) > $(BOOK_INFO_COOKED);\
	)
