mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
ext/-test-/win32/dln: add depend file
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49152 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
53d9cb7304
commit
7b4520374d
2 changed files with 26 additions and 22 deletions
9
ext/-test-/win32/dln/depend
Normal file
9
ext/-test-/win32/dln/depend
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
$(TARGET_SO): $(DLNTESTLIB)
|
||||||
|
|
||||||
|
$(DLNTESTLIB): $(topdir)/dlntest.dll
|
||||||
|
|
||||||
|
$(topdir)/dlntest.dll: libdlntest.o libdlntest.def
|
||||||
|
$(ECHO) linking shared-object $(@F)
|
||||||
|
-$(Q)$(RM) $@
|
||||||
|
-$(Q)$(MAKEDIRS) $(@D)
|
||||||
|
$(Q) $(DLNTEST_LDSHARED)
|
|
@ -1,37 +1,32 @@
|
||||||
if $mingw or $mswin
|
if $mingw or $mswin
|
||||||
|
dlntestlib = "dlntest.#{$LIBEXT}"
|
||||||
|
$LOCAL_LIBS << " #{dlntestlib}"
|
||||||
|
$srcs = ["dlntest.c"]
|
||||||
$objs = ["dlntest.o"]
|
$objs = ["dlntest.o"]
|
||||||
testdll = "$(topdir)/dlntest.dll"
|
testdll = "$(topdir)/dlntest.dll"
|
||||||
$cleanfiles << testdll
|
$cleanfiles << testdll
|
||||||
$cleanfiles << "dlntest.#{$LIBEXT}"
|
$cleanfiles << "dlntest.#{$LIBEXT}"
|
||||||
config_string('cleanobjs') {|t| $cleanfiles.concat(t.gsub(/\$\*/, 'dlntest').split)}
|
config_string('cleanobjs') {|t| $cleanfiles.concat(t.gsub(/\$\*/, 'dlntest').split)}
|
||||||
|
|
||||||
create_makefile("-test-/win32/dln")
|
create_makefile("-test-/win32/dln") do |m|
|
||||||
m = File.read("Makefile")
|
m << "\n""DLNTESTLIB = #{dlntestlib}\n"
|
||||||
dlntestlib = "dlntest.#{$LIBEXT}"
|
|
||||||
m.sub!(/^OBJS =.*/) {"#{$&} #{dlntestlib}"}
|
|
||||||
FileUtils.rm_f(RbConfig.expand(testdll.dup))
|
|
||||||
open("Makefile", "wb") do |mf|
|
|
||||||
mf.puts m, "\n"
|
|
||||||
sodir = $extout ? "$(RUBYARCHDIR)/" : ''
|
|
||||||
mf.print "#{sodir}$(DLLIB): #{dlntestlib}"
|
|
||||||
mf.puts
|
|
||||||
mf.puts "#{dlntestlib}: $(topdir)/dlntest.dll"
|
|
||||||
mf.puts
|
|
||||||
if $mingw
|
if $mingw
|
||||||
mf.puts "$(topdir)/dlntest.dll: DEFFILE := $(srcdir)/libdlntest.def"
|
m << "\n"
|
||||||
mf.puts "$(topdir)/dlntest.dll: DLDFLAGS += -Wl,--out-implib,#{dlntestlib}"
|
m << "$(topdir)/dlntest.dll: DEFFILE := $(srcdir)/libdlntest.def\n"
|
||||||
|
m << "$(topdir)/dlntest.dll: DLDFLAGS += -Wl,--out-implib,$(DLNTESTLIB)\n"
|
||||||
end
|
end
|
||||||
mf.puts depend_rules("$(topdir)/dlntest.dll: libdlntest.o libdlntest.def")
|
m
|
||||||
mf.puts "\t$(ECHO) linking shared-object $(@F)\n"
|
end
|
||||||
mf.print "\t-$(Q)$(RM) $@\n"
|
m = File.read("Makefile")
|
||||||
mf.print "\t-$(Q)$(MAKEDIRS) $(@D)\n" if $extout
|
m.sub!(/(.*)\$\(DLNTEST_LDSHARED\)$/) do
|
||||||
link_so = LINK_SO.gsub(/^/, "\t$(Q) ")
|
pre = $1
|
||||||
|
link_so = LINK_SO.gsub(/^/) {pre}
|
||||||
link_so.sub!(/\$\(LOCAL_LIBS\)/, '')
|
link_so.sub!(/\$\(LOCAL_LIBS\)/, '')
|
||||||
link_so.gsub!(/-\$\(arch\)/, '')
|
link_so.gsub!(/-\$\(arch\)/, '')
|
||||||
link_so.gsub!(/:.so=/, ':.dll=')
|
link_so.gsub!(/:.so=/, ':.dll=')
|
||||||
link_so.sub!(/\$\(OBJS\)/, "libdlntest.#{$OBJEXT}")
|
link_so.sub!(/\$\(OBJS\)/, "libdlntest.#{$OBJEXT}")
|
||||||
link_so.sub!(/\$\(DEFFILE\)/, "$(srcdir)/libdlntest.def")
|
link_so.sub!(/\$\(DEFFILE\)/, "$(srcdir)/libdlntest.def")
|
||||||
mf.puts link_so
|
link_so
|
||||||
mf.puts
|
end and File.binwrite("Makefile", m)
|
||||||
end
|
FileUtils.rm_f(RbConfig.expand(testdll.dup))
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue