c8e42706c0259ab981a8a25bc749afd54ed98dfc
[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 # CERNLIB defines
34 CLIBDEFS      = -DCERNLIB_LINUX -DCERNLIB_BLDLIB -DCERNLIB_CZ
35 CLIBCXXOPTS   =
36 CLIBCOPT      =
37 CLIBFOPT      = $(CLIBDEFS)
38
39 # Compiler flags
40 CXXFLAGS      = $(CXXOPT)   -Wall -W -pipe -fsigned-char -fno-common -fweak-coalesced -fmessage-length=0 -I$(FINK_ROOT)/include  -Wno-long-double #-Weffc++ -Woverloaded-virtual 
41 CXXFLAGSNO    = $(CXXNOOPT) -Wall -W -pipe -fsigned-char -fno-common -fweak-coalesced -fmessage-length=0 -I$(FINK_ROOT)/include  -Wno-long-double
42 CFLAGS        = $(COPT) -Wall -W -fno-common -fweak-coalesced -pipe -I$(FINK_ROOT)/include
43 FFLAGS        = $(CLIBFOPT) $(FOPT)
44 # rmkdepend flags for building dependencies of FORTRAN files
45 DEPENDFFLAGS  = $(FFLAGS)
46
47 # rootcint flags
48 CINTFLAGS     = 
49
50 LD            = export MACOSX_DEPLOYMENT_TARGET=$(MACOSX_MAJOR).$(MACOSX_MINOR) ; \
51                 unset LD_PREBIND ; \
52                 g++
53 LDFLAGS       = $(OPT) $(DICTLOAD)
54
55 SHLD         := $(LD)
56 SOFLAGS      := -bundle -undefined dynamic_lookup
57 SHLIB        := 
58 SOEXT        := so
59
60 DYLD         := $(LD)
61 DYFLAGS       = -dynamiclib -undefined dynamic_lookup -single_module
62 DYLIB        := 
63 DYEXT        := dylib
64
65 ALLD          = ar
66 ALFLAGS       = cr
67 ALLIB         = 
68 AEXT          = a
69
70 DEPENDCXXFLAGS = $(CXXFLAGS) -I/usr/include/sys
71
72 GLIBS         = -L/usr/X11R6/lib -lX11
73
74 EXEFLAGS     += -bind_at_load 
75
76 #System libraries
77 ifneq ($(MACOSX_MINOR),4)
78 SYSLIBS := -lg2c
79 else
80 ifeq (g95,$(findstring g95,$(ROOTBUILD)))
81 SYSLIBS := -L$(dir $(shell find $(FINK_ROOT) -name libf95.a)) -lf95
82 else
83 SYSLIBS := -ldl -L$(dir $(shell find $(FINK_ROOT) -name libgfortran.dylib)) -lgfortranbegin -lgfortran
84 endif
85 endif
86
87