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