diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2023-04-21 15:34:01 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2023-04-21 21:28:08 +0900 |
commit | 39bbbd767d6465080c6e1d6ba0da98c2762eedc6 (patch) | |
tree | 300db6663b831a13465bcdac774e84ee2acc5892 /win32 | |
parent | 94a418d0bb6c1740801c9fd5a646a2683c5f8260 (diff) | |
download | ruby-39bbbd767d6465080c6e1d6ba0da98c2762eedc6.tar.gz |
Add rubyspec-capiext on mswin
Diffstat (limited to 'win32')
-rw-r--r-- | win32/Makefile.sub | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/win32/Makefile.sub b/win32/Makefile.sub index ea3b50c4ea..15e821cf43 100644 --- a/win32/Makefile.sub +++ b/win32/Makefile.sub @@ -1377,3 +1377,33 @@ loadpath: verconf.h @$(CPP) $(XCFLAGS) $(CPPFLAGS) $(srcdir)/loadpath.c | \ sed -e '1,/^const char ruby_initial_load_paths/d;/;/,$$d' \ -e '/^^ /!d;s/ *"\\\\0"$$//;s/" *"//g' + +RUBYSPEC_CAPIEXT_SRCDIR = $(srcdir)/$(RUBYSPEC_CAPIEXT) +RUBYSPEC_CAPIEXT_DEPS = $(RUBYSPEC_CAPIEXT_SRCDIR)/rubyspec.h $(RUBY_H_INCLUDES) $(LIBRUBY) +RUBYSPEC_CAPIEXT_EXTS = + +!if [echo>rubyspec-capiext.mk RUBYSPEC_CAPIEXT_EXTS = \] +!else if [for %I in ($(RUBYSPEC_CAPIEXT_SRCDIR)\*_spec.c) do \ + @echo. $$(RUBYSPEC_CAPIEXT)/%~nI.so \>>rubyspec-capiext.mk] +!else if [echo. $$(empty)>>rubyspec-capiext.mk] +!else +! include rubyspec-capiext.mk +! if [del rubyspec-capiext.mk > nul] +! endif +!endif + +$(RUBYSPEC_CAPIEXT_EXTS): $(RUBYSPEC_CAPIEXT_DEPS) +rubyspec-capiext: $(RUBYSPEC_CAPIEXT_EXTS) + @ $(NULLCMD) + +{$(RUBYSPEC_CAPIEXT_SRCDIR)}.c{$(RUBYSPEC_CAPIEXT)}.so: + $(ECHO) building $(@F) + $(Q)$(MAKEDIRS) $(@D) + $(Q)echo> $*.def EXPORTS + $(Q)echo>> $*.def Init_$(*F) + $(Q)$(LDSHARED) -Fe$(@) $(INCFLAGS) $(CFLAGS) $(CPPFLAGS) $< $(LIBRUBYARG) -link $(DLDFLAGS) $(LIBS) $(LOCAL_LIBS) -implib:$*.lib -pdb:$*.pdb -def:$*.def + $(Q)$(LDSHARED_0) + $(Q)$(LDSHARED_1) + $(Q)$(LDSHARED_2) + +exts: rubyspec-capiext |