1# 2# Makefile for iODBC 3## 4 5# Configured for Panther (10.5) by default 6# To rebuild on Jaguar (10.2) you need to define JAGUAR 7#Extra_CC_Flags = -DJAGUAR 8 9# Project info 10Project = iodbc 11UserType = Developer 12ToolType = Commands 13#Install_Prefix = $(USRDIR) 14 15GnuAfterInstall = fixup 16 17# It's a GNU Source project 18include $(MAKEFILEPATH)/CoreOS/ReleaseControl/GNUSource.make 19 20# building in ~rc has to avoid ~ as a separator since it's used in pathnames 21export LIBTOOL_CMD_SEP = + 22 23# For building fat 24export MACOSX_DEPLOYMENT_TARGET = 10.9 25export LD_TWOLEVEL_NAMESPACE = 1 26# We want to create dSYM files in fixup, which means we can't strip until then; so make 27# strip a no-op. 28export STRIP = /bin/echo 29STRIP2 = /usr/bin/strip 30LIPO = /usr/bin/lipo 31 32Install_Target = install 33Extra_Configure_Flags += --prefix=/usr --with-iodbc-inidir=/Library/ODBC --disable-gui TMPDIR=$(OBJROOT) 34CFLAGS += -Wl,-framework,CoreFoundation 35 36# The first half of fixup is a hack to get dsymutil generating (correct) .dSYM files. 37# When dsymutil runs, it expects .o files used during linking to be laid out in the filesystem 38# in the same way they were when a library was linked. Unfortunately, the iodbc build process 39# puts things in lib*.lax/lib*.a directories during linking, and then removes those directories, 40# which results in incomplete .dSYM files. 41# Rather than try to change the actual build process, this just reconstructs the filesystem 42# layout to make dsymutil happy. 43# The last part of fixup is the stuff we need to get rid of everything but the actual libraries. 44# Somewhere in the middle is the stuff I inherited, plus stripping. 45fixup: 46 ${MKDIR} "$(OBJROOT)/iodbc/.libs/libiodbc.lax/libiodbctrace.a";\ 47 ${MKDIR} "$(OBJROOT)/iodbc/.libs/libiodbc.lax/libiodbc_common.a";\ 48 ${CP} $(OBJROOT)/iodbc/trace/*.o $(OBJROOT)/iodbc/.libs/libiodbc.lax/libiodbctrace.a/.;\ 49 ${CP} $(OBJROOT)/iodbcinst/*.o $(OBJROOT)/iodbc/.libs/libiodbc.lax/libiodbc_common.a/.;\ 50 ${MKDIR} "$(OBJROOT)/iodbcinst/.libs/libiodbcinst.lax/libiodbc_common.a";\ 51 ${CP} $(OBJROOT)/iodbcinst/*.o $(OBJROOT)/iodbcinst/.libs/libiodbcinst.lax/libiodbc_common.a/.;\ 52 ${CP} "$(RC_Install_Prefix)/bin/iodbctest" "$(SYMROOT)/iodbctest"; \ 53 ${CP} "$(RC_Install_Prefix)/bin/iodbctestw" "$(SYMROOT)/iodbctestw"; \ 54 ${CP} "$(RC_Install_Prefix)/lib/libiodbc.2.1.18.dylib" "$(SYMROOT)/libiodbc.2.1.18.dylib"; \ 55 $(CP) "$(OBJROOT)/iodbcinst/.libs/libiodbcinst.2.1.18.dylib" "$(SYMROOT)/libiodbcinst.2.1.18.dylib"; \ 56 $(CP) "$(OBJROOT)/iodbcinst/.libs/libiodbcinst.2.1.18.dylib.dSYM" "$(SYMROOT)/libiodbcinst.2.1.18.dylib.dSYM"; \ 57 ${RM} $(RC_Install_Prefix)/lib/*.la; \ 58 ${STRIP2} -S $(RC_Install_Prefix)/lib/libiodbc.a; \ 59 ${STRIP2} -S $(RC_Install_Prefix)/lib/libiodbcinst.a; \ 60 ${STRIP2} -S $(RC_Install_Prefix)/lib/libiodbc.2.dylib; \ 61 ${STRIP2} -S $(RC_Install_Prefix)/lib/libiodbcinst.2.dylib; \ 62 ${STRIP2} -S $(RC_Install_Prefix)/bin/iodbctest; \ 63 ${LIPO} -thin x86_64 $(RC_Install_Prefix)/bin/iodbctest -output $(RC_Install_Prefix)/bin/tmp; \ 64 ${MV} $(RC_Install_Prefix)/bin/tmp $(RC_Install_Prefix)/bin/iodbctest; \ 65 ${STRIP2} -S $(RC_Install_Prefix)/bin/iodbctestw; \ 66 ${LIPO} -thin x86_64 $(RC_Install_Prefix)/bin/iodbctestw -output $(RC_Install_Prefix)/bin/tmp; \ 67 ${MV} $(RC_Install_Prefix)/bin/tmp $(RC_Install_Prefix)/bin/iodbctestw; \ 68 69 ${MKDIR} $(RC_Install_Prefix)/local/OpenSourceVersions; \ 70 ${CP} $(SRCROOT)/iodbc.plist $(RC_Install_Prefix)/local/OpenSourceVersions/; \ 71 ${CHOWN} root:wheel $(RC_Install_Prefix)/local/OpenSourceVersions/iodbc.plist; \ 72 ${CHMOD} 644 $(RC_Install_Prefix)/local/OpenSourceVersions/iodbc.plist; \ 73 74 ${MKDIR} $(RC_Install_Prefix)/local/OpenSourceLicenses; \ 75 ${CP} $(SRCROOT)/iodbc.txt $(RC_Install_Prefix)/local/OpenSourceLicenses/; \ 76 ${CHOWN} root:wheel $(RC_Install_Prefix)/local/OpenSourceLicenses/iodbc.txt; \ 77 ${CHMOD} 644 $(RC_Install_Prefix)/local/OpenSourceLicenses/iodbc.txt; \ 78 ${RM} -rf $(RC_Install_Prefix)/include; \ 79 ${RM} -rf $(RC_Install_Prefix)/share; \ 80 ${RM} -rf $(RC_Install_Prefix)/bin; \ 81 ${RM} $(RC_Install_Prefix)/lib/*.a; \ 82 83