Makefile.macosxxlc
# -*- mode: makefile -*-
#
# Makefile of ROOT for MacOS X, using IBM xl compilers
PLATFORM = macosx
DEBUGFLAGS = -g
OPTFLAGS = -O
ifeq (debug,$(findstring debug,$(ROOTBUILD)))
OPT = $(DEBUGFLAGS)
NOOPT = -qnoopt
else
OPT = $(OPTFLAGS)
NOOPT = -qnoopt
endif
# Compiler:
CXX = xlC
CC = xlc
CXXFLAGS = -qpic -qchar=signed -D_xlc_ \
-qflttrap=overflow:zerodivide:invalid:enable \
-I/usr/X11R6/include $(EXTRA_CXXFLAGS) $(FINK_CXXFLAGS)
CFLAGS = -qpic -qchar=signed -D_xlc_ \
-qflttrap=overflow:zerodivide:invalid:enable \
-I/usr/X11R6/include $(EXTRA_CFLAGS) $(FINK_CFLAGS)
CINTCXXFLAGS = -qpic -qchar=signed -D_xlc_ \
-qflttrap=overflow:zerodivide:enable \
-DG__REGEXP $(EXTRA_CXXFLAGS) $(FINK_CXXFLAGS) \
-DG__UNIX -DG__SHAREDLIB \
-DG__ROOT -DG__REDIRECTIO -DG__OSFDLL
CINTCFLAGS = -qpic -qchar=signed -D_xlc_ \
-qflttrap=overflow:zerodivide:enable \
-DG__ANSI -DG__REGEXP -DG__UNIX -DG__SHAREDLIB \
-DG__ROOT -DG__REDIRECTIO -DG__OSFDLL \
$(EXTRA_CFLAGS) $(FINK_CFLAGS)
# OS version
MACOSX_MINOR := $(shell sw_vers -productVersion | cut -d'.' -f2)
# Linker:
LD = xlC
LDFLAGS = $(OPT) -Wl,-bind_at_load -Wl,-flat_namespace
ifeq ($(MACOSX_MINOR),3)
SOFLAGS = $(OPT) -dynamiclib -flat_namespace -undefined dynamic_lookup \
-single_module -install_name $(LIBDIR)/
else
SOFLAGS = $(OPT) -dynamiclib -flat_namespace -undefined suppress \
-single_module -install_name $(LIBDIR)/
endif
SOEXT = dylib
# System libraries:
SYSLIBS = -lm $(EXTRA_LDFLAGS) $(FINK_LDFLAGS) -ldl
XLIBS = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lX11
CILIBS = -lm $(EXTRA_LDFLAGS) $(FINK_LDFLAGS) -ldl
# Fortran:
F77 = xlf
F77LIBS = -lg2c
# Override default in Makefile.config
INSTALL := cp -pPR
INSTALLDATA := cp -pPR
# Extras
FINK_DIR = $(shell which fink 2>&1 | sed -ne "s/\/bin\/fink//p")
FINK_CXXFLAGS = $(shell [ -d $(FINK_DIR)/include ] && echo -I$(FINK_DIR)/include)
FINK_CFLAGS = $(shell [ -d $(FINK_DIR)/include ] && echo -I$(FINK_DIR)/include)
FINK_LDFLAGS = $(shell [ -d $(FINK_DIR)/lib ] && echo -L$(FINK_DIR)/lib)