From: nobu.nakada@... Date: 2001-04-14T22:09:59+09:00 Subject: [ruby-dev:12950] Re: ruby 1.6.4 cannot build on emx なかだです。 At Sat, 14 Apr 2001 12:00:30 +0900, HGF01572@nifty.com wrote: > の部分で、.c.o と .C.o のルールが区別できずオーバーライドされてしまう > ことから、make が通りません。「emx の」というよりは、「emx に移植され > たGNU make の」仕様のような気もしますが。 これって emx だけじゃなくて文字ケースを区別できないファイルシ ステムを使ってる環境すべてなので、個別に対応してたらきりがない ような気がしますが。それとも emx の GNU make が独自に大文字のルー ルを優先するようになってるとかいうことでしょうか。 大体の make は後に書いたルールを優先するようはずなので、.C.o の方を先に持っていったらうまくいったりしないでしょうか。 # とりあえず ext/extmk.rb.in の方だけ。 Index: extmk.rb.in =================================================================== RCS file: /cvs/ruby/src/ruby/ext/extmk.rb.in,v retrieving revision 1.41 diff -u -2 -p -r1.41 extmk.rb.in --- extmk.rb.in 2001/04/03 01:16:14 1.41 +++ extmk.rb.in 2001/04/14 13:07:05 @@ -497,19 +597,24 @@ EOS mfile.printf "\n" - if /mswin32/ !~ RUBY_PLATFORM + unless /nmake/i =~ $make + unless /mswin32/ =~ RUBY_PLATFORM + src = '$<' + else + src = '$(subst /,\\\\,$<)' + end mfile.puts " -.c.@OBJEXT@: - $(CC) $(CFLAGS) $(CPPFLAGS) -c $< - .cc.@OBJEXT@: - $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $< + $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c #{src} .cpp.@OBJEXT@: - $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $< + $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c #{src} .cxx.@OBJEXT@: - $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $< + $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c #{src} .C.@OBJEXT@: - $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $< + $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c #{src} + +.c.@OBJEXT@: + $(CC) $(CFLAGS) $(CPPFLAGS) -c #{src} " - elsif /nmake/i =~ $make + else mfile.print " {$(srcdir)}.c{}.@OBJEXT@: @@ -531,12 +536,4 @@ EOS $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(<:/=\\) " - else - mfile.print " -.c.@OBJEXT@: - $(CC) $(CFLAGS) $(CPPFLAGS) -c $(subst /,\\\\,$<) - -.cc.@OBJEXT@ .cpp.@OBJEXT@ .cxx.@OBJEXT@ .C.@OBJEXT@: - $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(subst /,\\\\,$<) -" end -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦