RUBY=ruby
DOCTMP=doc-tmp

all:

doc: doc-stamp
	test -d $(DOCTMP) || mkdir $(DOCTMP)
	ln -s ../ $(DOCTMP)/rdoc
	RUBYLIB=./$(DOCTMP) \
	    $(RUBY) ./rdoc -U --op doc --title "RDoc-F95 Documentations" \
	    --charset euc-jp --inline-source --line-numbers \
	    --main README.ja \
	    README README.ja README.org *.rb */*.rb */*/*.rb || eval "rm $< $(DOCTMP)/rdoc ; rmdir $(DOCTMP) ; false"
	if [ -f doc/rdoc-style.css ] ; then \
	    echo '' >> doc/rdoc-style.css ;\
	    echo 'img{vertical-align: middle;}' >> doc/rdoc-style.css ;\
	    echo '' >> doc/rdoc-style.css ;\
	fi
	rm $< $(DOCTMP)/rdoc
	rmdir $(DOCTMP)

doc-stamp:
	touch $@

clean:
	test "`find . -name '*~'`" = "" || rm `find . -name '*~'`
	test -f doc-stamp || rm doc-stamp

clean-doc:
	test ! -d doc || rm -rf -v doc

patch:
	if [ ! -d patch_dir ] ; then \
	    mkdir patch_dir ;\
	    cd patch_dir ;\
	    cvs -d :pserver:anonymous@cvs.ruby-lang.org:/src login ;\
	    cvs -z4 -d :pserver:anonymous@cvs.ruby-lang.org:/src co ruby ;\
	fi
	cd patch_dir/ruby ; cvs update
	test -L patch_dir/ruby/lib/rdoc-f95 || \
		eval "cd patch_dir/ruby/lib ; ln -s ../../../ rdoc-f95"
	cd patch_dir/ruby ; \
	diff \
		--exclude=rdoc \
		--exclude=parse_c.rb \
		--exclude=parse_rb.rb \
		--exclude=install.rb \
		--exclude=README* \
		--exclude=Makefile \
		--exclude=*~ \
		--exclude=CVS \
		--exclude=patch_dir \
		--exclude=rdoc-cvs.patch \
		--exclude=rdoc-cvs.patch.tmp \
		-Nur lib/rdoc/ lib/rdoc-f95/ > ../../rdoc-cvs.patch.tmp \
		|| true
	sed "s|^diff.*$$|diff -Nur lib/rdoc/ lib/rdoc-`date +%Y-%m-%d`/|" rdoc-cvs.patch.tmp > rdoc-cvs.patch
	rm rdoc-cvs.patch.tmp

clean-patch:
	-rm -v rdoc-cvs.patch.tmp rdoc-cvs.patch
	-rm -v -rf patch_dir/ruby
	-rmdir patch_dir
