summaryrefslogtreecommitdiff
path: root/ext/-test-/win32/dln/extconf.rb
blob: f2ea8d55d8710bf375a123c53fb86a90050b2177 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
if /mswin|mingw/ =~ RUBY_PLATFORM
  $objs = ["dlntest.o"]
  $cleanfiles << "$(topdir)/dlntest.dll"
  config_string('cleanobjs') {|t| $cleanfiles.concat(t.gsub(/\$\*/, 'dlntest').split)}

  create_makefile("-test-/win32/dln")
  m = File.read("Makefile")
  m.sub!(/^OBJS =.*/) {$&+" dlntest.#{$LIBEXT}"}
  open("Makefile", "wb") do |mf|
    mf.puts m, "\n"
    sodir = $extout ? "$(RUBYARCHDIR)/" : ''
    mf.print "#{sodir}$(DLLIB): dlntest.#{$LIBEXT}"
    mf.puts
    mf.puts "dlntest.#{$LIBEXT}: $(topdir)/dlntest.dll"
    mf.puts
    mf.puts depend_rules("$(topdir)/dlntest.dll: libdlntest.o libdlntest.def")
    mf.puts "\t$(ECHO) linking shared-object $(@F)\n"
    mf.print "\t-$(Q)$(RM) $@\n"
    mf.print "\t-$(Q)$(MAKEDIRS) $(@D)\n" if $extout
    link_so = LINK_SO.gsub(/^/, "\t$(Q) ")
    link_so.sub!(/\$\(LOCAL_LIBS\)/, '')
    link_so.gsub!(/-\$\(arch\)/, '')
    link_so.gsub!(/:.so=/, ':.dll=')
    link_so.sub!(/\$\(OBJS\)/, "libdlntest.#{$OBJEXT}")
    link_so.sub!(/\$\(DEFFILE\)/, "$(srcdir)/libdlntest.def")
    mf.puts link_so
    mf.puts
  end
end