Bug spotted by Raphael.
[u/mrichter/AliRoot.git] / build / Makefile.linux
1 # -*- mode: makefile -*-
2 # Makefile to build AliRoot for Linux
3
4 # System dependent commands
5
6 XARGS = xargs -r
7
8 CCMAJORV      = $(shell $(CC) -dumpversion | cut -d. -f1)
9 CCMINORV      = $(shell $(CC) -dumpversion | cut -d. -f2)
10
11 # Global optimisation
12 OPT           = -O -g
13 NOOPT         = -g
14
15 CXXOPT        = $(OPT)
16 CXXNOOPT      = $(NOOPT)
17 COPT          = $(OPT)
18 FOPT          = $(OPT)
19
20 # CERNLIB defines
21 CLIBDEFS      = -DCERNLIB_LINUX -DCERNLIB_BLDLIB -DCERNLIB_CZ
22 CLIBCXXOPTS   =
23 CLIBCOPT      =
24 CLIBFOPT      = $(CLIBDEFS)
25
26 # Compiler flags
27 ifeq ($(CCMAJORV),2)
28 CXXFLAGS       = $(OPT) -W -Wall -fPIC -pipe
29 CXXFLAGSNO     = $(NOOPT) -W -Wall -fPIC -pipe
30 else
31 ifeq ($(CCMAJORV),3)
32 CXXFLAGS       = $(OPT) -W -Wall -Weffc++ -Woverloaded-virtual -fPIC -pipe -fmessage-length=0 -Wno-long-long -pedantic-errors -ansi -Dlinux
33 CXXFLAGSNO     = $(NOOPT) -W -Wall -Weffc++ -fPIC -pipe -fmessage-length=0 -Wno-long-long -pedantic-errors -ansi
34 else
35 ifeq ($(CCMAJORV),4)
36 CXXFLAGS       = $(OPT) -W -Wall -Weffc++ -Woverloaded-virtual -fPIC -pipe -fmessage-length=0 -Wno-long-long -pedantic-errors -ansi -Dlinux
37 CXXFLAGSNO     = $(NOOPT) -W -Wall -Weffc++ -fPIC -pipe -fmessage-length=0 -Wno-long-long -pedantic-errors -ansi
38 else
39 CXXFLAGS       = $(OPT) -W -Wall -Woverloaded-virtual -fPIC -pipe -fmessage-length=0 -Wno-long-long -ansi -Dlinux
40 CXXFLAGSNO     = $(NOOPT) -W -Wall -Weffc++ -fPIC -pipe -fmessage-length=0 -Wno-long-long -ansi
41 endif
42 endif
43 endif
44 CFLAGS         = $(OPT) -Wall -Werror -fPIC -pipe -Wno-long-long -pedantic-errors -ansi
45 FFLAGS         = $(CLIBFOPT) $(FOPT) -fPIC -fno-second-underscore
46
47 ifneq (,$(findstring g95,$(F77)))
48 FFLAGS        +=-DFORTRAN_G95
49 else
50 ifneq (,$(findstring gfortran,$(F77)))
51 FFLAGS        +=-DFORTRAN_GFORTRAN
52 else
53 FFLAGS        +=
54 endif
55 endif
56
57 # rmkdepend flags for building dependencies of FORTRAN files
58 DEPENDFFLAGS   = $(FFLAGS)
59
60 # rootcint flags
61 CINTFLAGS     = 
62
63 LD            = $(shell root-config --ld) 
64 LDFLAGS       = $(OPT) 
65
66 SHLD          = $(LD)
67 SOFLAGS       = $(OPT) -shared -Wl 
68 SOEXT         = so
69
70 #System libraries
71 SYSLIBS      := -ldl -lcrypt -L/usr/X11R6/lib -lX11
72
73 ifneq (,$(findstring g95,$(F77)))
74 SHLIB += -L$(shell $(F77) --print-search-dirs | sed -n -e 's/install: //p') -lf95
75 else
76 ifneq (,$(findstring gfortran,$(F77)))
77 SHLIB := $(shell $(F77) -m32 -print-file-name=libgfortran.so)
78 SHLIB += $(shell $(F77) -m32 -print-file-name=libgfortranbegin.a)
79 SYSLIBS += $(SHLIB)
80 else
81 SHLIB         = -lg2c
82 SYSLIBS +=  -lg2c
83 endif
84 endif
85
86 ALLD          = ar
87 ALFLAGS       = cr
88 ALLIB         = 
89 AEXT          = a
90
91 # additional ROOT libraries
92
93
94
95
96
97