Update for MacOSX 10.4
[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
10 # The compilers
11 CXX           = g++ 
12 CC            = gcc
13
14 ifneq ($(MACOSX_MINOR),4)
15 F77           = g77
16 else
17 ifeq (g95,$(findstring g95,$(ROOTBUILD)))
18 F77           = g95
19 else
20 F77           = gfortran
21 endif
22 endif
23
24 # Global optimisation
25 OPT           = -O0 -g
26 NOOPT         = -g
27
28 CXXOPT        = $(OPT) 
29 CXXNOOPT      = $(NOOPT) 
30 COPT          = $(OPT)
31 FOPT          = $(OPT) -fno-second-underscore 
32
33
34 # CERNLIB defines
35 CLIBDEFS      = -DCERNLIB_LINUX -DCERNLIB_BLDLIB -DCERNLIB_CZ
36 CLIBCXXOPTS   =
37 CLIBCOPT      =
38 CLIBFOPT      = $(CLIBDEFS)
39
40 # Compiler flags
41 CXXFLAGS      = $(CXXOPT)   -Wall -W -Wno-long-double -pipe -fsigned-char -fno-common -fmessage-length=0 -I$(FINK_ROOT)/include 
42 ifneq ($(MACOSX_MINOR),4)
43 CXXFLAGS+=-fweak-coalesced
44 endif
45 ifeq (g95,$(findstring g95,$(ROOTBUILD)))
46 CXXFLAGS+=-DFORTRAN_G95
47 endif
48 CXXFLAGSNO    = $(CXXNOOPT) -Wall -W -pipe -fsigned-char -fno-common -fmessage-length=0 -I$(FINK_ROOT)/include  -Wno-long-double
49 ifneq ($(MACOSX_MINOR),4)
50 CXXFLAGSNO+=-fweak-coalesced
51 endif
52 CFLAGS        = $(COPT) -Wall -W -fno-common -pipe -I$(FINK_ROOT)/include
53 ifneq ($(MACOSX_MINOR),4)
54 CFLAGS+=-fweak-coalesced
55 endif
56 FFLAGS        = $(CLIBFOPT) $(FOPT)
57 # rmkdepend flags for building dependencies of FORTRAN files
58 DEPENDFFLAGS  = $(FFLAGS)
59
60 # rootcint flags
61 CINTFLAGS     = 
62
63 LD            = export MACOSX_DEPLOYMENT_TARGET=$(MACOSX_MAJOR).$(MACOSX_MINOR) ; \
64                 unset LD_PREBIND ; \
65                 g++
66 LDFLAGS       = $(OPT) $(DICTLOAD)
67
68 SHLD         := $(LD)
69 SOFLAGS      := -bundle -undefined dynamic_lookup
70 SHLIB        := 
71 SOEXT        := so
72
73 DYLD         := $(LD)
74 DYFLAGS       = -dynamiclib -undefined dynamic_lookup -single_module
75 DYLIB        := 
76 DYEXT        := dylib
77
78 ALLD          = ar
79 ALFLAGS       = cr
80 ALLIB         = 
81 AEXT          = a
82
83 DEPENDCXXFLAGS = $(CXXFLAGS) -I/usr/include/sys
84
85 GLIBS         = -L/usr/X11R6/lib -lX11
86
87 EXEFLAGS     += -bind_at_load 
88
89 #System libraries
90 ifneq ($(MACOSX_MINOR),4)
91 SYSLIBS := -lg2c
92 else
93 ifeq (g95,$(findstring g95,$(ROOTBUILD)))
94 SYSLIBS := -L$(dir $(shell find $(FINK_ROOT) -name libf95.a)) -lf95
95 else
96 SYSLIBS := -ldl -L$(dir $(shell find $(FINK_ROOT) -name libgfortran.dylib)) -lgfortranbegin -lgfortran
97 endif
98 endif
99
100