SHELL = /bin/sh

# V=0 quiet, V=1 verbose. other values don't work. V = 1 Q1 = $(V:1=) Q = $(Q1:0=@) ECHO1 = $(V:1=@:) ECHO = $(ECHO1:0=@echo)

#### Start of system configuration section. ####

srcdir = . topdir = /usr/include/ruby-2.0.0 hdrdir = /usr/include/ruby-2.0.0 arch_hdrdir = /usr/include/ruby-2.0.0 PATH_SEPARATOR = : VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby prefix = $(DESTDIR)/usr rubysitearchprefix = $(sitearchlibdir)/$(RUBY_BASE_NAME) rubyarchprefix = $(libdir)/$(RUBY_BASE_NAME)/2.0.0 rubylibprefix = $(exec_prefix)/share/$(RUBY_BASE_NAME)/2.0.0 exec_prefix = $(prefix) vendorarchhdrdir = $(sitearchincludedir)/$(RUBY_VERSION_NAME)/vendor_ruby sitearchhdrdir = $(sitearchincludedir)/$(RUBY_VERSION_NAME)/site_ruby rubyarchhdrdir = $(DESTDIR)/usr/include/ruby-2.0.0 vendorhdrdir = $(DESTDIR)/usr/include/ruby-2.0.0/vendor_ruby sitehdrdir = $(DESTDIR)/usr/local/include/ruby-2.0.0 rubyhdrdir = $(DESTDIR)/usr/include/ruby-2.0.0 rubygemsdir = $(DESTDIR)/usr/share/rubygems vendorarchdir = $(DESTDIR)/usr/lib/ruby/vendor_ruby/2.0.0 vendorlibdir = $(vendordir) vendordir = $(DESTDIR)/usr/share/ruby/vendor_ruby sitearchdir = $(DESTDIR)./.gem.20140828-13316-ts3wjy sitelibdir = $(DESTDIR)./.gem.20140828-13316-ts3wjy sitedir = $(DESTDIR)/usr/local/share/ruby/site_ruby rubyarchdir = $(rubyarchprefix) rubylibdir = $(rubylibprefix) 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 = $(DESTDIR)/usr/share/doc/ruby/html infodir = $(datarootdir)/info docdir = $(DESTDIR)/usr/share/doc/ruby oldincludedir = $(DESTDIR)/usr/include includedir = $(prefix)/include localstatedir = $(DESTDIR)/var sharedstatedir = $(prefix)/com sysconfdir = $(DESTDIR)/etc datadir = $(DESTDIR)/usr/share datarootdir = $(DESTDIR)/usr/share libexecdir = $(DESTDIR)/usr/libexec sbindir = $(DESTDIR)/usr/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)

RUBY_EXTCONF_H = cflags = $(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 -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration CCDLFLAGS = CFLAGS = $(CCDLFLAGS) -ggdb -O2 -pipe -Wimplicit-function-declaration -fdebug-prefix-map=/usr/src/ports/ruby-gdk3/ruby-gdk3-2.2.0-1.i686/build=/usr/src/debug/ruby-gdk3-2.2.0-1 -fdebug-prefix-map=/usr/src/ports/ruby-gdk3/ruby-gdk3-2.2.0-1.i686/src/gdk3-2.2.0=/usr/src/debug/ruby-gdk3-2.2.0-1 -fdebug-prefix-map=/usr/src/ports/ruby-gdk3/ruby-gdk3-2.2.0-1.i686/inst/usr/share/gems/gems/gdk3-2.2.0=/usr/src/debug/ruby-gdk3-2.2.0-1 -ggdb -O2 -pipe -Wimplicit-function-declaration -fdebug-prefix-map=/usr/src/ports/ruby-gdk3/ruby-gdk3-2.2.0-1.i686/build=/usr/src/debug/ruby-gdk3-2.2.0-1 -fdebug-prefix-map=/usr/src/ports/ruby-gdk3/ruby-gdk3-2.2.0-1.i686/src/gdk3-2.2.0=/usr/src/debug/ruby-gdk3-2.2.0-1 -Wall -Waggregate-return -Wcast-align -Wextra -Wformat=2 -Winit-self -Wlarger-than-65500 -Wmissing-declarations -Wmissing-format-attribute -Wmissing-include-dirs -Wmissing-noreturn -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpacked -Wp,-D_FORTIFY_SOURCE=2 -Wpointer-arith -Wswitch-default -Wswitch-enum -Wundef -Wunsafe-loop-optimizations -Wwrite-strings -I/usr/share/gems/gems/cairo-1.12.9/ext/cairo -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng15 -D_REENTRANT -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng15 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/gdk-pixbuf-2.0 $(ARCH_FLAG) INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir) -I$(sitearchdir) DEFS = CPPFLAGS = -DHAVE_RB_DEFINE_ALLOC_FUNC -DHAVE_RB_BLOCK_PROC -DHAVE_OBJECT_ALLOCATE -DHAVE_RB_ERRINFO -DRUBY_CAIRO_PLATFORM_WIN32 -DHAVE_RB_CAIRO_H -DHAVE_ST_H -DHAVE_RUBY_ST_H -DRUBY_GDK3_TARGET="" -DRUBY_GDK3_COMPILATION $(DEFS) $(cppflags) CXXFLAGS = $(CCDLFLAGS) -ggdb -O2 -pipe $(ARCH_FLAG) ldflags = -L. -fstack-protector -L/usr/share/gems/gems/glib2-2.2.0/ext/glib2 -L/usr/src/ports/ruby-gdk3/ruby-gdk3-2.2.0-1.i686/inst/usr/share/gems/gems/glib2-2.2.0/ext/glib2 -L/usr/src/ports/ruby-gdk3/ruby-gdk3-2.2.0-1.i686/inst/usr/share/gems/gems/glib2/glib2-2.2.0/ext/glib2 -L/usr/src/ports/ruby-gdk3/ruby-gdk3-2.2.0-1.i686/inst/usr/share/gems/gems/gdk3-2.2.0/ext/gdk3/glib2-2.2.0/ext/glib2 -L/usr/src/ports/ruby-gdk3/ruby-gdk3-2.2.0-1.i686/inst/usr/share/gems/gems/gdk3-2.2.0/ext/gdk3/glib2/glib2-2.2.0/ext/glib2 -L/usr/share/gems/gems/pango-2.2.0/ext/pango -L/usr/src/ports/ruby-gdk3/ruby-gdk3-2.2.0-1.i686/inst/usr/share/gems/gems/pango-2.2.0/ext/pango -L/usr/src/ports/ruby-gdk3/ruby-gdk3-2.2.0-1.i686/inst/usr/share/gems/gems/pango/pango-2.2.0/ext/pango -L/usr/src/ports/ruby-gdk3/ruby-gdk3-2.2.0-1.i686/inst/usr/share/gems/gems/gdk3-2.2.0/ext/gdk3/pango-2.2.0/ext/pango -L/usr/src/ports/ruby-gdk3/ruby-gdk3-2.2.0-1.i686/inst/usr/share/gems/gems/gdk3-2.2.0/ext/gdk3/pango/pango-2.2.0/ext/pango -L/usr/share/gems/gems/gdk_pixbuf2-2.2.0/ext/gdk_pixbuf2 -L/usr/src/ports/ruby-gdk3/ruby-gdk3-2.2.0-1.i686/inst/usr/share/gems/gems/gdk_pixbuf2-2.2.0/ext/gdk_pixbuf2 -L/usr/src/ports/ruby-gdk3/ruby-gdk3-2.2.0-1.i686/inst/usr/share/gems/gems/gdk_pixbuf2/gdk_pixbuf2-2.2.0/ext/gdk_pixbuf2 -L/usr/src/ports/ruby-gdk3/ruby-gdk3-2.2.0-1.i686/inst/usr/share/gems/gems/gdk3-2.2.0/ext/gdk3/gdk_pixbuf2-2.2.0/ext/gdk_pixbuf2 -L/usr/src/ports/ruby-gdk3/ruby-gdk3-2.2.0-1.i686/inst/usr/share/gems/gems/gdk3-2.2.0/ext/gdk3/gdk_pixbuf2/gdk_pixbuf2-2.2.0/ext/gdk_pixbuf2 -L/usr/share/gems/gems/cairo-1.12.9/ext/cairo -L/usr/share/gems/gems/cairo-1.12.9/ext/cairo -L/usr/share/gems/gems/cairo-1.12.9/cairo/ext/cairo -L/usr/src/ports/ruby-gdk3/ruby-gdk3-2.2.0-1.i686/inst/usr/share/gems/gems/gdk3-2.2.0/ext/gdk3/ext/cairo -L/usr/src/ports/ruby-gdk3/ruby-gdk3-2.2.0-1.i686/inst/usr/share/gems/gems/gdk3-2.2.0/ext/gdk3/cairo/ext/cairo

dldflags = -Wl,–export-all-symbols -Wl,–enable-auto-image-base,–enable-auto-import -Wl,–out-implib=libruby-gdk3.a ARCH_FLAG = DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG) LDSHARED = gcc -shared LDSHAREDXX = g++ -shared AR = ar EXEEXT = .exe

RUBY_INSTALL_NAME = ruby RUBY_SO_NAME = ruby200 RUBYW_INSTALL_NAME = RUBY_VERSION_NAME = $(RUBY_BASE_NAME)-$(ruby_version) RUBYW_BASE_NAME = rubyw RUBY_BASE_NAME = ruby

arch = i386-cygwin sitearch = $(arch) ruby_version = ruby = $(bindir)/ruby RUBY = $(ruby) ruby_headers = $(hdrdir)/ruby.h $(hdrdir)/ruby/defines.h $(arch_hdrdir)/ruby/config.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 = . $(libdir) LIBPATH = -L. -L$(libdir) DEFFILE =

CLEANFILES = mkmf.log libruby-gdk3.a DISTCLEANFILES = ruby-gdk3.pc rbgdkkeysyms.h DISTCLEANDIRS =

extout = extout_prefix = target_prefix = LOCAL_LIBS = LIBS = $(LIBRUBYARG_SHARED) -lruby-glib2 -lruby-glib2 -lruby-glib2 -lruby-glib2 -lruby-glib2 -lruby-pango -lruby-pango -lruby-pango -lruby-pango -lruby-pango -lruby-gdk_pixbuf2 -lruby-gdk_pixbuf2 -lruby-gdk_pixbuf2 -lruby-gdk_pixbuf2 -lruby-gdk_pixbuf2 -lruby-cairo -lruby-cairo -lruby-cairo -lruby-cairo -lruby-cairo -lcairo -lgdk-3 -lpango-1.0 -lm -lglib-2.0 -lintl -lgobject-2.0 -lpangocairo-1.0 -lcairo -lpangoft2-1.0 -lfreetype -lfontconfig -lgdk_pixbuf-2.0 -lcairo-gobject -lpthread -lrt -ldl -lcrypt

ORIG_SRCS = init.c rbgdk.c rbgdkatom.c rbgdkcairo.c rbgdkcolor.c rbgdkconst.c rbgdkcursor.c rbgdkdevice.c rbgdkdevicemanager.c rbgdkdisplay.c rbgdkdisplaymanager.c rbgdkdragcontext.c rbgdkevent.c rbgdkgeometry.c rbgdkkeymap.c rbgdkkeyval.c rbgdkpango.c rbgdkpangorenderer.c rbgdkpixbuf.c rbgdkproperty.c rbgdkrectangle.c rbgdkrgb.c rbgdkrgba.c rbgdkscreen.c rbgdkselection.c rbgdkthreads.c rbgdktimecoord.c rbgdkvisual.c rbgdkwindow.c rbgdkwindowattr.c rbgdkx11.c rbgdkx11x11window.c SRCS = $(ORIG_SRCS) init.c rbgdk.c rbgdkatom.c rbgdkcairo.c rbgdkcolor.c rbgdkconst.c rbgdkcursor.c rbgdkdevice.c rbgdkdevicemanager.c rbgdkdisplay.c rbgdkdisplaymanager.c rbgdkdragcontext.c rbgdkevent.c rbgdkgeometry.c rbgdkkeymap.c rbgdkkeyval.c rbgdkpango.c rbgdkpangorenderer.c rbgdkpixbuf.c rbgdkproperty.c rbgdkrectangle.c rbgdkrgb.c rbgdkrgba.c rbgdkscreen.c rbgdkselection.c rbgdkthreads.c rbgdktimecoord.c rbgdkvisual.c rbgdkwindow.c rbgdkwindowattr.c rbgdkx11.c rbgdkx11x11window.c OBJS = init.o rbgdk.o rbgdkatom.o rbgdkcairo.o rbgdkcolor.o rbgdkconst.o rbgdkcursor.o rbgdkdevice.o rbgdkdevicemanager.o rbgdkdisplay.o rbgdkdisplaymanager.o rbgdkdragcontext.o rbgdkevent.o rbgdkgeometry.o rbgdkkeymap.o rbgdkkeyval.o rbgdkpango.o rbgdkpangorenderer.o rbgdkpixbuf.o rbgdkproperty.o rbgdkrectangle.o rbgdkrgb.o rbgdkrgba.o rbgdkscreen.o rbgdkselection.o rbgdkthreads.o rbgdktimecoord.o rbgdkvisual.o rbgdkwindow.o rbgdkwindowattr.o rbgdkx11.o rbgdkx11x11window.o HDRS = $(srcdir)/rbgdk3.h $(srcdir)/rbgdk3conversions.h $(srcdir)/rbgdk3private.h $(srcdir)/rbgdkkeysyms.h TARGET = gdk3 TARGET_NAME = gdk3 TARGET_ENTRY = Init_$(TARGET_NAME) DLLIB = $(TARGET).so EXTSTATIC = STATIC_LIB =

BINDIR = $(bindir) RUBYCOMMONDIR = $(sitedir)$(target_prefix) RUBYLIBDIR = $(sitelibdir)$(target_prefix) RUBYARCHDIR = $(sitearchdir)$(target_prefix) HDRDIR = $(rubyhdrdir)/ruby$(target_prefix) ARCHHDRDIR = $(rubyhdrdir)/$(arch)/ruby$(target_prefix)

TARGET_SO = $(DLLIB) CLEANLIBS = $(TARGET).so CLEANOBJS = *.o *.bak

all: $(DLLIB) static: $(STATIC_LIB) .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: $(DLLIB) ./.RUBYARCHDIR.time

$(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR)
clean-static

-$(Q)$(RM) $(STATIC_LIB)

install-rb: pre-install-rb install-rb-default install-rb-default: pre-install-rb-default pre-install-rb: Makefile pre-install-rb-default: Makefile pre-install-rb-default:

$(ECHO) installing default gdk3 libraries

./.RUBYARCHDIR.time:

$(Q) $(MAKEDIRS) $(RUBYARCHDIR)
$(Q) $(TOUCH) $@

site-install: site-install-so site-install-rb site-install-so: install-so site-install-rb: install-rb

.SUFFIXES: .c .m .cc .mm .cxx .cpp .C .o

.cc.o:

$(ECHO) compiling $(<)
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<

.mm.o:

$(ECHO) compiling $(<)
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<

.cxx.o:

$(ECHO) compiling $(<)
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<

.cpp.o:

$(ECHO) compiling $(<)
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<

.C.o:

$(ECHO) compiling $(<)
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<

.c.o:

$(ECHO) compiling $(<)
$(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $<

.m.o:

$(ECHO) compiling $(<)
$(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $<

$(DLLIB): $(OBJS) Makefile

$(ECHO) linking shared-object $(DLLIB)
-$(Q)$(RM) $(@)
$(Q) $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)

### install-so: install-headers install-headers:

$(INSTALL_DATA) $(srcdir)/rbgdk3.h $(RUBYARCHDIR)
$(INSTALL_DATA) $(srcdir)/rbgdk3conversions.h $(RUBYARCHDIR)

install: install-pc install-pc:

if test -n "$(pkgconfigdir)"; then                      \
  $(MAKEDIRS) $(pkgconfigdir);                          \
  $(INSTALL_DATA) ruby-gdk3.pc $(pkgconfigdir);         \
fi