https://github.com/root-project/root
Tip revision: 15f7c582488836affc446314a9785fc1b9eb4b74 authored by Fons Rademakers on 10 March 2008, 16:11:36 UTC
tag patch release v5-18-00b.
tag patch release v5-18-00b.
Tip revision: 15f7c58
Makefile.macosx64
# -*- mode: makefile -*-
#
# Makefile of ROOT for MacOS X, using g++ 64-bit mode
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 -Woverloaded-virtual \
-fsigned-char -fno-common $(EXTRA_CXXFLAGS) $(FINK_CXXFLAGS)
CFLAGS = -m64 -pipe -W -Wall -fsigned-char -fno-common \
$(EXTRA_CFLAGS) $(FINK_CFLAGS)
CINTCXXFLAGS = -m64 -pipe -W -Wall -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 -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 ($(subst $(MACOSX_MINOR),,123),123)
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:
F77 =
ifeq ($(subst $(MACOSX_MINOR),,123),123)
ifeq (g95,$(findstring g95,$(ROOTBUILD)))
ifeq ($(shell which g95 2>&1 | sed -ne "s/.*\/g95/g95/p"),g95)
F77 := g95
F77LIBS := -L`$(F77) -print-search-dirs | awk '/^install:/{print $$2}'` \
-lf95
endif
else
ifeq ($(shell which gfortran 2>&1 | sed -ne "s/.*\/gfortran/gfortran/p"),gfortran)
F77 := gfortran
F77LIBS := $(shell $(F77) -print-file-name=libgfortran.$(SOEXT))
F77LIBS += $(shell $(F77) -print-file-name=libgfortranbegin.a)
endif
endif
endif
ifeq ($(F77),)
ifeq ($(shell which g77 2>&1 | sed -ne "s/.*\/g77/g77/p"),g77)
F77 := g77
F77LIBS =
endif
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
ifneq ($(F77),)
ifeq ($(shell find $(FINK_DIR)/bin -name $(F77)),)
BUILDHBOOK := no
endif
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