https://github.com/root-project/root
Raw File
Tip revision: eeef54935972efc9354fc54da09f63dfed9a619e authored by Unknown Author on 10 October 2006, 12:24:26 UTC
This commit was manufactured by cvs2svn to create tag 'v5-13-04'.
Tip revision: eeef549
Makefile.macosxicc
# -*- mode: makefile -*-
#
# Makefile of ROOT for MacOS X, using Intel icc >= 9.1 compiler

PLATFORM      = macosx

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

# Compiler:
CXX           = icc
CC            = icc
CXXFLAGS      = -fPIC -wd1476 $(EXTRA_CXXFLAGS)
CFLAGS        = -fPIC $(EXTRA_CFLAGS) -restrict
CINTCXXFLAGS  = -fPIC $(EXTRA_CXXFLAGS) \
                -DG__REGEXP -DG__UNIX -DG__SHAREDLIB \
                -DG__ROOT -DG__REDIRECTIO -DG__OSFDLL \
                -DG__STD_EXCEPTION
CINTCFLAGS    = -fPIC $(EXTRA_CFLAGS) \
                -DG__REGEXP -DG__UNIX -DG__SHAREDLIB \
                -DG__ROOT -DG__REDIRECTIO -DG__OSFDLL \
                -DG__STD_EXCEPTION

# Compiler version:
ICC_MAJOR    := $(shell $(CXX) -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
                cut -d'.' -f1)
ICC_MINOR    := $(shell $(CXX) -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
                cut -d'.' -f2)

ifeq ($(ICC_MAJOR),9)
CXXFLAGS     += -wd1572 -wd873 -wd672
CFLAGS       += -wd1572
CINTCXXFLAGS += -wd1572 -wd873
CINTCFLAGS   += -wd1572
endif

# 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            = icpc
LDFLAGS       = $(OPT) $(EXTRA_LDFLAGS)
FORCELINK     = no
MACOSXTARGET := MACOSX_DEPLOYMENT_TARGET=10.$(MACOSX_MINOR)
ifeq ($(MACOSX_MINOR),5) 
MACOSX_MINOR  = 4
endif
ifeq ($(MACOSX_MINOR),4)
SOFLAGS       = $(OPT) -dynamiclib -single_module \
                -undefined dynamic_lookup -install_name $(LIBDIR)/
endif
SOEXT         = dylib

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

# Fortran:
F77           = ifort
F77FLAGS      =
ifneq ($(shell find $(FINK_DIR)/bin -name g77),)
# check for libg2c and libfrtbegin
ifneq ($(shell g77 -print-file-name=libg2c.so),libg2c.so)
LIBG2C       := $(shell g77 -print-file-name=libg2c.so)
else
LIBG2C       := $(shell g77 -print-file-name=libg2c.a)
endif
LIBFRTBEGIN  := $(shell g77 -print-file-name=libfrtbegin.a)
endif
F77LIBS       = $(LIBFRTBEGIN) $(LIBG2C) \
                -L$(shell which ifort | sed -e 's|bin/ifort|lib|') \
                -lifcore -lirc -limf -lifport

# Precompiled headers:
PCHSUPPORTED := $(ENABLEPCH)
ifeq ($(PCHSUPPORTED),yes)
  PCHFILE          = include/precompile.pchi
  PCHCXXFLAGS      = -DUSEPCH -include precompile.h -use_pch $(PCHFILE)
  PCHEXTRAOBJBUILD = $(CXX) $(OPT) $(CXXFLAGS) -DUSEPCH \
                     -include precompile.h -create_pch $(PCHFILE) \
                     -c $(PCHEXTRASRC) -o $(PCHEXTRAOBJ)
endif

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

# Extras
back to top