CVSTREE		= yes
ifeq ($(CVSTREE), yes)
include ../../JF.conf
STATUS_2_0_X = Status.2.0.X
endif

# INSTALL_WWW = yes
# INSTALL_FTP = yes
# WWW_ROOT	= /var/tmp/jf/www
# FTP_ROOT	= /var/tmp/jf/ftp

DEST_WWW_DIR=$(WWW_ROOT)/JFdocs/Configure.help
DEST_FTP_DIR=$(FTP_ROOT)/Configure.help

VER		= 2.0.X-snap
RELEASE		= kconf-help-$(VER).tar.gz

MKDB		= mkmodifydb.pl
MKSTATUS	= mkstatus.pl
MERGESCR	= merge_trans.pl
KCONF_MODULE	= KernelConf.pm
INDEX_LISTING	= listing.pl
CLEANUP		= cleanup.pl
MKRESERVE	= mkreserve.pl

SCRIPTS		= $(MKDB) $(MKSTATUS) $(MERGESCR) $(KCONF_MODULE) \
		$(INDEX_LISTING) $(CLEANUP) $(MKRESERVE) chdiff.pl \
		latin_to_ascii.sed

RESERVE_FILE	= Reserved.list

CONFIGURE_OLD	= Configure.help-2.0.33
CONFIGURE_NEW	= Configure.help-2.0.34 Configure.help-2.0.35 \
  Configure.help-2.0.36 Configure.help-2.0.37 Configure.help-2.0.38 \
  Configure.help-2.0.39 Configure.help-2.0.40
LATEST		= $(word $(words $(CONFIGURE_NEW)), $(CONFIGURE_NEW))

### For Quick testing...
#CONFIGURE_OLD	= Configure.help-v0
#CONFIGURE_NEW	= Configure.help-v1 Configure.help-v2 Configure.help-v3
#LATEST		= Configure.help-v3

TRANS_OLD_DIR	= TRANS-$(CONFIGURE_OLD)
TRANS_NEW_DIR	= TRANS-$(LATEST)
ORIG_OLD_DIR	= TRANS-$(CONFIGURE_OLD)
ORIG_NEW_DIR	= TRANS-$(LATEST)
DATABASES	= Mod_$(LATEST).db
TRANSLATED_NEW	= $(LATEST).ja.gz

TMP_INC_M4		= temp-include.m4
GUIDANCE		= guidance.m4
GUIDANCE-HTML		= guidance.html
STAT-M4			= Configure-Status.m4
STAT-HTML		= Configure-Status.html
STAT-HTML-ALL		= Configure-Status-all.html
STAT-HTML-TEXT		= Configure-Status-text.html
STAT-HTML-TEXT-ALL	= Configure-Status-text-all.html

HTMLS			= $(STAT-HTML) $(STAT-HTML-ALL) $(STAT-HTML-TEXT)\
			  $(STAT-HTML-TEXT-ALL) # $(GUIDANCE-HTML) index.html

ifeq ($(CVSTREE), yes)
all: $(SCRIPTS) check_trans $(TRANSLATED_NEW) $(STATUS_2_0_X)
else
all: $(SCRIPTS) check_trans $(TRANSLATED_NEW)
endif

$(SCRIPTS):
	for f in $(SCRIPTS); do \
		ln "../Configure.help/$$f" . ; \
	done
	# this is needed for backport entries from 2.2.x...
	#
	for f in ../Configure.help/TRANS-Configure.help-2.2.* ; do \
		ln -s $$f . ; \
	done

$(STATUS_2_0_X): $(TRANSLATED_NEW)
	echo "<p>" >$@
	echo -n "Last updated: " >>$@
	../../bin/file_date.pl $(TRANSLATED_NEW) >>$@
	echo "</p>" >>$@
	./$(INDEX_LISTING) $(CONFIGURE_OLD) $(CONFIGURE_NEW) >> $@

db: $(CONFIGURE_OLD) $(CONFIGURE_NEW) $(DATABASES)

$(DATABASES): $(MKDB) $(KCONF_MODULE) $(CONFIGURE_OLD) $(CONFIGURE_NEW)
	./$(MKDB) $(CONFIGURE_OLD) $(CONFIGURE_NEW)

$(CONFIGURE_NEW):
	ORIG-Configure.help.diffs/mkall.sh

check_trans: $(DATABASES)
	@echo -n Checking for translated items...
	@if [ `find . -newer $(TRANSLATED_NEW) -type f -name "CONFIG_*" | head -1` ];\
	then \
		echo "FOUND"; rm -f $(TRANSLATED_NEW); touch $(RESERVE_FILE); \
	else \
		echo "NOTING"; \
	fi


$(TRANSLATED_NEW): $(MERGESCR) $(KCONF_MODULE) $(DATABASES) trim_nl.pl
	./$(MERGESCR) $(CONFIGURE_OLD) $(CONFIGURE_NEW)
	for f in Configure.help-2.0.*.ja; do \
		./trim_nl.pl < $$f > tempfile.ja; \
		mv -f tempfile.ja $$f; \
	done
	gzip -f9 Configure.help-2.0.*.ja

status: $(MKSTATUS) $(DATABASES)
	@./$(MKSTATUS) -s $(CONFIGURE_OLD) $(CONFIGURE_NEW)

reserve:
	grep '^#' $(RESERVE_FILE) > /tmp/CH.tmp.reserve
	./$(MKRESERVE) $(CONFIGURE_OLD) $(CONFIGURE_NEW) >> /tmp/CH.tmp.reserve
	mv -f /tmp/CH.tmp.reserve $(RESERVE_FILE)

$(STAT-HTML): $(MKSTATUS) $(DATABASES) $(RESERVE_FILE) $(STAT-M4) $(TRANSLATED_NEW)
	./$(MKSTATUS) -h $(CONFIGURE_OLD) $(CONFIGURE_NEW) > $(TMP_INC_M4)
	m4 -P $(STAT-M4) | nkf -j > $@
	rm -f $(TMP_INC_M4)

$(STAT-HTML-ALL): $(MKSTATUS) $(DATABASES) $(RESERVE_FILE) $(STAT-M4) $(TRANSLATED_NEW)
	./$(MKSTATUS) -h -a $(CONFIGURE_OLD) $(CONFIGURE_NEW) > $(TMP_INC_M4)
	m4 -P $(STAT-M4) | nkf -j > $@
	rm -f $(TMP_INC_M4)

$(STAT-HTML-TEXT): $(MKSTATUS) $(DATABASES) $(RESERVE_FILE) $(STAT-M4) $(TRANSLATED_NEW)
	@echo '<PRE>' > $(TMP_INC_M4)
	./$(MKSTATUS) $(CONFIGURE_OLD) $(CONFIGURE_NEW) >> $(TMP_INC_M4)
	@echo '</PRE>' >> $(TMP_INC_M4)
	m4 -P $(STAT-M4) | nkf -j > $@
	rm -f $(TMP_INC_M4)

$(STAT-HTML-TEXT-ALL): $(MKSTATUS) $(DATABASES) $(RESERVE_FILE) $(STAT-M4) $(TRANSLATED_NEW)
	@echo '<PRE>' > $(TMP_INC_M4)
	./$(MKSTATUS) -a $(CONFIGURE_OLD) $(CONFIGURE_NEW) >> $(TMP_INC_M4)
	@echo '</PRE>' >> $(TMP_INC_M4)
	m4 -P $(STAT-M4) | nkf -j > $@
	rm -f $(TMP_INC_M4)

index.html: index.m4 $(INDEX_LISTING) $(TRANSLATED_NEW)
	m4 -P index.m4 | nkf -j > $@
	./$(CLEANUP) $(CONFIGURE_NEW)

$(GUIDANCE-HTML): $(GUIDANCE)
	m4 -P $< | nkf -j > $@

install: all install-www install-ftp

ifneq ($(INSTALL_WWW), yes)
install-www:
else
install-www:
	mkdir -p $(DEST_WWW_DIR)
	cp -pu Configure.help-2.0.*.ja.gz $(DEST_WWW_DIR)
endif

ifneq ($(INSTALL_FTP), yes)
install-ftp:
else
install-ftp:
	mkdir -p $(DEST_FTP_DIR)
	cp -pu Configure.help-2.0.*.ja.gz $(DEST_FTP_DIR)
endif


release: $(RELEASE)

$(RELEASE): Makefile $(SCRIPTS) $(CONFIGURE_OLD) \
	    README $(RESERVE_FILE)
	./$(CLEANUP) $(CONFIGURE_NEW)
	tar cf - --exclude=CVS Makefile $(SCRIPTS) $(RESERVE_FILE) \
	 $(CONFIGURE_OLD) README TRANS-* \
	 ORIG-Configure.help.diffs | gzip -c > tmpfile.tgz
	mkdir kconf-$(VER)
	(cd kconf-$(VER); tar zxf ../tmpfile.tgz; cd ..)
	sed '/^CVSTREE/d' Makefile > kconf-$(VER)/Makefile
	tar cf - kconf-$(VER) | gzip -c > $@
	@rm -rf kconf-$(VER) tmpfile.tgz

realclean: clean

clean:
	-./$(CLEANUP) $(CONFIGURE_NEW)
	-$(RM) -rf $(RELEASE) $(TMP_INC_M4) $(HTMLS) $(SCRIPTS) \
	$(STATUS_2_0_X) Configure.help-2.*.ja.gz $(CONFIGURE_NEW) \
	CONFIG-Configure.help-2.0.* TRANS-Configure.help-2.2.* \
	Mod_Configure.help-2.0.*
