## basic settings for MacOS X # OS version MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2) #MACOSX_MINOR := 4 FINK_DIR := $(shell which fink 2>&1 | sed -ne "s/\/bin\/fink//p") #### File suffixes: #### ObjSuf = o ExeSuf = DllSuf = so #### Compilers: #### CXX = g++ CC = gcc #### Compiler optimisation flags: #### OPTIONS = -fPIC DEFINITIONS = -DDarwin EXTRACOPTIONS = -Wall ## This two copiler flags are alternative. ## When DOOPTIMIZATION = false, first is used otherwise second DEBUGMODE = -g -O2 OPTIMIZEMODE = -O2 # OPTIMIZEMODE = -O3 fails for some gcc (TString seekoff overload) #### File system operations: #### LN = ln -sf RM = rm -f MV = mv #### Linker definitions: #### LD = g++ ifeq ($(GO4WITHRPATH),true) LDFLAGS_RPATH = $(LDRPATHS:%=-Wl,-rpath,%) endif LDFLAGS += $(LDFLAGS_RPATH) FORCELINK = yes NEEDFINK = yes MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR) ifeq ($(subst $(MACOSX_MINOR),,1234),1234) SOFLAGS = -dynamiclib -single_module \ -undefined dynamic_lookup -install_name FORCELINK = no NEEDFINK = no else ifeq ($(subst $(MACOSX_MINOR),,123),123) SOFLAGS = -dynamiclib -single_module \ -undefined dynamic_lookup -install_name FORCELINK = no NEEDFINK = no else ifeq ($(MACOSX_MINOR),3) SOFLAGS = -dynamiclib -single_module \ -undefined dynamic_lookup -install_name LDFLAGS += -bind_at_load else SOFLAGS = -dynamiclib -single_module \ -undefined suppress -install_name LDFLAGS += -bind_at_load endif endif endif ifeq ($(subst $(MACOSX_MINOR),,1234),1234) DllSuf = so else DllSuf = dylib endif LD = g++ ifeq ($(GO4WITHRPATH),true) LDFLAGS_RPATH = $(LDRPATHS:%=-Wl,-rpath,%) endif LDFLAGS += $(LDFLAGS_RPATH) -O #### Other options: #### OutPutOpt = -o