]>
Commit | Line | Data |
---|---|---|
d95a3ef8 | 1 | # -*- mode: makefile -*- |
b934f194 | 2 | # Makefile for AliRoot for MacOS X with gcc |
3 | ||
3a8f99bd | 4 | XARGS = xargs |
5 | ||
f3564e28 | 6 | # OS version |
7 | MACOSX_MAJOR := $(strip $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 1)) | |
8 | MACOSX_MINOR := $(strip $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)) | |
9 | ||
10 | # fink directories | |
11 | FINK_ROOT := $(shell which fink | sed -e 's?/bin/fink??') | |
796dbee6 | 12 | ifeq (,$(FINK_ROOT)) |
13 | # No fink, build will probably fail, but we try a guess | |
14 | FINK_ROOT=/usr/local | |
15 | endif | |
f3564e28 | 16 | |
02a1d5c1 | 17 | # The compilers |
5f30d16c | 18 | CXX = $(shell root-config --cxx) |
19 | CC = $(shell root-config --cc) | |
f4dc0d44 | 20 | F77 = $(shell root-config --f77) |
f3564e28 | 21 | |
02a1d5c1 | 22 | # Global optimisation |
796dbee6 | 23 | OPT = -O -g |
b5417bd7 | 24 | NOOPT = -O0 -g |
02a1d5c1 | 25 | |
19ca05d1 | 26 | CXXOPT = $(OPT) |
27 | CXXNOOPT = $(NOOPT) | |
28 | COPT = $(OPT) | |
02a1d5c1 | 29 | FOPT = $(OPT) -fno-second-underscore |
c9c74649 | 30 | ifeq (,$(findstring g95,$(F77))) |
de6c7cfd | 31 | FOPT += -fbounds-check |
32 | endif | |
02a1d5c1 | 33 | |
34 | # CERNLIB defines | |
796dbee6 | 35 | CLIBDEFS = -DCERNLIB_LINUX -DCERNLIB_BLDLIB -DCERNLIB_CZ -DCERNLIB_PPC |
02a1d5c1 | 36 | CLIBCXXOPTS = |
37 | CLIBCOPT = | |
19ca05d1 | 38 | CLIBFOPT = $(CLIBDEFS) |
39 | ||
110b30cc | 40 | CXXSTF = -pipe -Wall -W -pipe -fbounds-check -fsigned-char -fno-common -fmessage-length=0 -Woverloaded-virtual -Weffc++ -Wconversion -Wshadow -fno-default-inline -fno-inline -I/usr/X11R6/include -I$(FINK_ROOT)/include |
b5417bd7 | 41 | |
19ca05d1 | 42 | # Compiler flags |
7da87db6 | 43 | CXXFLAGS = $(CXXOPT) $(CXXSTF) |
796dbee6 | 44 | |
b5417bd7 | 45 | CXXFLAGSNO = $(CXXNOOPT) $(CXXSTF) |
796dbee6 | 46 | |
6c111d79 | 47 | CFLAGS = $(COPT) -Wall -W -fno-common -pipe -I$(FINK_ROOT)/include |
796dbee6 | 48 | |
25d9678b | 49 | FFLAGS = $(CLIBFOPT) $(FOPT) |
c9c74649 | 50 | ifneq (,$(findstring g95,$(F77))) |
25d9678b | 51 | FFLAGS += -ftrace=full |
7da87db6 | 52 | FFLAGS +=-DFORTRAN_G95 |
53 | else | |
54 | FFLAGS +=-DFORTRAN_GFORTRAN | |
25d9678b | 55 | endif |
7da87db6 | 56 | |
19ca05d1 | 57 | # rmkdepend flags for building dependencies of FORTRAN files |
58 | DEPENDFFLAGS = $(FFLAGS) | |
59 | ||
60 | # rootcint flags | |
61 | CINTFLAGS = | |
02a1d5c1 | 62 | |
f3564e28 | 63 | LD = export MACOSX_DEPLOYMENT_TARGET=$(MACOSX_MAJOR).$(MACOSX_MINOR) ; \ |
02a1d5c1 | 64 | unset LD_PREBIND ; \ |
5f30d16c | 65 | $(shell root-config --ld) |
2bdfa405 | 66 | LDFLAGS = $(OPT) $(DICTLOAD) |
02a1d5c1 | 67 | |
68 | SHLD := $(LD) | |
2469b598 | 69 | SOFLAGS := -bundle -undefined dynamic_lookup |
f3564e28 | 70 | SHLIB := |
02a1d5c1 | 71 | SOEXT := so |
72 | ||
73 | DYLD := $(LD) | |
2469b598 | 74 | DYFLAGS = -dynamiclib -undefined dynamic_lookup -single_module |
f3564e28 | 75 | DYLIB := |
02a1d5c1 | 76 | DYEXT := dylib |
77 | ||
78 | ALLD = ar | |
79 | ALFLAGS = cr | |
80 | ALLIB = | |
81 | AEXT = a | |
82 | ||
02a1d5c1 | 83 | DEPENDCXXFLAGS = $(CXXFLAGS) -I/usr/include/sys |
84 | ||
de6c7cfd | 85 | SYSLIBS := -L/usr/X11R6/lib -lX11 |
02a1d5c1 | 86 | |
de6c7cfd | 87 | EXEFLAGS := -bind_at_load |
f3564e28 | 88 | |
02a1d5c1 | 89 | #System libraries |
796dbee6 | 90 | |
c9c74649 | 91 | ifneq (,$(findstring g95,$(F77))) |
92 | SYSLIBS += -L$(shell $(F77) --print-search-dirs | sed -n -e 's/install: //p') -lf95 | |
93 | DYLIB += -L$(shell $(F77) --print-search-dirs | sed -n -e 's/install: //p') -lf95 | |
f3564e28 | 94 | else |
626d87b0 | 95 | SYSLIBS += -ldl $(shell $(F77) -print-file-name=libgfortran.dylib) |
96 | SYSLIBS += $(shell $(F77) -print-file-name=libgfortranbegin.a) | |
f3564e28 | 97 | endif |