From: "Nobuyoshi.Nakada" Date: 2001-03-26T17:30:42+09:00 Subject: [ruby-list:28969] [PATCH] eruby/Makefile.RB on mswin32 なかだです。 # mswin32 棚卸し出血大サービス週間その2。 なんとなく eRuby をコンパイルしてみようとしたところ、mswin32 はカレント以外ではうまくいかないようです。と思ったらカレントで やってもリンクできませんでした。 ただこの (set LIB=...) & cl というやり方、NT4.0 では VC4.0, VC6.0 ともに OK なんですが、9x でも使えるのかどうかが気になり ます。 Index: Makefile.RB =================================================================== RCS file: /home/cvs/ruby/src/eruby/Makefile.RB,v retrieving revision 1.19 diff -u -2 -p -r1.19 Makefile.RB --- Makefile.RB 2000/12/22 02:26:44 1.19 +++ Makefile.RB 2001/03/26 07:51:49 @@ -141,4 +141,12 @@ if PLATFORM =~ /-mswin32/ $LIBERUBY = "$(LIBERUBY_A)" $LIBRUBYARG.gsub!(CONFIG["RUBY_SO_NAME"] + ".lib", CONFIG["LIBRUBY_A"]) + if /nmake/i =~ $make + LD = "(set LIB=$(libdir:/=\\);$(LIB))& $(CC)" + $VPATH = "{$(VPATH)}" + else + LD = "env LIB='$(subst /,\\\\,$(libdir));$(LIB)' $(CC)" + end +else + LD = "$(CC)" end @@ -148,7 +156,9 @@ begin # Generated automatically by Makefile.RB. -VPATH = #{srcdir} +srcdir = #{srcdir} +VPATH = $(srcdir) CC = #{CONFIG["CC"]} AR = #{CONFIG["AR"]} +LD = #{LD} RANLIB = #{CONFIG["RANLIB"]} RUBY_INSTALL_NAME = #{CONFIG["RUBY_INSTALL_NAME"]} @@ -177,5 +187,5 @@ RM = ruby -e "ARGV.each {|f|File.unlink( TARGET = eruby#{CONFIG["EXEEXT"]} -MANPAGE = eruby.1 +MANPAGE = #{srcdir}/eruby.1 MAJOR = #{$MAJOR} @@ -189,9 +199,10 @@ LIBERUBY_ALIASES = #{$LIBERUBY_ALIASES} LIBERUBY = #{$LIBERUBY} LIBERUBYARG = #{$LIBERUBYARG} +.SUFFIXES: .#{$OBJEXT} .c .rd ERUBY_OBJS = eruby.#{$OBJEXT} OBJS = eruby_logo.#{$OBJEXT} eruby_main.#{$OBJEXT} -.c.o: +#{$VPATH}.c.#{$OBJEXT}: $(CC) $(CFLAGS) -c $< @@ -235,16 +246,18 @@ $(LIBERUBY_SO): $(ERUBY_OBJS) $(TARGET): $(OBJS) $(LIBERUBY) - $(CC) $(LDFLAGS) $(XLDFLAGS) $(OBJS) $(LIBERUBYARG) $(LIBRUBYARG) $(LIBS) -o $@ + $(LD) $(LDFLAGS) $(XLDFLAGS) $(OBJS) $(LIBERUBYARG) $(LIBRUBYARG) $(LIBS) -o $@ -$(MANPAGE): eruby.rd - rd2 -r rd/rd2man-lib $< > $@ - $(RUBY) -i -pe 'gsub(/eruby\.rd/, "eruby")' $@ - $(RUBY) -i -ne 'print if ~/.+/' $@ - -eruby_logo.c: eruby_logo.png - ./bin2c eruby_logo.png -eruby.#{$OBJEXT}: eruby.c eruby.h config.h -eruby_logo.#{$OBJEXT}: eruby_logo.c eruby_logo.h -eruby_main.#{$OBJEXT}: eruby_main.c eruby.h eruby_logo.h +$(MANPAGE): #{$VPATH}eruby.rd + +#{$VPATH}.rd#{$VPATH}.1: + $(RUBY) -S rd2 -r rd/rd2man-lib -o $* $< + $(RUBY) -i~ -ne 'print if ~/.+/' $@ + $(RM) $@~ + +eruby_logo.c: #{$VPATH}eruby_logo.png + $(srcdir)/bin2c $(srcdir)/eruby_logo.png +eruby.#{$OBJEXT}: #{$VPATH}eruby.c #{$VPATH}eruby.h config.h +eruby_logo.#{$OBJEXT}: #{$VPATH}eruby_logo.c #{$VPATH}eruby_logo.h +eruby_main.#{$OBJEXT}: #{$VPATH}eruby_main.c #{$VPATH}eruby.h #{$VPATH}eruby_logo.h EOMF ensure -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦