|  | 
 | 
  
    |  | SHELL = /bin/sh
 | 
  
    |  | 
 | 
  
    |  | # V=0 quiet, V=1 verbose.  other values don't work.
 | 
  
    |  | V = 0
 | 
  
    |  | Q1 = $(V:1=)
 | 
  
    |  | Q = $(Q1:0=@)
 | 
  
    |  | ECHO1 = $(V:1=@ :)
 | 
  
    |  | ECHO = $(ECHO1:0=@ echo)
 | 
  
    |  | NULLCMD = :
 | 
  
    |  | 
 | 
  
    |  | #### Start of system configuration section. ####
 | 
  
    |  | top_srcdir = $(topdir)/.
 | 
  
    |  | srcdir = $(top_srcdir)/ext/win32
 | 
  
    |  | topdir = ../..
 | 
  
    |  | hdrdir = $(top_srcdir)/include
 | 
  
    |  | arch_hdrdir = $(extout)/include/$(arch)
 | 
  
    |  | PATH_SEPARATOR = :
 | 
  
    |  | VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
 | 
  
    |  | RUBYLIB =
 | 
  
    |  | RUBYOPT = -
 | 
  
    |  | prefix = $(DESTDIR)/usr/local
 | 
  
    |  | rubysitearchprefix = $(rubylibprefix)/$(sitearch)
 | 
  
    |  | rubyarchprefix = $(rubylibprefix)/$(arch)
 | 
  
    |  | rubylibprefix = $(libdir)/$(RUBY_BASE_NAME)
 | 
  
    |  | exec_prefix = $(prefix)
 | 
  
    |  | vendorarchhdrdir = $(vendorhdrdir)/$(sitearch)
 | 
  
    |  | sitearchhdrdir = $(sitehdrdir)/$(sitearch)
 | 
  
    |  | rubyarchhdrdir = $(rubyhdrdir)/$(arch)
 | 
  
    |  | vendorhdrdir = $(rubyhdrdir)/vendor_ruby
 | 
  
    |  | sitehdrdir = $(rubyhdrdir)/site_ruby
 | 
  
    |  | rubyhdrdir = $(includedir)/$(RUBY_VERSION_NAME)
 | 
  
    |  | vendorarchdir = $(vendorlibdir)/$(sitearch)
 | 
  
    |  | vendorlibdir = $(vendordir)/$(ruby_version)
 | 
  
    |  | vendordir = $(rubylibprefix)/vendor_ruby
 | 
  
    |  | sitearchdir = $(sitelibdir)/$(sitearch)
 | 
  
    |  | sitelibdir = $(sitedir)/$(ruby_version)
 | 
  
    |  | sitedir = $(rubylibprefix)/site_ruby
 | 
  
    |  | rubyarchdir = $(rubylibdir)/$(arch)
 | 
  
    |  | rubylibdir = $(rubylibprefix)/$(ruby_version)
 | 
  
    |  | sitearchincludedir = $(includedir)/$(sitearch)
 | 
  
    |  | archincludedir = $(includedir)/$(arch)
 | 
  
    |  | sitearchlibdir = $(libdir)/$(sitearch)
 | 
  
    |  | archlibdir = $(libdir)/$(arch)
 | 
  
    |  | ridir = $(datarootdir)/$(RI_BASE_NAME)
 | 
  
    |  | mandir = $(datarootdir)/man
 | 
  
    |  | localedir = $(datarootdir)/locale
 | 
  
    |  | libdir = $(exec_prefix)/lib
 | 
  
    |  | psdir = $(docdir)
 | 
  
    |  | pdfdir = $(docdir)
 | 
  
    |  | dvidir = $(docdir)
 | 
  
    |  | htmldir = $(docdir)
 | 
  
    |  | infodir = $(datarootdir)/info
 | 
  
    |  | docdir = $(datarootdir)/doc/$(PACKAGE)
 | 
  
    |  | oldincludedir = $(DESTDIR)/usr/include
 | 
  
    |  | includedir = $(prefix)/include
 | 
  
    |  | localstatedir = $(prefix)/var
 | 
  
    |  | sharedstatedir = $(prefix)/com
 | 
  
    |  | sysconfdir = $(prefix)/etc
 | 
  
    |  | datadir = $(datarootdir)
 | 
  
    |  | datarootdir = $(prefix)/share
 | 
  
    |  | libexecdir = $(exec_prefix)/libexec
 | 
  
    |  | sbindir = $(exec_prefix)/sbin
 | 
  
    |  | bindir = $(exec_prefix)/bin
 | 
  
    |  | archdir = $(rubyarchdir)
 | 
  
    |  | 
 | 
  
    |  | 
 | 
  
    |  | CC = gcc
 | 
  
    |  | CXX = g++
 | 
  
    |  | LIBRUBY = lib$(RUBY_SO_NAME).dll.a
 | 
  
    |  | LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
 | 
  
    |  | LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME)
 | 
  
    |  | LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static
 | 
  
    |  | empty =
 | 
  
    |  | OUTFLAG = -o $(empty)
 | 
  
    |  | COUTFLAG = -o $(empty)
 | 
  
    |  | CSRCFLAG = $(empty)
 | 
  
    |  | 
 | 
  
    |  | RUBY_EXTCONF_H = extconf.h
 | 
  
    |  | cflags   = $(optflags) $(debugflags) $(warnflags)
 | 
  
    |  | cxxflags = $(optflags) $(debugflags) $(warnflags)
 | 
  
    |  | optflags = -O3 -fno-fast-math
 | 
  
    |  | debugflags = -ggdb3
 | 
  
    |  | warnflags = -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat -Wsuggest-attribute=noreturn -Wsuggest-attribute=format -Wno-maybe-uninitialized
 | 
  
    |  | CCDLFLAGS = 
 | 
  
    |  | CFLAGS   = $(CCDLFLAGS) $(cflags) $(ARCH_FLAG)
 | 
  
    |  | INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir) -I$(srcdir)
 | 
  
    |  | DEFS     = 
 | 
  
    |  | CPPFLAGS = -DRUBY_EXTCONF_H=\"$(RUBY_EXTCONF_H)\" -D_XOPEN_SOURCE -D_GNU_SOURCE $(DEFS) $(cppflags)
 | 
  
    |  | CXXFLAGS = $(CCDLFLAGS) $(cxxflags) $(ARCH_FLAG)
 | 
  
    |  | ldflags  = -L. -fstack-protector
 | 
  
    |  | dldflags =  -Wl,--enable-auto-image-base,--enable-auto-import 
 | 
  
    |  | ARCH_FLAG = 
 | 
  
    |  | DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG)
 | 
  
    |  | LDSHARED = $(CC) -shared $(if $(filter-out -g -g0,$(debugflags)),,-s)
 | 
  
    |  | LDSHAREDXX = $(CXX) -shared $(if $(filter-out -g -g0,$(debugflags)),,-s)
 | 
  
    |  | AR = ar
 | 
  
    |  | EXEEXT = .exe
 | 
  
    |  | 
 | 
  
    |  | RUBY_INSTALL_NAME = $(RUBY_BASE_NAME)
 | 
  
    |  | RUBY_SO_NAME = ruby240
 | 
  
    |  | RUBYW_INSTALL_NAME = $(RUBYW_BASE_NAME)
 | 
  
    |  | RUBY_VERSION_NAME = $(RUBY_BASE_NAME)-$(ruby_version)
 | 
  
    |  | RUBYW_BASE_NAME = rubyw
 | 
  
    |  | RUBY_BASE_NAME = ruby
 | 
  
    |  | 
 | 
  
    |  | arch = x86_64-cygwin
 | 
  
    |  | sitearch = $(arch)
 | 
  
    |  | ruby_version = 2.4.0
 | 
  
    |  | ruby = $(topdir)/miniruby.exe -I'$(topdir)' -I'$(top_srcdir)/lib' -I'$(extout)/$(arch)' -I'$(extout)/common'
 | 
  
    |  | RUBY = $(ruby)
 | 
  
    |  | ruby_headers = $(hdrdir)/ruby.h $(hdrdir)/ruby/backward.h $(hdrdir)/ruby/ruby.h $(hdrdir)/ruby/defines.h $(hdrdir)/ruby/missing.h $(hdrdir)/ruby/intern.h $(hdrdir)/ruby/st.h $(hdrdir)/ruby/subst.h $(arch_hdrdir)/ruby/config.h $(RUBY_EXTCONF_H)
 | 
  
    |  | 
 | 
  
    |  | RM = rm -f
 | 
  
    |  | RM_RF = $(RUBY) -run -e rm -- -rf
 | 
  
    |  | RMDIRS = rmdir --ignore-fail-on-non-empty -p
 | 
  
    |  | MAKEDIRS = /usr/bin/mkdir -p
 | 
  
    |  | INSTALL = /usr/bin/install -c
 | 
  
    |  | INSTALL_PROG = $(INSTALL) -m 0755
 | 
  
    |  | INSTALL_DATA = $(INSTALL) -m 644
 | 
  
    |  | COPY = cp
 | 
  
    |  | TOUCH = exit >
 | 
  
    |  | 
 | 
  
    |  | #### End of system configuration section. ####
 | 
  
    |  | 
 | 
  
    |  | preload = 
 | 
  
    |  | 
 | 
  
    |  | libpath = . $(topdir)
 | 
  
    |  | LIBPATH =  -L. -L$(topdir)
 | 
  
    |  | DEFFILE = 
 | 
  
    |  | 
 | 
  
    |  | CLEANFILES = mkmf.log
 | 
  
    |  | DISTCLEANFILES = 
 | 
  
    |  | DISTCLEANDIRS = 
 | 
  
    |  | 
 | 
  
    |  | extout = $(topdir)/.ext
 | 
  
    |  | extout_prefix = $(extout)$(target_prefix)/
 | 
  
    |  | target_prefix = 
 | 
  
    |  | LOCAL_LIBS = 
 | 
  
    |  | LIBS = $(LIBRUBYARG_SHARED)  -lpthread -ldl  
 | 
  
    |  | ORIG_SRCS = 
 | 
  
    |  | SRCS = $(ORIG_SRCS) 
 | 
  
    |  | OBJS = 
 | 
  
    |  | HDRS = $(srcdir)/extconf.h
 | 
  
    |  | LOCAL_HDRS = 
 | 
  
    |  | TARGET = 
 | 
  
    |  | TARGET_NAME = 
 | 
  
    |  | TARGET_ENTRY = Init_$(TARGET_NAME)
 | 
  
    |  | DLLIB = 
 | 
  
    |  | EXTSTATIC = 
 | 
  
    |  | STATIC_LIB = 
 | 
  
    |  | 
 | 
  
    |  | TIMESTAMP_DIR = $(extout)/.timestamp
 | 
  
    |  | BINDIR        = $(extout)/bin
 | 
  
    |  | RUBYCOMMONDIR = $(extout)/common
 | 
  
    |  | RUBYLIBDIR    = $(RUBYCOMMONDIR)$(target_prefix)
 | 
  
    |  | RUBYARCHDIR   = $(extout)/$(arch)$(target_prefix)
 | 
  
    |  | HDRDIR        = $(extout)/include/ruby$(target_prefix)
 | 
  
    |  | ARCHHDRDIR    = $(extout)/include/$(arch)/ruby$(target_prefix)
 | 
  
    |  | 
 | 
  
    |  | TARGET_SO     = $(RUBYARCHDIR)/$(DLLIB)
 | 
  
    |  | CLEANLIBS     = $(RUBYARCHDIR)/$(TARGET).so 
 | 
  
    |  | CLEANOBJS     = *.o  *.bak
 | 
  
    |  | 
 | 
  
    |  | all:    install
 | 
  
    |  | static: all
 | 
  
    |  | .PHONY: all install static install-so install-rb
 | 
  
    |  | .PHONY: clean clean-so clean-static clean-rb
 | 
  
    |  | 
 | 
  
    |  | clean-static::
 | 
  
    |  | clean-rb-default::
 | 
  
    |  | clean-rb::
 | 
  
    |  | clean-so::
 | 
  
    |  | clean: clean-so clean-static clean-rb-default clean-rb
 | 
  
    |  | 		-$(Q)$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES) .*.time
 | 
  
    |  | 
 | 
  
    |  | distclean-rb-default::
 | 
  
    |  | distclean-rb::
 | 
  
    |  | distclean-so::
 | 
  
    |  | distclean-static::
 | 
  
    |  | distclean: clean distclean-so distclean-static distclean-rb-default distclean-rb
 | 
  
    |  | 		-$(Q)$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log
 | 
  
    |  | 		-$(Q)$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES)
 | 
  
    |  | 		-$(Q)$(RMDIRS) $(DISTCLEANDIRS) 2> /dev/null || true
 | 
  
    |  | 
 | 
  
    |  | realclean: distclean
 | 
  
    |  | install: install-so install-rb
 | 
  
    |  | 
 | 
  
    |  | install-so: Makefile
 | 
  
    |  | install-rb: pre-install-rb do-install-rb install-rb-default
 | 
  
    |  | install-rb-default: pre-install-rb-default do-install-rb-default
 | 
  
    |  | pre-install-rb: Makefile
 | 
  
    |  | pre-install-rb-default: Makefile
 | 
  
    |  | do-install-rb:
 | 
  
    |  | do-install-rb-default:
 | 
  
    |  | pre-install-rb-default: $(TIMESTAMP_DIR)/.RUBYLIBDIR.-.win32.time
 | 
  
    |  | do-install-rb-default: $(RUBYLIBDIR)/win32/importer.rb
 | 
  
    |  | $(RUBYLIBDIR)/win32/importer.rb: $(srcdir)/lib/win32/importer.rb $(TIMESTAMP_DIR)/.RUBYLIBDIR.-.win32.time
 | 
  
    |  | 	$(Q) $(COPY) $(srcdir)/lib/win32/importer.rb $(@D)
 | 
  
    |  | clean-rb-default::
 | 
  
    |  | 	-$(Q)$(RM) $(RUBYLIBDIR)/win32/importer.rb
 | 
  
    |  | do-install-rb-default: $(RUBYLIBDIR)/win32/registry.rb
 | 
  
    |  | $(RUBYLIBDIR)/win32/registry.rb: $(srcdir)/lib/win32/registry.rb $(TIMESTAMP_DIR)/.RUBYLIBDIR.-.win32.time
 | 
  
    |  | 	$(Q) $(COPY) $(srcdir)/lib/win32/registry.rb $(@D)
 | 
  
    |  | clean-rb-default::
 | 
  
    |  | 	-$(Q)$(RM) $(RUBYLIBDIR)/win32/registry.rb
 | 
  
    |  | do-install-rb-default: $(RUBYLIBDIR)/win32/resolv.rb
 | 
  
    |  | $(RUBYLIBDIR)/win32/resolv.rb: $(srcdir)/lib/win32/resolv.rb $(TIMESTAMP_DIR)/.RUBYLIBDIR.-.win32.time
 | 
  
    |  | 	$(Q) $(COPY) $(srcdir)/lib/win32/resolv.rb $(@D)
 | 
  
    |  | clean-rb-default::
 | 
  
    |  | 	-$(Q)$(RM) $(RUBYLIBDIR)/win32/resolv.rb
 | 
  
    |  | do-install-rb-default: $(RUBYLIBDIR)/win32/resolv9x.rb
 | 
  
    |  | $(RUBYLIBDIR)/win32/resolv9x.rb: $(srcdir)/lib/win32/resolv9x.rb $(TIMESTAMP_DIR)/.RUBYLIBDIR.-.win32.time
 | 
  
    |  | 	$(Q) $(COPY) $(srcdir)/lib/win32/resolv9x.rb $(@D)
 | 
  
    |  | clean-rb-default::
 | 
  
    |  | 	-$(Q)$(RM) $(RUBYLIBDIR)/win32/resolv9x.rb
 | 
  
    |  | do-install-rb-default: $(RUBYLIBDIR)/win32/sspi.rb
 | 
  
    |  | $(RUBYLIBDIR)/win32/sspi.rb: $(srcdir)/lib/win32/sspi.rb $(TIMESTAMP_DIR)/.RUBYLIBDIR.-.win32.time
 | 
  
    |  | 	$(Q) $(COPY) $(srcdir)/lib/win32/sspi.rb $(@D)
 | 
  
    |  | clean-rb-default::
 | 
  
    |  | 	-$(Q)$(RM) $(RUBYLIBDIR)/win32/sspi.rb
 | 
  
    |  | pre-install-rb-default: $(TIMESTAMP_DIR)/.RUBYLIBDIR.time
 | 
  
    |  | do-install-rb-default: $(RUBYLIBDIR)/Win32API.rb
 | 
  
    |  | $(RUBYLIBDIR)/Win32API.rb: $(srcdir)/lib/Win32API.rb $(TIMESTAMP_DIR)/.RUBYLIBDIR.time
 | 
  
    |  | 	$(Q) $(COPY) $(srcdir)/lib/Win32API.rb $(@D)
 | 
  
    |  | clean-rb-default::
 | 
  
    |  | 	-$(Q)$(RM) $(RUBYLIBDIR)/Win32API.rb
 | 
  
    |  | pre-install-rb-default:
 | 
  
    |  | 	$(Q1:0=@$(MAKE) -q do-install-rb-default || )$(ECHO1:0=echo) installing default  libraries
 | 
  
    |  | clean-rb-default::
 | 
  
    |  | 	-$(Q)$(RM) $(TIMESTAMP_DIR)/.RUBYLIBDIR.-.win32.time
 | 
  
    |  | 	-$(Q)$(RMDIRS) $(RUBYLIBDIR)/win32 2> /dev/null || true
 | 
  
    |  | 	-$(Q)$(RM) $(TIMESTAMP_DIR)/.RUBYLIBDIR.time
 | 
  
    |  | 	-$(Q)$(RMDIRS) $(RUBYLIBDIR) 2> /dev/null || true
 | 
  
    |  | $(TIMESTAMP_DIR)/.RUBYLIBDIR.-.win32.time:
 | 
  
    |  | 	$(Q) $(MAKEDIRS) $(@D) $(RUBYLIBDIR)/win32
 | 
  
    |  | 	$(Q) $(TOUCH) $@
 | 
  
    |  | $(TIMESTAMP_DIR)/.RUBYLIBDIR.time:
 | 
  
    |  | 	$(Q) $(MAKEDIRS) $(@D) $(RUBYLIBDIR)
 | 
  
    |  | 	$(Q) $(TOUCH) $@
 | 
  
    |  | 
 | 
  
    |  | site-install: site-install-so site-install-rb
 | 
  
    |  | site-install-so: install-so
 | 
  
    |  | site-install-rb: install-rb
 | 
  
    |  | 
 |