diff options
Diffstat (limited to 'ext/extmk.rb.in')
-rw-r--r-- | ext/extmk.rb.in | 31 |
1 files changed, 11 insertions, 20 deletions
diff --git a/ext/extmk.rb.in b/ext/extmk.rb.in index e0e4569870..e8dc56604f 100644 --- a/ext/extmk.rb.in +++ b/ext/extmk.rb.in @@ -1,7 +1,7 @@ #! /usr/local/bin/ruby $".push 'mkmf.rb' #" -require 'find' +load '../lib/find.rb' if ARGV[0] == 'static' $force_static = TRUE @@ -319,7 +319,7 @@ clean:; @rm -f *.o *.so *.sl realclean: clean ", target, - if $static then "o" else "@DLEXT@" end, $dots, $dots + if $static then "a" else "@DLEXT@" end, $dots, $dots mfile.printf "\ @@ -335,7 +335,13 @@ install: install_rb(mfile) mfile.printf "\n" - if !$static && "@DLEXT@" != "o" + if $static + mfile.printf "\ +$(TARGET): $(OBJS) + @AR@ cru $(TARGET) $(OBJS) + @-@RANLIB@ $(LIBRUBY) 2> /dev/null || true +" + elsif "@DLEXT@" != "o" mfile.printf "\ $(TARGET): $(OBJS) $(LDSHARED) $(DLDFLAGS) -o $(TARGET) $(OBJS) $(LOCAL_LIBS) $(LIBS) @@ -346,26 +352,11 @@ $(TARGET): $(OBJS) $(TARGET): $(OBJS) ar cru $(TARGET) $(OBJS) " - elsif PLATFORM =~ "-nextstep" - mfile.printf "\ -$(TARGET): $(OBJS) - cc -r $(CFLAGS) -o $(TARGET) $(OBJS) -" - elsif PLATFORM =~ "-openstep" + elsif PLATFORM =~ "-nextstep" || PLATFORM =~ "-openstep" || PLATFORM =~ "-rhapsody" mfile.printf "\ $(TARGET): $(OBJS) cc -r $(CFLAGS) -o $(TARGET) $(OBJS) " - elsif PLATFORM =~ "-rhapsody" - mfile.printf "\ -$(TARGET): $(OBJS) - cc -r $(CFLAGS) -o $(TARGET) $(OBJS) -" - elsif $static - mfile.printf "\ -$(TARGET): $(OBJS) - ld -r -o $(TARGET) $(OBJS) -" else mfile.printf "\ $(TARGET): $(OBJS) @@ -505,7 +496,7 @@ exit if $install or $clean $extinit = "" unless $extinit if $extlist.size > 0 for s,t in $extlist - f = format("%s/%s.o", s, t) + f = format("%s/%s.a", s, t) if File.exist?(f) $extinit += format("\ \tInit_%s();\n\ |