#
#  Makefile rules for The-Linux-Kernel
#
#  modified ../../Exception_3.rules
#

include ../../JF.conf

ifeq ($(origin BASENAME), undefined)
BASENAME := $(notdir $(CURDIR))
NODELETE_OLDDOCS = yes
endif

IMAGE_DIR = $(BASENAME)-images

.SUFFIXES:
.SUFFIXES: .sgml .html .txt

#
# condition check
#
ifeq ($(RESTRICT_COMMERCIAL), yes)
ifeq ($(RESTRICT-DIST), yes)
COMPILE=no
endif
endif

#
# default target by condition.
#
ifeq ($(COMPILE), yes)
all: $(BASENAME).html $(BASENAME).txt

install: install-work \
	install-www \
	install-ftp \
	install-ldp-mirror
else
all:
	@echo Skip compilation.
install: 
	@echo Skip installation.
endif

#
# rules
#

FIND_EXPR = 	   -name "$(BASENAME)[-.]*html" \
		-o -name "$(BASENAME).gz" \
		-o -name "$(BASENAME).sgml.tar.gz" \
		-o -name "$(BASENAME).tar.gz" \
		-o -name "$(BASENAME).txt" \
		-o -name "$(BASENAME).sgml"

.sgml.html:
ifneq ($(NODELETE_OLDDOCS), yes)
	@find $(WORKDIR)		$(FIND_EXPR) | xargs rm -f
	@find $(FTP_ROOT)		$(FIND_EXPR) | xargs rm -f
	@find $(LDP_ROOT)		$(FIND_EXPR) | xargs rm -f
	@find $(WWW_ROOT)/JFdocs	$(FIND_EXPR) | xargs rm -f
endif
	$(SGML2HTML) $<
	for f in *.html; do \
	nkf -w $$f > $$f.utf-8; \
	mv $$f.utf-8 $$f; done
	touch $(LAST_MODIFIED)

.sgml.txt:
	$(SGML2TEXT) $<
	mv $*.txt $*.euc
	nkf -s $*.euc | perl $(BINDIR)/crlf_trim_blanks.pl > $*.txt
	rm -f $*.euc
	touch $(LAST_MODIFIED)

$(BASENAME).tar.gz: $(BASENAME).html
	tar cfvz $@ *.html $(IMAGE_DIR)/*.*

$(BASENAME).sgml.tar.gz: $(BASENAME).sgml
	tar cvfz $@ *.sgml

$(BASENAME).txt: info
$(BASENAME).html: info

#
# Create JF archives
#
install-work: \
	$(WORK_TEXT)/$(BASENAME).txt \
	$(WORK_SGML)/$(BASENAME)/$(BASENAME).sgml \
	$(WORK_HTML)/$(BASENAME).html

$(WORK_TEXT)/$(BASENAME).txt: $(BASENAME).txt
	mkdir -p $(@D)
	$(INSTALL) $< $@

$(WORK_HTML)/$(BASENAME).html: $(BASENAME).html
	mkdir -p $(@D)
	for i in *.html ; do $(INSTALL) $$i $(@D); done
	mkdir -p $(@D)/$(IMAGE_DIR)
	for i in $(IMAGE_DIR)/*.*; do $(INSTALL) $$i $(@D)/$(IMAGE_DIR); done

$(WORK_SGML)/$(BASENAME)/$(BASENAME).sgml: $(BASENAME).sgml
	mkdir -p $(@D)
	$(INSTALL) *.sgml $(@D)

#
# Install WWW contents
#
ifneq ($(INSTALL_WWW), yes)
install-www:
else
install-www: \
	$(DEST_WWW_TEXT)/$(BASENAME).txt \
	$(DEST_WWW_SGML)/$(BASENAME)/$(BASENAME).sgml \
	$(DEST_WWW_HTML)/$(BASENAME).html

$(DEST_WWW_TEXT)/$(BASENAME).txt: $(BASENAME).txt
	mkdir -p $(@D)
	$(INSTALL) $< $@

$(DEST_WWW_HTML)/$(BASENAME).html: $(BASENAME).html
	mkdir -p $(@D)
	for i in *.html ; do $(INSTALL) $$i $(@D) ; done
	mkdir -p $(@D)/$(IMAGE_DIR)
	for i in $(IMAGE_DIR)/*.*; do $(INSTALL) $$i $(@D)/$(IMAGE_DIR); done
	( cd $(IMAGE_DIR); tar cf - --exclude=CVS ./linux ) \
	| ( cd $(@D)/$(IMAGE_DIR); tar xpf - )

$(DEST_WWW_SGML)/$(BASENAME)/$(BASENAME).sgml: $(BASENAME).sgml
	mkdir -p $(@D)
	$(INSTALL) *.sgml $(@D)
endif

#
# Install FTP contents
#
ifneq ($(INSTALL_FTP), yes)
install-ftp:
else
install-ftp: \
	$(DEST_FTP_TEXT)/$(BASENAME).gz \
	$(DEST_FTP_HTML)/$(BASENAME).tar.gz \
	$(DEST_FTP_SGML)/$(BASENAME).sgml.tar.gz

$(DEST_FTP_TEXT)/$(BASENAME).gz: $(BASENAME).txt
	mkdir -p $(@D)
	$(INSTALL) $< $(@:.gz=)
	rm -f $@
	gzip $(@:.gz=)
$(DEST_FTP_HTML)/$(BASENAME).tar.gz: $(BASENAME).tar.gz
	mkdir -p $(@D)
	$(INSTALL) $< $@
$(DEST_FTP_SGML)/$(BASENAME).sgml.tar.gz: $(BASENAME).sgml.tar.gz
	mkdir -p $(@D)
	$(INSTALL) $< $@
endif

#
# Install LDP translations for mirror
#
ifneq ($(INSTALL_LDP), yes)
install-ldp-mirror:
else
ifneq ($(KIND), LDP-TRANS)
install-ldp-mirror: 
	@echo Non-LDP document. Skipped.
else
install-ldp-mirror: \
	$(DEST_LDP_TEXT)/$(BASENAME).gz \
	$(DEST_LDP_HTML)/$(BASENAME).tar.gz \
	$(DEST_LDP_SGML)/$(BASENAME).sgml.tar.gz

$(DEST_LDP_TEXT)/$(BASENAME).gz: $(BASENAME).txt
	mkdir -p $(@D)
	$(INSTALL) $< $(@:.gz=)
	rm -f $@
	gzip $(@:.gz=)

$(DEST_LDP_HTML)/$(BASENAME).tar.gz: $(BASENAME).tar.gz
	mkdir -p $(@D)
	$(INSTALL) $< $@

$(DEST_LDP_SGML)/$(BASENAME).sgml.tar.gz: $(BASENAME).sgml.tar.gz
	mkdir -p $(@D)
	$(INSTALL) $< $@
endif
endif

#
clean:
	rm -f $(BASENAME).txt *.html
	rm -f $(BASENAME).tar.gz
	rm -f $(BASENAME).sgml.tar.gz