#--------------------------------------------------------------------- # Copyright (C) GFD Dennou Club, 2005. All rights reserved. #--------------------------------------------------------------------- #= Generate HTML from RD # # * Yasuhiro Morikawa, Masaki Ishiwatari # * 2005/06/23 (Yasuhiro Morikawa) Suffix of JA file is change from "htm.ja" to "htm" # * 2005/06/23 (Yasuhiro Morikawa) Japanese commends are added # * 2005/06/12 (Yasuhiro Morikawa) Create # ###################################################################### # #== Settings # # [JAPANESE] 各種設定項目 INCLUDEFILE = include $(INCLUDEFILE) # Include file (optional) # [JA] インクルードファイル (任意) RUBY = ruby1.8 # Path to Ruby (necessary) # [JA] Ruby へのパス (必須) RD = rd2 # Path to rdtool (necessary) # [JA] rdtool へのパス (必須) RUBYLIB = # Set "RUBYLIB" (optional) # [JA] "RUBYLIB" の設定 (任意) RDOPTS = # Additional rd2 options (optional) # [JA] rd2 コマンドへのオプション (任意) OUTCODE = euc # character encoding of output [jis|euc|sjis] (necessary) # [JA] rd 出力時の文字コード [jis|euc|sjis] (必須) JACODE = EUC-JP # indicate CHARSET as charset [char encoding] (necessary) # [JA] rd2 コマンドで CHARSET としてセットする文字コード (必須) JA = 1 # 1: Create "htm", 0: Not Create (selective) EN = 0 # 1: Create "htm.en", 0: Not Create (selective) # [JA] 1 ならば作成, 0 ならば作成しない (選択必須) # Cascade Style Sheet (necessary) # [JA] カスケードスタイルシートのファイル (必須) CSS = /library/dcmodel/htmltools/dcmodel.css # Directories in which execute "make -f Makefile.rd2html" # recursively. (optional) # [JA] 再帰的 に "make -f Makefile.rd2html" するディレクトリ (任意) SUBDIRS = # End Settings [JA] 設定項目ここまで ###################################################################### #== Commands # General command RD2HTM = rd2 -r rd/rd2html-lib --with-css=$(CSS) --with-part=HTML:html \ --out-code=$(OUTCODE) $(RDOPTS) # For Japanese RD2JA = $(RD2HTM) --html-charset=$(JACODE) --with-part=JA:rd # For English RD2EN = $(RD2HTM) --html-charset=US-ASCII --with-part=EN:rd ###################################################################### #== Ruby liner script for replacing title in HTML H1ToTitle = $(RUBY) -e 'body = open(ARGV[0]){|io| io.read}; \ if /\(.*?)\<\/h1.*?\>/ =~ body then ;\ h1 = $$1 ;\ h1 = h1.chomp.gsub!(/\<.*?\>/){|s| s = ""} ;\ mod = body.gsub(/\.*<\/title\>/, \ "\" + h1 + "<\/title\>") ;\ else ;\ mod = body ;\ end ;\ out = open(ARGV[0], "w"); out.puts(mod) ;\ out.close' ###################################################################### #== Search "rd" files __AllRDFiles__ = $(wildcard *.rd) RDFiles = $(__AllRDFiles__:%.v.rd=) GenerateFiles = $(HtmByJA) $(HtmByEN) HtmByJA = $(RDFiles:.rd=.htm) HtmByEN = $(RDFiles:.rd=.htm.en) ########################################################################## #== Rules # all: $(GenerateFiles) help: @echo "" @echo " This Makefile needs following programs." @echo "" @echo " Ruby " @echo " rdtool " @echo "" @echo "" @echo " make [all] :" @echo " Create HTML files from RD " @echo "" %.htm: %.rd @if [ $(JA) != "0" ] ; then \ echo "$(RD2JA) $< > $@ || rm -f $@" ;\ $(RD2JA) $< > $@ || rm -f $@ ;\ if [ -f $@ ]; then \ echo -n 'Copy

to ..' ; $(H1ToTitle) $@ ; echo 'done' ;\ fi ;\ fi %.htm.en: %.rd @if [ $(EN) != "0" ] ; then \ echo "$(RD2EN) $< > $@ || rm -f $@" ;\ $(RD2EN) $< > $@ || rm -f $@ ;\ if [ -f $@ ]; then \ echo -n 'Copy <h1> to <title> ..' ; $(H1ToTitle) $@ ; echo 'done' ;\ fi ;\ fi clean: -rm *~ *.bak clean.all: clean -rm $(GenerateFiles)