SHELL = /bin/sh # V=0 quiet, V=1 verbose. other values don't work. V = 0 Q1 = $(V:1=) Q = $(Q1:0=@) n=$(NULLCMD) ECHO1 = $(V:1=@$n) ECHO = $(ECHO1:0=@echo) #### Start of system configuration section. #### srcdir = ./src topdir = /C/Ruby193/include/ruby-1.9.1 hdrdir = /C/Ruby193/include/ruby-1.9.1 arch_hdrdir = C:/Ruby193/include/ruby-1.9.1/$(arch) VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby DESTDIR = C: prefix = C:/Ruby193 rubylibprefix = $(libdir)/$(RUBY_BASE_NAME) exec_prefix = $(prefix) vendorhdrdir = $(rubyhdrdir)/vendor_ruby sitehdrdir = $(rubyhdrdir)/site_ruby rubyhdrdir = $(includedir)/$(RUBY_BASE_NAME)-$(ruby_version) vendordir = $(rubylibprefix)/vendor_ruby sitedir = $(rubylibprefix)/site_ruby 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 = C:/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 rubylibdir = $(rubylibprefix)/$(ruby_version) archdir = $(rubylibdir)/$(arch) sitelibdir = $(sitedir)/$(ruby_version) sitearchdir = $(sitelibdir)/$(sitearch) vendorlibdir = $(vendordir)/$(ruby_version) vendorarchdir = $(vendorlibdir)/$(sitearch) NULLCMD = : 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-omit-frame-pointer debugflags = -g warnflags = -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration CFLAGS = $(cflags) -DWIN32 -DUNICODE -D_UNICODE -finline-functions -Wall -W -Wpointer-arith -Wunused-parameter -pedantic -std=c99 -funit-at-a-time -mfpmath=sse -msse2 $(ARCH_FLAG) INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir) DEFS = CPPFLAGS = -DHAVE_PNG_H -DHAVE_ZLIB_H -DFD_SETSIZE=2048 $(DEFS) $(cppflags) CXXFLAGS = $(CFLAGS) $(cxxflags) ldflags = -L. -Wl,--no-undefined dldflags = -Wl,--enable-auto-image-base,--enable-auto-import $(DEFFILE) 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_BASE_NAME = ruby RUBY_INSTALL_NAME = ruby RUBY_SO_NAME = msvcrt-ruby191 arch = i386-mingw32 sitearch = i386-msvcrt ruby_version = 1.9.1 ruby = C:/Ruby193/bin/ruby RUBY = $(ruby) 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 #### End of system configuration section. #### preload = libpath = . $(libdir) LIBPATH = -L. -L$(libdir) DEFFILE = $(TARGET)-$(arch).def CLEANFILES = mkmf.log $(DEFFILE) DISTCLEANFILES = DISTCLEANDIRS = extout = extout_prefix = target_prefix = LOCAL_LIBS = LIBS = $(LIBRUBYARG_SHARED) -lopengl32 -lSDL_ttf -lSDL_mixer -lshell32 -lws2_32 -limagehlp SRCS = audio.c color.c font.c game.c input.c starruby.c texture.c OBJS = audio.o color.o font.o game.o input.o starruby.o texture.o TARGET = starruby 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-rb clean-rb-default:: clean-rb:: clean-so:: clean: clean-so clean-rb-default clean-rb @-$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES) distclean-rb-default:: distclean-rb:: distclean-so:: distclean: clean distclean-so distclean-rb-default distclean-rb @-$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log @-$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES) @-$(RMDIRS) $(DISTCLEANDIRS) 2> /dev/null || true realclean: distclean install: install-so install-rb install-so: $(RUBYARCHDIR) install-so: $(RUBYARCHDIR)/$(DLLIB) $(RUBYARCHDIR)/$(DLLIB): $(DLLIB) @-$(MAKEDIRS) $(@D) $(INSTALL_PROG) $(DLLIB) $(@D) 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 starruby libraries $(RUBYARCHDIR): $(Q) $(MAKEDIRS) $@ 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 .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) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $< .m.o: $(ECHO) compiling $(<) $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $< $(DLLIB): $(DEFFILE) $(OBJS) Makefile $(ECHO) linking shared-object $(DLLIB) @-$(RM) $(@) $(Q) $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS) $(DEFFILE): $(ECHO) generating $(@) $(Q) $(RUBY) -e "puts 'EXPORTS', '' + 'Init_$(TARGET)'.sub(/\..*\z/,'')" > $@ $(OBJS): $(hdrdir)/ruby.h $(hdrdir)/ruby/defines.h $(arch_hdrdir)/ruby/config.h