data transport between the tracker and the merger is optimized
[u/mrichter/AliRoot.git] / build / Makefile.macosx
CommitLineData
d95a3ef8 1# -*- mode: makefile -*-
b934f194 2# Makefile for AliRoot for MacOS X with gcc
3
3a8f99bd 4XARGS = xargs
5
f3564e28 6# OS version
7MACOSX_MAJOR := $(strip $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 1))
8MACOSX_MINOR := $(strip $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2))
9
10# fink directories
11FINK_ROOT := $(shell which fink | sed -e 's?/bin/fink??')
796dbee6 12ifeq (,$(FINK_ROOT))
13# No fink, build will probably fail, but we try a guess
14FINK_ROOT=/usr/local
15endif
f3564e28 16
02a1d5c1 17# Global optimisation
796dbee6 18OPT = -O -g
b5417bd7 19NOOPT = -O0 -g
02a1d5c1 20
19ca05d1 21CXXOPT = $(OPT)
22CXXNOOPT = $(NOOPT)
23COPT = $(OPT)
02a1d5c1 24FOPT = $(OPT) -fno-second-underscore
c9c74649 25ifeq (,$(findstring g95,$(F77)))
de6c7cfd 26FOPT += -fbounds-check
27endif
02a1d5c1 28
29# CERNLIB defines
796dbee6 30CLIBDEFS = -DCERNLIB_LINUX -DCERNLIB_BLDLIB -DCERNLIB_CZ -DCERNLIB_PPC
02a1d5c1 31CLIBCXXOPTS =
32CLIBCOPT =
19ca05d1 33CLIBFOPT = $(CLIBDEFS)
34
110b30cc 35CXXSTF = -pipe -Wall -W -pipe -fbounds-check -fsigned-char -fno-common -fmessage-length=0 -Woverloaded-virtual -Weffc++ -Wconversion -Wshadow -fno-default-inline -fno-inline -I/usr/X11R6/include -I$(FINK_ROOT)/include
b5417bd7 36
19ca05d1 37# Compiler flags
7da87db6 38CXXFLAGS = $(CXXOPT) $(CXXSTF)
796dbee6 39
b5417bd7 40CXXFLAGSNO = $(CXXNOOPT) $(CXXSTF)
796dbee6 41
6c111d79 42CFLAGS = $(COPT) -Wall -W -fno-common -pipe -I$(FINK_ROOT)/include
796dbee6 43
25d9678b 44FFLAGS = $(CLIBFOPT) $(FOPT)
c9c74649 45ifneq (,$(findstring g95,$(F77)))
25d9678b 46FFLAGS += -ftrace=full
7da87db6 47FFLAGS +=-DFORTRAN_G95
48else
49FFLAGS +=-DFORTRAN_GFORTRAN
25d9678b 50endif
7da87db6 51
19ca05d1 52# rmkdepend flags for building dependencies of FORTRAN files
53DEPENDFFLAGS = $(FFLAGS)
54
55# rootcint flags
56CINTFLAGS =
02a1d5c1 57
f3564e28 58LD = export MACOSX_DEPLOYMENT_TARGET=$(MACOSX_MAJOR).$(MACOSX_MINOR) ; \
02a1d5c1 59 unset LD_PREBIND ; \
5f30d16c 60 $(shell root-config --ld)
2bdfa405 61LDFLAGS = $(OPT) $(DICTLOAD)
02a1d5c1 62
63SHLD := $(LD)
2469b598 64SOFLAGS := -bundle -undefined dynamic_lookup
f3564e28 65SHLIB :=
02a1d5c1 66SOEXT := so
67
68DYLD := $(LD)
2469b598 69DYFLAGS = -dynamiclib -undefined dynamic_lookup -single_module
f3564e28 70DYLIB :=
02a1d5c1 71DYEXT := dylib
72
73ALLD = ar
74ALFLAGS = cr
75ALLIB =
76AEXT = a
77
02a1d5c1 78DEPENDCXXFLAGS = $(CXXFLAGS) -I/usr/include/sys
79
de6c7cfd 80SYSLIBS := -L/usr/X11R6/lib -lX11
02a1d5c1 81
de6c7cfd 82EXEFLAGS := -bind_at_load
f3564e28 83
02a1d5c1 84#System libraries
796dbee6 85
c9c74649 86ifneq (,$(findstring g95,$(F77)))
87SYSLIBS += -L$(shell $(F77) --print-search-dirs | sed -n -e 's/install: //p') -lf95
88DYLIB += -L$(shell $(F77) --print-search-dirs | sed -n -e 's/install: //p') -lf95
f3564e28 89else
626d87b0 90SYSLIBS += -ldl $(shell $(F77) -print-file-name=libgfortran.dylib)
91SYSLIBS += $(shell $(F77) -print-file-name=libgfortranbegin.a)
f3564e28 92endif