From: nobu.nakada@... Date: 2003-01-26T09:11:12+09:00 Subject: [ruby-dev:19440] Re: recursive dryrun (Re: [ruby-cvs] ruby, ruby/ext, ruby/win32, ruby/bcc32: * instruby.rb, ext/extmk.rb, Makefile.in, win32/Makefile.sub,) なかだです。 At Sun, 26 Jan 2003 08:27:54 +0900, Akinori MUSHA wrote: > > GNU makeだと$(MAKE)は直接含まれていないと特別な意味を持たないよ > >  この特別な意味って何でしたっけ。 +と同じです。 As a special feature, using the variable `MAKE' in the commands of a rule alters the effects of the `-t' (`--touch'), `-n' (`--just-print'), or `-q' (`--question') option. Using the `MAKE' variable has the same effect as using a `+' character at the beginning of the command line. *Note Instead of Executing the Commands: Instead of Execution. > > + def $mflags.set?(flag) > > + grep(Regexp.new("^-(?!-).*%c"%flag, /nmake/ =~ $nmake)) {break true} > > + end > >  $nmake は $make でしょうか。それにしてもこの第二引数はマッチ [ruby-dev:19438]でも書いたようにこのコードは間違ってますが(って それでも間違ってるし)、extmk.rbからコピーしたときに$nmakeのnを 取り忘れました。 > すると 0 とかが返るので変な気がします。たぶん意図は > > $nmake == ?m ? true : false > > かな?(Regexp::IGNORECASE/nil の方がはっきりしますが) そういうことです。 >  ただ、直下のコメントに書いてあるように、 MAKEFLAGS にフラグを > くっつけて渡してくるのは nmake だけみたいです。他の環境で引数を > 取るオプションで誤認識したりしないよう、こうするのはどうでしょう。 お任せします。no-install:では-nを渡してるからinstall:では $dryrunは不要、というのでも構わないと思います。 # でもそうすると、ext/以下のMakefileだけ作るということができな # くなるかな。 -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦