#--------------------------------------------------------------------- # Copyright (C) GFD Dennou Club, 2005-2007. 2012, All rights reserved. #--------------------------------------------------------------------- #= Makefile for generating HTML from RD with Ruby 1.9 # # Please see the next URL: # http://www.gfd-dennou.org/library/dcmodel/doc/TEBIKI.dcmodel-rd-guide.htm # # * Author # * Yasuhiro MORIKAWA # * Masaki ISHIWATARI # * Shin-ya MURAKAMI # * History # * 2012/02/07 (Shin-ya MURAKAMI) drastic overhaul for Ruby 1.9 # * 2007/01/16 (Yasuhiro MORIKAWA) $KCODE is specified by $OUTCODE. # * 2007/01/01 (Yasuhiro MORIKAWA) RDOPTSJA and RDOPTSEN are added. # * 2006/11/08 (Yasuhiro MORIKAWA) RUBYLIB become valid. # * 2006/08/04 (Yasuhiro MORIKAWA) "RDHindexParser" is modified. # * 2006/06/22 (Yasuhiro MORIKAWA) "DEFAULTMSGJA", "DEFAULTMSGEN" are added. # * 2006/06/21 (Yasuhiro MORIKAWA) "HtmFileJA", "HtmFileEN" are added. # * 2006/06/20 (Yasuhiro MORIKAWA) "H1ToTitle" is modified # * 2006/06/04 (Yasuhiro MORIKAWA) Modified for XHTML 1.0 Transitional # * 2006/06/03 (Yasuhiro MORIKAWA) Modified for XHTML 1.0 Transitional # * 2006/03/19 (Yasuhiro MORIKAWA) Method of insert header, footer is modified # * 2006/03/19 (Yasuhiro MORIKAWA) "HEADERJA" and "HEADEREN" are added # * 2006/03/09 (Yasuhiro MORIKAWA) sample of "FOOTERJA" and "FOOTEREN" are modified # * 2006/03/08 (Yasuhiro MORIKAWA) "rd2html-ext-lib" can be used # * 2006/02/07 (Yasuhiro MORIKAWA) User parser is added # * 2006/01/04 (Yasuhiro MORIKAWA) Target "clean" and "clean.all" are modified # * 2006/01/02 (Yasuhiro MORIKAWA) Target "clean" and "clean.all" are modified # * 2005/11/06 (Yasuhiro MORIKAWA) Default CSS is modified to local site # * 2005/11/06 (Yasuhiro MORIKAWA) URL of reference of rdtool is updated # * 2005/10/12 (Yasuhiro MORIKAWA) JAPart and ENPart is modified # * 2005/10/12 (Yasuhiro MORIKAWA) FOOTEREN is modified # * 2005/10/10 (Yasuhiro MORIKAWA) default FOOTERs are modified # * 2005/08/14 (Yasuhiro MORIKAWA) Link to rd-hindex.rb page is added # * 2005/08/10 (Yasuhiro MORIKAWA) Ruby and RD Path checker is added # * 2005/08/10 (Yasuhiro MORIKAWA) RD Header Index inserter is added # * 2005/08/10 (Yasuhiro MORIKAWA) Date parser is response to multi-language # * 2005/08/10 (Yasuhiro MORIKAWA) Date parser is added # * 2005/07/07 (Yasuhiro MORIKAWA) "SUBDIRS" is deleted # * 2005/07/07 (Yasuhiro MORIKAWA) "chmod" and "chgrp" are added # * 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 # # * Note # * タブは4スペース、埋め込みRubyコードは2スペースでインデント。 # # ###################################################################### # #== Settings # # [JAPANESE] 各種設定項目 INCLUDEFILE = include $(INCLUDEFILE) # Include file (optional) # [JA] インクルードファイル (任意) GEN_JA = 1 # 1: generate html in Japanese, 0: don't generate (necessary) GEN_EN = 1 # 1: generate html in English, 0: Not Create (necessary) # [JA] 1 ならば対応する言語のhtmlファイルを作成, # 0 ならば作成しない (選択必須) INDEX_DEPTH = 0 # a depth of levels of the headers for an index # at the header of the html file (selective) # 0:None, 1-3:Header Level # Note: CSS item is "ol.rd2html_hindex [ul ..]" # # [JA] ヘッダに生成する目次のレベルの深さ (選択必須) # 0:作成しない, 1-3:ヘッダレベルに対応 # 備考: CSS 設定は "ol.rd2html_hindex [ul ..]" で HEADER_JA = " \ [ English | Japanese ] \ [ 地球流体電脳倶楽部 ] /\ dcmodel /\ SIGEN.htm ] \ " # [JA] JA 用 HTML ヘッダー (任意) # $(HTML_FILE_JA) は RD から生成される日本語 HTML ファイル名 # $(HTML_FILE_EN) は RD から生成される英語 HTML ファイル名 HEADER_EN = " \ [ English | Japanese ] \ [ GFD Dennou Club /\ dcmodel ] \ " # # HTML Header (optional) # # $(HTML_FILE_JA) is Japanese HTML file generated from RD # # $(HTML_FILE_EN) is English HTML file generated from RD FOOTER_JA = "
\ dcmodel Development Group / GFD Dennou Staff \ \"dcstaff&\#64;&\#103;&\#102;&\#100;-dennou.org\"
\ Last modified: $(MOD_DATE_JA) ($(MOD_USER_JA)), Since: $(CREATED_DATE_JA) ($(AUTHOR_JA))
" # [JA] JA 用 HTML フッター (任意) # $(MOD_DATE_JA) は電脳 RD 書式で書かれた最上部の日時 # (JA part 部分内) # $(CREATED_DATE_JA) は電脳 RD 書式で書かれた最下部の日時 # (JA part 部分内) FOOTER_EN = "
\ dcmodel Development Group / GFD Dennou Staff \ \"dcstaff&\#64;&\#103;&\#102;&\#100;-dennou.org\"
\ Last modified: $(MOD_DATE_EN), Since: $(CREATED_DATE_EN)
" # HTML Footer (optional) # $(MOD_DATE_EN) is date in Dennou RD on top (EN part) # $(CREATED_DATE_EN) is date in Dennou RD at bottom (EN part) CSS = /library/dcmodel/htmltools/dcmodel.css # Cascading Style Sheet (necessary) # [JA] カスケーディングスタイルシート (必須) FILE_MODE = 664 # Set mode (optional) # [JA] chmod する値 (任意) GOWNER = # Set group (optional) # [JA] chgrp する値 (任意) RUBY = ruby1.9 # Path to Ruby (necessary) # [JA] Ruby へのパス (必須) RD2 = rd2 # Path to rdtool (necessary) # [JA] rdtool へのパス (必須) RD2LIB = rd/rd2html-lib # 標準ライブラリ #RD2LIB = rd/rd2html-ext-lib # 拡張ライブラリ # Library of rd2html (selective) # [JA] rd2html ライブラリ (選択) RUBYLIB = # Set "RUBYLIB" (optional) # [JA] "RUBYLIB" の設定 (任意) #RDOPTS = RDOPTS = --ref-extension --native-inline #RDOPTS = -r rd/head-filter --ref-extension --native-inline --head-element # Additional rd2 options (optional) # [JA] rd2 コマンドへのオプション (任意) RDOPTS_JA = --with-part=HTMLJA:html # Additional rd2 options for JA (optional) # [JA] JA 用 rd2 コマンドへのオプション (任意) RDOPTS_EN = --with-part=HTMLEN:html # Additional rd2 options for EN (optional) # [JA] EN 用 rd2 コマンドへのオプション (任意) INPUT_FILE_ENCODING = EUC-JP # input file encoding of charset (necessary) # [JA] rd2 コマンドの CHARSET (必須) # オリジナルのrdファイルのエンコーディング OUTPUT_FILE_ENCODING = EUC-JP # 出力HTMLファイルのエンコーディング OUTCODE = euc # character encoding of output [jis|euc|sjis|utf8] (necessary) # [JA] rd 出力時のエンコーディング [jis|euc|sjis|utf8] (必須) # rd向けのエンコーディング指定(村上注) # OUTPUF_FILE_ENCODINGと本質的に同じにしておく必要がある。 DEFAULT_MSG_JA = "No Document" # [JA] JA 用 デフォルトメッセージ (任意) # RD 内に内容が無い場合に書き出されるメッセージ. DEFAULT_MSG_EN = "No Document" # Default Messages (optional) # Messages that are output when no content # is included in RD file. # End Settings [JA] 設定項目ここまで ###################################################################### #== Commands # common command line strings RD2HTML = $(RD2) -r $(RD2LIB) --with-css=$(CSS) --with-part=HTML:html \ --out-code=$(OUTCODE) --html-charset=$(INPUT_FILE_ENCODING) $(RDOPTS) RD2JA = $(RD2HTML) --with-part=JA:rd $(RDOPTS_JA) # option for Japanese RD2EN = $(RD2HTML) --with-part=EN:rd $(RDOPTS_EN) # option for English RM = /bin/rm RMOPT = -f #RM = echo # for debug #RMOPT = # for debug INDEX_TEMP_FNAME = rdhindex.tmp ###################################################################### #== Filenames to which it is assumed to be used in HEADER**, FOOTER** # HTML_FILE_JA = $(<:.rd=.html) HTML_FILE_EN = $(<:.rd=.html.en) ###################################################################### #== Ruby liner script for replacing title in HTML # # [JA] 引数 (1 つのみ) にとった HTML ファイルの一番上の

の内容を # 読み取り, その内容を タグに代入する. # # さらに, <title>〜 (非アスキー文字を含む可能性あり) が # 指定よりも # 前に含まれる場合, この 2 つを入れ替える. # H1_TO_TITLE = $(RUBY) -E $(OUTPUT_FILE_ENCODING) \ -e 'body = open(ARGV[0]){|io| io.read}; \ mod = if /\(.*?)\<\/h1.*?\>/ =~ body then ;\ h1 = $$1 ;\ h1 = h1.chomp.gsub!(/\<.*?\>/){|s| s = ""} ;\ body.gsub(/\.*<\/title\>/, \ "\" + h1 + "<\/title\>") ;\ else ;\ body ;\ end ;\ \ if /(\.*?\<\/title\>)/im =~ mod then ;\ title = $$1 ;\ title_reg = Regexp.new(title.gsub(/\(/, "\\(").gsub(/\)/, "\\)"), 5) ;\ if /(\)/im =~ mod then ;\ meta = $$1 ;\ meta_reg = Regexp.new(meta.gsub(/\(/, "\\(").gsub(/\)/, "\\)"), 5) ;\ mod.sub!(meta_reg, title) ;\ mod.sub!(title_reg, meta) ;\ end ;\ end ;\ \ open(ARGV[0], "w"){|io| io.puts(mod)}' #H1_TO_TITLE = echo -n "" ###################################################################### #== Ruby liner script for add header to existing HTML # # [JA] 1 つ目の引数にとった文字列を既存の HTML ファイル (2 つめの引数) # の タグ直下に挿入する. # INSERT_HEADER = $(RUBY) -E $(OUTPUT_FILE_ENCODING) \ -e 'body = open(ARGV[1]){|io| io.read}; \ mod = body.sub(/\/, \ "\\n\n" + ARGV[0].to_s) ;\ open(ARGV[1], "w"){|io| io.puts(mod)}' ###################################################################### #== Ruby liner script for add footer to existing HTML # # [JA] 1 つ目の引数にとった文字列を既存の HTML ファイル (2 つめの引数) # の タグ直下に挿入する. # INSERT_FOOTER = $(RUBY) -E $(OUTPUT_FILE_ENCODING) \ -e 'body = open(ARGV[1]){|io| io.read}; \ mod = body.sub(/\<\/body\>/, ARGV[0].to_s + "\n\n\") ;\ open(ARGV[1], "w"){|io| io.puts(mod)}' ###################################################################### #== Ruby liner script for getting JA part # # [JA] 引数 (複数可) または引数が無い場合標準入力から得られた文字列 # のうち, =begin, =end でくくられた部分と =begin JA, =end JA # でくくられた部分を標準出力に出力する. # PART_JA = $(RUBY) -E $(INPUT_FILE_ENCODING) \ -e 'inbody = false ;\ puts "=begin" ;\ lines = readlines ;\ lines.each {|line| ;\ inbody = true if /^=begin\s*$$/ =~ line ;\ inbody = true if /^=begin\s+JA\s*$$/ =~ line ;\ inbody = false if /^=end\s*$$/ =~ line ;\ inbody = false if /^=end\s+JA\s*$$/ =~ line ;\ next if line =~ /^=(begin|end)\s*$$/ ;\ next if line =~ /^=(begin\s+|end\s+)\w+\s*$$/ ;\ if inbody then; puts line; end ;\ } ;\ puts "=end"' ###################################################################### #== Ruby liner script for getting EN part # # [JA] 引数 (複数可) または引数が無い場合標準入力から得られた文字列 # のうち, =begin, =end でくくられた部分と =begin EN, =end EN # でくくられた部分を標準出力に出力する. # PART_EN = $(RUBY) -E $(INPUT_FILE_ENCODING) \ -e 'inbody = false ;\ puts "=begin" ;\ lines = readlines ;\ lines.each {|line| ;\ inbody = true if /^=begin\s*$$/ =~ line ;\ inbody = true if /^=begin\s+EN\s*$$/ =~ line ;\ inbody = false if /^=end\s*$$/ =~ line ;\ inbody = false if /^=end\s+EN\s*$$/ =~ line ;\ next if line =~ /^=(begin|end)\s*$$/ ;\ next if line =~ /^=(begin\s+|end\s+)\w+\s*$$/ ;\ if inbody then; puts line; end ;\ } ;\ puts "=end"' ###################################################################### #== Ruby liner script for getting creation date in Dennou RD format # # [JA] 引数 (複数可) または引数が無い場合標準入力から得られた文字列 # のうち, "* 2005/08/10 (氏名) ..." のように記述される一連の # 文字列から一番下の日付を標準出力に出力する. # PARSER_CREATED_DATE = $(RUBY) -E $(INPUT_FILE_ENCODING) \ -e 'lines = readlines ;\ start = false ;\ date = "" ;\ lines.each{ |line| ;\ if /^\s*\#*\s*\*\s+(\d{2,4}[\/\-]\d{1,2}[\/\-]\d{1,2})\s+\(.+\)/ =~ line then ;\ start = true ;\ date = $$1 ;\ else ;\ if start then; print date; exit; end ;\ end ;\ } ;\ print "unknown"; exit' CREATED_DATE_JA = `$(PART_JA) $< | $(PARSER_CREATED_DATE)` CREATED_DATE_EN = `$(PART_EN) $< | $(PARSER_CREATED_DATE)` ###################################################################### #== Ruby liner script for getting update date in Dennou RD format # # [JA] 引数 (複数可) または引数が無い場合標準入力から得られた文字列 # のうち, "* 2005/08/10 (氏名) ..." のように記述される一連の # 文字列から一番上の日付を標準出力に出力する. PARSE_MODIFIED_DATE = $(RUBY) -E $(INPUT_FILE_ENCODING) \ -e 'lines = readlines ;\ lines.each{ |line| ;\ if /^\s*\#*\s*\*\s+(\d{2,4}[\/\-]\d{1,2}[\/\-]\d{1,2})\s+\(.+\)/ =~ line then ;\ print $$1; exit ;\ end ;\ } ;\ print "unknown"; exit' MOD_DATE_JA = `$(PART_JA) $< | $(PARSE_MODIFIED_DATE)` MOD_DATE_EN = `$(PART_EN) $< | $(PARSE_MODIFIED_DATE)` ###################################################################### #== Ruby liner script for getting creator in Dennou RD format # # [JA] 引数 (複数可) または引数が無い場合標準入力から得られた文字列 # のうち, "* 2005/08/10 (氏名) ..." のように記述される一連の # 文字列から一番下の氏名を標準出力に出力する. # PARSE_AUTHOR = $(RUBY) -E $(INPUT_FILE_ENCODING) \ -e 'lines = readlines ;\ start = false ;\ user = "" ;\ lines.each{ |line| ;\ if /^\s*\#*\s*\*\s+(\d{2,4}[\/\-]\d{1,2}[\/\-]\d{1,2})\s+\((.+?)\)/ =~ line then ;\ start = true ;\ user = $$2 ;\ else ;\ if start then; print user; exit; end ;\ end ;\ } ;\ print "unknown"; exit' AUTHOR_JA = `$(PART_JA) $< | $(PARSE_AUTHOR)` AUTHOR_EN = `$(PART_EN) $< | $(PARSE_AUTHOR)` ###################################################################### #== Ruby liner script for getting updater in Dennou RD format # # [JA] 引数 (複数可) または引数が無い場合標準入力から得られた文字列 # のうち, "* 2005/08/10 (氏名) ..." のように記述される一連の # 文字列から一番上の氏名を標準出力に出力する. PARSE_EDITOR = $(RUBY) -E $(INPUT_FILE_ENCODING) \ -e 'lines = readlines ;\ lines.each{ |line| ;\ if /^\s*\#*\s*\*\s+(\d{2,4}[\/\-]\d{1,2}[\/\-]\d{1,2})\s+\((.+?)\)/ =~ line then ;\ print $$2; exit ;\ end ;\ } ;\ print "unknown"; exit' MOD_USER_JA = `$(PART_JA) $< | $(PARSE_EDITOR)` MOD_USER_EN = `$(PART_EN) $< | $(PARSE_EDITOR)` ###################################################################### #== Ruby liner script for getting RD Header index # # Reference: http://www.rubyist.net/~rubikitch/computer/rd-hindex/ # # [JA] 標準入力内から目次を取得し, 1 つ目の引数をファイル名として # 受け取り, そのファイル内の == より前に目次を組み込んだ内容を # 標準出力に出力する. # 2 つ目の引数は目次として取り込むヘッダのレベルの指定である. # 1 〜 3 までが有効で, 0 や文字列などが代入された場合, # 目次は組み込まれない. # 3 つ目の引数は part の指定で, もしも本文が JA part 内にある場合は # JA などと指定する. # なお, 目次の ol には =begin HTML
    # =end HTMLというタグが入る. # # 参考: http://www.rubyist.net/~rubikitch/computer/rd-hindex/ # RD_HL_TO_INDEX = $(RUBY) -E $(INPUT_FILE_ENCODING) \ -e 'rdlevel = ARGV[1].to_i ;\ rdhindex = "=begin HTML\n
    \n
      \n=end HTML\n" ;\ rdhindex << "=begin\n" ;\ while line = $$stdin.gets ;\ next if line =~ /^=(begin|end)$$/ ;\ if line =~ /^(=+)\s*(.+)$$/ ;\ level = $$1.length ; content = $$2 ;\ next if level == 1 || level > rdlevel + 1 ;\ rdhindex << " " * (level - 2) + "* ((<\"\#{content}\">))\n" ;\ end ;\ end ;\ rdhindex << "=end\n" ;\ rdhindex << "=begin HTML\n
    \n
    \n=end HTML\n" ;\ rdhindex = "" if rdlevel == 0 ;\ \ body = open(ARGV[0]){|io| io.read};\ lines = body.split(/\n/) ;\ finished = false; inbody = false; \ results = "" ; rdbegin = "" ; rdend = "" ;\ lines.each{ |line| ;\ if line =~ /^=begin\s*$$/ ;\ rdbegin = "=begin" ; rdend = "=end" ;\ elsif line =~ /^=begin\s+(.*)/ ;\ rdbegin = "=begin " + $$1 ; rdend = "=end " + $$1 ;\ end ;\ if line =~ /^=end$$/ || line =~ /^=end\s+(.*)/ ;\ rdbegin = "" ; rdend = "" ;\ end ;\ inbody = true if line =~ /^=begin\s*$$/ || line =~ /^=begin\s+\#{ARGV[2]}$$/ ;\ inbody = false if line =~ /^=end(\s+\w+)*$$/ ;\ if /^==\s+/ =~ line && !(finished) && inbody then ;\ results << rdend + "\n" + rdhindex + "\n" + rdbegin + "\n" ;\ results << line + "\n" ;\ finished = true ;\ else ;\ results << line + "\n" ;\ end ;\ } ;\ puts results' ###################################################################### #== Postprocessor for RD_HL_TO_INDEX # # [JA] RD_HL_TO_INDEX で XHTML 1.0 Transitional 違反となってしまう部分を # 修正する後処理スクリプト. # 標準入力から HTML を受け取り, 違反項目を置換した後, # その結果を標準出力へ返す. INDEX_POSTPROCESSOR = $(RUBY) -E $(OUTPUT_FILE_ENCODING) \ -e 'lines = readlines ;\ exit! if lines.empty? ;\ body = lines.join ;\ body.gsub!(/(\
      )\s*\/im, "\\1" ) ;\ body.gsub!(/\<\/ul\>\s*\<\/ol\>/im, "\") ;\ puts body' ###################################################################### #== Search "rd" files __AllRDFiles__ = $(wildcard *.rd) RDFiles = $(__AllRDFiles__:%.v.rd=) GenerateFiles = $(HTML_JA) $(HTML_EN) HTML_JA = $(RDFiles:.rd=.html) HTML_EN = $(RDFiles:.rd=.html.en) ########################################################################## #== Rules # all: pathcheck $(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 "" %.html: %.rd @if [ $(GEN_JA) != 0 ]; then \ echo -n "Insert RD Header Index Level:$(INDEX_DEPTH) Part:JA ..";\ $(PART_JA) $< | $(RD_HL_TO_INDEX) $< "$(INDEX_DEPTH)" JA > $<.$(INDEX_TEMP_FNAME) ;\ echo ' done';\ echo "$(RD2JA) $< > $@ || $(RM) $(RMOPT) $@";\ RUBYLIB=$(RUBYLIB) $(RD2JA) $<.$(INDEX_TEMP_FNAME) | \ $(INDEX_POSTPROCESSOR) > $@ || $(RM) $(RMOPT) $@ ;\ $(RM) $(RMOPT) $<.$(INDEX_TEMP_FNAME) ;\ if [ ! -f $@ ] && [ ! X$(DEFAULT_MSG_JA) = X"" ]; then \ echo -e "=begin JA\n$(DEFAULT_MSG_JA)\n=end" | $(RD2JA) > $@ || \ $(RM) $(RMOPT) $@ ;\ fi ;\ if [ -f $@ ]; then \ echo -n 'Copy

      to ..' ; $(H1_TO_TITLE) $@ ; echo 'done';\ if [ ! X$(HEADER_JA) = X"" ]; then \ echo -n 'Add header ..' ;\ $(INSERT_HEADER) $(HEADER_JA) $@ ;\ echo ' done';\ fi ;\ if [ ! X$(FOOTER_JA) = X"" ]; then \ echo -n 'Add footer ..' ;\ $(INSERT_FOOTER) $(FOOTER_JA) $@ ;\ echo ' done';\ fi ;\ fi ;\ if [ -f $@ ] && [ ! X$(FILE_MODE) = X"" ]; then \ echo -n chmod $(FILE_MODE) $@ .. ; chmod $(FILE_MODE) $@ ; echo ' done';\ fi ;\ if [ -f $@ ] && [ ! X$(GOWNER) = X"" ]; then \ echo -n chgrp $(GOWNER) $@ .. ; chgrp $(GOWNER) $@ ; echo ' done';\ fi ;\ fi %.html.en: %.rd @if [ $(GEN_EN) != 0 ]; then \ echo -n "Insert RD Header Index Level:$(INDEX_DEPTH) Part:EN .." ;\ $(PART_EN) $< | $(RD_HL_TO_INDEX) $< "$(INDEX_DEPTH)" EN > $<.$(INDEX_TEMP_FNAME).en ;\ echo ' done';\ echo "$(RD2EN) $< > $@ || $(RM) $(RMOPT) $@" ;\ RUBYLIB=$(RUBYLIB) $(RD2EN) $<.$(INDEX_TEMP_FNAME).en | \ $(INDEX_POSTPROCESSOR) > $@ || $(RM) $(RMOPT) $@ ;\ $(RM) $(RMOPT) $<.$(INDEX_TEMP_FNAME).en ;\ if [ ! -f $@ ] && [ ! X$(DEFAULT_MSG_EN) = X"" ]; then \ echo -e "=begin EN\n$(DEFAULT_MSG_EN)\n=end" | $(RD2EN) > $@ || $(RM) $(RMOPT) $@ ;\ fi ;\ if [ -f $@ ]; then \ echo -n 'Copy <h1> to <title> ..'; $(H1_TO_TITLE) $@ ; echo ' done';\ if [ ! X$(HEADER_EN) = X"" ]; then \ echo -n 'Add header ..' ;\ $(INSERT_HEADER) $(HEADER_EN) $@ ;\ echo ' done';\ fi ;\ if [ ! X$(FOOTER_EN) = X"" ]; then \ echo -n 'Add footer ..' ;\ $(INSERT_FOOTER) $(FOOTER_EN) $@ ;\ echo ' done';\ fi ;\ fi ;\ if [ -f $@ ] && [ ! X$(FILE_MODE) = X"" ]; then \ echo -n chmod $(FILE_MODE) $@ .. ; chmod $(FILE_MODE) $@ ; echo ' done';\ fi ;\ if [ -f $@ ] && [ ! X$(GOWNER) = X"" ]; then \ echo -n chgrp $(GOWNER) $@ .. ; chgrp $(GOWNER) $@ ; echo ' done';\ fi ;\ fi clean: @if [ ! X"$(wildcard *~ *.bak)" = X"" ]; then \ echo $(RM) $(wildcard *~ *.bak) ;\ $(RM) $(wildcard *~ *.bak) ;\ fi clean.all: clean @if [ ! X"$(wildcard $(GenerateFiles))" = X"" ]; then \ echo $(RM) $(wildcard $(GenerateFiles)) ;\ $(RM) $(wildcard $(GenerateFiles)) ;\ fi pathcheck: @echo -n "Ruby path check .. " @if ! which $(RUBY) > /dev/null 2>&1 ; then \ echo "" ;\ echo " Error: RUBY=\"$(RUBY)\" is invalid path." ;\ echo "" ;\ echo " Please install Ruby (see http://www.ruby-lang.org), " ;\ echo " or set valid path." ;\ echo "" ;\ exit 1 ;\ fi @echo " done" @echo -n "RD2 command path check .. " @if ! which $(RD2) > /dev/null 2>&1 ; then \ echo "" ;\ echo " Error: RD=\"$(RD2)\" is invalid path." ;\ echo "" ;\ echo " Please install RDtool (see http://raa.ruby-lang.org/project/rdtool/), " ;\ echo " or set valid path." ;\ echo "" ;\ exit 1 ;\ fi @echo " done" ###################################################################### #== Mode setting for Emacs # Local Variables: # mode: makefile # tab-width: 4 # End: