]>
Commit | Line | Data |
---|---|---|
ee0345bd | 1 | # Makefile for AliRoot for MacOS X with gcc 64-bit mode |
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 = -O0 -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 | CXXSTF = -m64 -pipe -Wall -W -Wno-long-double -pipe -fbounds-check -fsigned-char -fno-common -fmessage-length=0 -Woverloaded-virtual -Weffc++ -Wconversion -fno-default-inline -fno-inline -I/usr/X11R6/include -I$(FINK_ROOT)/include | |
45 | ||
46 | # Compiler flags | |
47 | CXXFLAGS = $(CXXOPT) $(CXXSTF) | |
48 | ||
49 | ifeq (g95,$(findstring g95,$(ROOTBUILD))) | |
50 | CXXFLAGS+=-DFORTRAN_G95 | |
51 | endif | |
52 | CXXFLAGSNO = $(CXXNOOPT) $(CXXSTF) | |
53 | ||
54 | CFLAGS = $(COPT) -m64 -Wall -W -fno-common -pipe -I$(FINK_ROOT)/include | |
55 | ||
56 | FFLAGS = $(CLIBFOPT) $(FOPT) -m64 | |
57 | ifeq (g95,$(findstring g95,$(ROOTBUILD))) | |
58 | FFLAGS += -ftrace=full | |
59 | endif | |
60 | # rmkdepend flags for building dependencies of FORTRAN files | |
61 | DEPENDFFLAGS = $(FFLAGS) | |
62 | ||
63 | # rootcint flags | |
64 | CINTFLAGS = | |
65 | ||
66 | LD = export MACOSX_DEPLOYMENT_TARGET=$(MACOSX_MAJOR).$(MACOSX_MINOR) ; \ | |
67 | unset LD_PREBIND ; \ | |
68 | g++ | |
69 | LDFLAGS = $(OPT) $(DICTLOAD) -m64 | |
70 | ||
71 | SHLD := $(LD) | |
72 | SOFLAGS := -m64 -bundle -undefined dynamic_lookup | |
73 | SHLIB := | |
74 | SOEXT := so | |
75 | ||
76 | DYLD := $(LD) | |
77 | DYFLAGS = -m64 -dynamiclib -undefined dynamic_lookup -single_module | |
78 | DYLIB := | |
79 | DYEXT := dylib | |
80 | ||
81 | ALLD = ar | |
82 | ALFLAGS = cr | |
83 | ALLIB = | |
84 | AEXT = a | |
85 | ||
86 | DEPENDCXXFLAGS = $(CXXFLAGS) -I/usr/include/sys | |
87 | ||
88 | SYSLIBS := -L/usr/X11R6/lib -lX11 | |
89 | ||
90 | EXEFLAGS := -bind_at_load | |
91 | ||
92 | #System libraries | |
93 | ||
94 | ifeq (g95,$(findstring g95,$(ROOTBUILD))) | |
95 | SYSLIBS += -L$(shell g95 --print-search-dirs | sed -n -e 's/install: //p') -lf95 | |
96 | else | |
c413c3ca | 97 | SYSLIBS += -ldl $(shell $(F77) -m64 -print-file-name=libgfortran.dylib) |
98 | SYSLIBS += $(shell $(F77) -m64 -print-file-name=libgfortranbegin.a) | |
ee0345bd | 99 | endif |