Revision 8e18f388b4c51cd27d3afcf0dea4f450fd481bd9 authored by Fons Rademakers on 09 March 2007, 09:54:09 UTC, committed by Fons Rademakers on 09 March 2007, 09:54:09 UTC

git-svn-id: http://root.cern.ch/svn/root/branches/v5-14-00-patches@18216 27541ba8-7e3a-0410-8455-c3a389f83636
1 parent 18f4321
Raw File
Makefile.macosx64
# -*- mode: makefile -*-
#
# Makefile of ROOT for MacOS X, using g++

PLATFORM      = macosx

#DWARF2       := $(shell gcc --version | sed -n 's,.*build \([0-9]*\).$$,\1,p' |\
#                  awk '{ if ($$1>=5341) print "dwarf-2" }')

DEBUGFLAGS    = -g$(DWARF2)
OPTFLAGS      = -O2
ifeq (debug,$(findstring debug,$(ROOTBUILD)))
OPT           = $(DEBUGFLAGS)
NOOPT         =
else
OPT           = $(OPTFLAGS)
NOOPT         =
endif

# Compiler:
CXX           = g++
CC            = gcc
CXXFLAGS      = -m64 -pipe -W -Wall -Wno-long-double -Woverloaded-virtual \
                -fsigned-char -fno-common $(EXTRA_CXXFLAGS) $(FINK_CXXFLAGS)
CFLAGS        = -m64 -pipe -W -Wall -Wno-long-double -fsigned-char -fno-common \
                $(EXTRA_CFLAGS) $(FINK_CFLAGS)
CINTCXXFLAGS  = -m64 -pipe -W -Wall -Wno-long-double -Woverloaded-virtual \
                -fsigned-char -fno-common $(EXTRA_CXXFLAGS) $(FINK_CXXFLAGS) \
                -DG__REGEXP -DG__UNIX -DG__SHAREDLIB \
                -DG__ROOT -DG__REDIRECTIO -DG__OSFDLL \
                -DG__STD_EXCEPTION
CINTCFLAGS    = -m64 -pipe -W -Wall -Wno-long-double -fsigned-char -fno-common \
                $(EXTRA_CFLAGS) $(FINK_CFLAGS) \
                -DG__REGEXP -DG__UNIX -DG__SHAREDLIB \
                -DG__ROOT -DG__REDIRECTIO -DG__OSFDLL \
                -DG__STD_EXCEPTION
COMPILER      = gnu

# OS version
MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
MACOSX_CPU   := $(shell uname -p)
FINK_DIR     := $(shell which fink 2>&1 | sed -ne "s/\/bin\/fink//p")

# Linker:
LD            = g++
LDFLAGS       = $(OPT) -m64 -bind_at_load
FORCELINK     = yes
NEEDFINK      = yes
MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
ifeq ($(MACOSX_MINOR),5)
MACOSX_MINOR  = 4
endif
ifeq ($(MACOSX_MINOR),4)
SOFLAGS       = $(OPT) -m64 -dynamiclib -single_module \
                -undefined dynamic_lookup -install_name $(LIBDIR)/
FORCELINK     = no
NEEDFINK      = no
else
ifeq ($(MACOSX_MINOR),3)
SOFLAGS       = $(OPT) -m64 -dynamiclib -single_module \
                -undefined dynamic_lookup -install_name $(LIBDIR)/
else
SOFLAGS       = $(OPT) -m64 -dynamiclib -single_module \
                -undefined suppress -install_name $(LIBDIR)/
endif
endif
SOEXT         = dylib

# System libraries:
SYSLIBS       = -lm $(EXTRA_LDFLAGS) $(FINK_LDFLAGS) $(OSTHREADLIBDIR) \
                $(OSTHREADLIB) -ldl
XLIBS         = $(XPMLIBDIR) $(XPMLIB) $(X11LIBDIR) -lXext -lX11
CILIBS        = -lm $(EXTRA_LDFLAGS) $(FINK_LDFLAGS) -ldl

# Fortran:
ifeq ($(MACOSX_MINOR),4)
ifeq (g95,$(findstring g95,$(ROOTBUILD)))
F77           = g95
F77LIBS       = -L`$(F77) -print-search-dirs | awk '/^install:/{print $$2}'` \
                -lf95
else
F77           = gfortran
F77LIBS       = -L$(FINK_DIR)/lib/gcc4/lib -lgfortran -lgfortranbegin
endif
else
F77           = g77
F77LIBS       =
endif
F77FLAGS      = -m64

# We add libg2c only in case of ppc because then we probably have cernlib
# compiled with g77. In case of Intel Mac it should be compiled with the
# same fortran we use.
ifeq ($(MACOSX_CPU),powerpc) 
F77LIBS += -L$(FINK_DIR)/lib -lg2c
endif

ifeq ($(shell find $(FINK_DIR)/bin -name $(F77)),)
BUILDHBOOK   := no
endif

# Override default in Makefile.config
INSTALL      := /bin/cp -pPR
INSTALLDATA  := /bin/cp -pPR

# Extras
ifeq ($(NEEDFINK),yes)
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)
endif
back to top