Created
April 17, 2012 21:55
-
-
Save mattconnolly/2409344 to your computer and use it in GitHub Desktop.
mysql2 on max os x lion extension makefile
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 = ../../../../ext/mysql2 | |
topdir = /Users/matt/.rvm/rubies/ruby-1.9.3-p125/include/ruby-1.9.1 | |
hdrdir = /Users/matt/.rvm/rubies/ruby-1.9.3-p125/include/ruby-1.9.1 | |
arch_hdrdir = /Users/matt/.rvm/rubies/ruby-1.9.3-p125/include/ruby-1.9.1/$(arch) | |
VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby | |
prefix = $(DESTDIR)/Users/matt/.rvm/rubies/ruby-1.9.3-p125 | |
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 = $(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 | |
rubylibdir = $(rubylibprefix)/$(ruby_version) | |
archdir = $(rubylibdir)/$(arch) | |
sitelibdir = $(sitedir)/$(ruby_version) | |
sitearchdir = $(sitelibdir)/$(sitearch) | |
vendorlibdir = $(vendordir)/$(ruby_version) | |
vendorarchdir = $(vendorlibdir)/$(sitearch) | |
NULLCMD = : | |
CC = clang | |
CXX = clang++ | |
LIBRUBY = $(LIBRUBY_SO) | |
LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a | |
LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME) | |
LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static | |
OUTFLAG = -o | |
COUTFLAG = -o | |
RUBY_EXTCONF_H = | |
cflags = $(optflags) $(debugflags) $(warnflags) | |
optflags = -O3 | |
debugflags = -ggdb | |
warnflags = -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration | |
CFLAGS = -fno-common $(cflags) -fno-common -pipe $(ARCH_FLAG) | |
INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir) | |
DEFS = | |
CPPFLAGS = -DHAVE_RB_THREAD_BLOCKING_REGION -DHAVE_RB_WAIT_FOR_SINGLE_FD -DHAVE_MYSQL_H -DHAVE_ERRMSG_H -DHAVE_MYSQLD_ERROR_H -I/Users/matt/.rvm/usr/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE $(DEFS) $(cppflags) -I/usr/local/mysql/include -Os -g -fno-common -fno-strict-aliasing -arch x86_64 | |
CXXFLAGS = $(CFLAGS) $(cxxflags) | |
ldflags = -L. | |
dldflags = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -Wl,-flat_namespace | |
ARCH_FLAG = | |
DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG) | |
LDSHARED = $(CC) -dynamic -bundle | |
LDSHAREDXX = $(CXX) -dynamic -bundle | |
AR = ar | |
EXEEXT = | |
RUBY_BASE_NAME = ruby | |
RUBY_INSTALL_NAME = ruby | |
RUBY_SO_NAME = ruby.1.9.1 | |
arch = x86_64-darwin11.3.0 | |
sitearch = $(arch) | |
ruby_version = 1.9.1 | |
ruby = /Users/matt/.rvm/rubies/ruby-1.9.3-p125/bin/ruby | |
RUBY = $(ruby) | |
RM = rm -f | |
RM_RF = $(RUBY) -run -e rm -- -rf | |
RMDIRS = rmdir -p | |
MAKEDIRS = 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) /Users/matt/.rvm/usr/lib | |
LIBPATH = -L. -L$(libdir) -L/Users/matt/.rvm/usr/lib | |
DEFFILE = | |
CLEANFILES = mkmf.log | |
DISTCLEANFILES = | |
DISTCLEANDIRS = | |
extout = | |
extout_prefix = | |
target_prefix = /mysql2 | |
LOCAL_LIBS = | |
LIBS = $(LIBRUBYARG_SHARED) -L/usr/local/mysql/lib -lmysqlclient_r -lpthread -lpthread -ldl -lobjc | |
SRCS = client.c mysql2_ext.c result.c | |
OBJS = client.o mysql2_ext.o result.o | |
TARGET = mysql2 | |
DLLIB = $(TARGET).bundle | |
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).bundle | |
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 mysql2 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 .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 mysql2/$(DLLIB) | |
@-$(RM) $(@) | |
$(Q) $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS) | |
$(OBJS): $(hdrdir)/ruby.h $(hdrdir)/ruby/defines.h $(arch_hdrdir)/ruby/config.h |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment