Changes for Mac OSX
[u/mrichter/AliRoot.git] / build / Makefile.macosx
1 # Makefile for AliRoot for MacOS X with gcc
2
3 # OS version
4 MACOSX_MAJOR := $(strip $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 1))
5 MACOSX_MINOR := $(strip $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2))
6
7 # fink directories
8 FINK_ROOT := $(shell which fink | sed -e 's?/bin/fink??')
9 ifeq (,$(FINK_ROOT))
10 # No fink, build will probably fail, but we try a guess
11 FINK_ROOT=/usr/local
12 endif
13
14 # The compilers
15 CXX           = g++ 
16 CC            = gcc
17
18 ifeq (g95,$(findstring g95,$(ROOTBUILD)))
19 F77           = g95
20 else
21 F77           = gfortran
22 endif
23
24 # Global optimisation
25 OPT           = -O -g
26 NOOPT         = -g
27
28 CXXOPT        = $(OPT) 
29 CXXNOOPT      = $(NOOPT) 
30 COPT          = $(OPT)
31 FOPT          = $(OPT) -fno-second-underscore 
32
33 # CERNLIB defines
34 CLIBDEFS      = -DCERNLIB_LINUX -DCERNLIB_BLDLIB -DCERNLIB_CZ -DCERNLIB_PPC
35 CLIBCXXOPTS   =
36 CLIBCOPT      =
37 CLIBFOPT      = $(CLIBDEFS)
38
39 # Compiler flags
40 CXXFLAGS      = $(CXXOPT)   -Wall -W -Wno-long-double -pipe -fsigned-char -fno-common -fmessage-length=0 -I$(FINK_ROOT)/include 
41
42 ifeq (g95,$(findstring g95,$(ROOTBUILD)))
43 CXXFLAGS+=-DFORTRAN_G95
44 endif
45 CXXFLAGSNO    = $(CXXNOOPT) -Wall -W -pipe -fsigned-char -fno-common -fmessage-length=0 -I$(FINK_ROOT)/include  -Wno-long-double
46
47 CFLAGS        = $(COPT) -Wall -W -fno-common -pipe -I$(FINK_ROOT)/include
48
49 FFLAGS        = $(CLIBFOPT) $(FOPT)
50 # rmkdepend flags for building dependencies of FORTRAN files
51 DEPENDFFLAGS  = $(FFLAGS)
52
53 # rootcint flags
54 CINTFLAGS     = 
55
56 LD            = export MACOSX_DEPLOYMENT_TARGET=$(MACOSX_MAJOR).$(MACOSX_MINOR) ; \
57                 unset LD_PREBIND ; \
58                 g++
59 LDFLAGS       = $(OPT) $(DICTLOAD)
60
61 SHLD         := $(LD)
62 SOFLAGS      := -bundle -undefined dynamic_lookup
63 SHLIB        := 
64 SOEXT        := so
65
66 DYLD         := $(LD)
67 DYFLAGS       = -dynamiclib -undefined dynamic_lookup -single_module
68 DYLIB        := 
69 DYEXT        := dylib
70
71 ALLD          = ar
72 ALFLAGS       = cr
73 ALLIB         = 
74 AEXT          = a
75
76 DEPENDCXXFLAGS = $(CXXFLAGS) -I/usr/include/sys
77
78 GLIBS         = -L/usr/X11R6/lib -lX11
79
80 EXEFLAGS     += -bind_at_load 
81
82 #System libraries
83
84 ifeq (g95,$(findstring g95,$(ROOTBUILD)))
85 SYSLIBS := -L$(dir $(shell find $(FINK_ROOT) -name libf95.a)) -lf95
86 else
87 SYSLIBS := -ldl -L$(dir $(shell find $(FINK_ROOT) -name libgfortran.dylib)) -lgfortranbegin -lgfortran
88 endif
89
90