Removing -Wno-long-double and adding -single_module to the compilation options (macosx)
[u/mrichter/AliRoot.git] / cmake / modules / ALICEMacros.cmake
1 # -*- mode: cmake -*-
2 #_______________________________________________________________________________
3 Macro(CHANGE_FILE_EXTENSION OLD_EXT NEW_EXT RESULT LIST)
4
5 # This is probably an obsolete Macro
6
7   If (${OLD_EXT} MATCHES "^[*][.]+.*$")
8     String(REGEX REPLACE "^[*]+([.].*)$" "\\1" OLD_EXT1 ${OLD_EXT}) 
9   Endif (${OLD_EXT} MATCHES "^[*][.]+.*$")
10
11   If (${NEW_EXT} MATCHES "^[*][.]+.*$")
12     String(REGEX REPLACE "^[*]+([.].*)" "\\1" NEW_EXT1 ${NEW_EXT}) 
13   Endif (${NEW_EXT} MATCHES "^[*][.]+.*$")
14
15   Set(FLIST)
16   Foreach (_current_FILE ${LIST})
17
18     String(REGEX REPLACE "^(.*)${OLD_EXT1}$" "\\1${NEW_EXT1}" res ${_current_FILE})
19     Set (FLIST ${FLIST} ${res})
20
21   Endforeach (_current_FILE ${LIST})
22   Set(${RESULT} ${FLIST})
23
24 Endmacro (CHANGE_FILE_EXTENSION)
25
26 #_______________________________________________________________________________
27 Macro (CHECK_OUT_OF_SOURCE_BUILD)
28
29 # Checks that the binary is built outside the source
30
31    String(COMPARE EQUAL "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" insource)
32    If(insource)
33       File(REMOVE_RECURSE ${CMAKE_SOURCE_DIR}/Testing)
34       File(REMOVE ${CMAKE_SOURCE_DIR}/DartConfiguration.tcl)
35       Message(FATAL_ERROR "ALIROOT should be installed as an out of source build, to keep the source directory clean. Please create a extra build directory and run the command 'cmake path_to_source_dir' in this newly created directory. You have also to delete the directory CMakeFiles and the file CMakeCache.txt in the source directory. Otherwise cmake will complain even if you run it from an out-of-source directory.") 
36    Endif(insource)
37
38 EndMacro (CHECK_OUT_OF_SOURCE_BUILD)
39
40 #_______________________________________________________________________________
41 Function (AddLibrary LIB SRCS DHDRS)
42
43 # Adds an AliRoot library as a target
44
45   Set(_path)
46   List(LENGTH SRCS _len)
47   If(_len GREATER 0)
48     List(GET SRCS 0 _file)
49     Get_filename_component(_path ${_file} PATH)
50 #    Message(STATUS Debug ${_file} ${_path})
51   Endif(_len GREATER 0)
52
53   Set(LDEF)
54   If(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${LIB}LinkDef.h)
55     Set(LDEF "${LIB}LinkDef.h")
56   Endif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${LIB}LinkDef.h)
57
58   If(_path)
59     If(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${_path}/${LIB}LinkDef.h)
60       Set(LDEF "${_path}/${LIB}LinkDef.h")
61     Endif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${_path}/${LIB}LinkDef.h)
62   Endif(_path)
63
64   Set(DICT)
65   If(LDEF)
66 # even with no cxx files, one may want to build an empty lib as a placeholder
67 # in AliRoot this is signalled by the existence of an (empty) ${LIB}LinkDef.h
68     Set(DICT "G__${LIB}.cxx")
69     Set(ASRCS ${SRCS} ${DICT})
70     Root_Generate_Dictionary("${DHDRS}" "${LDEF}" "${DICT}" "${INCLUDE_DIRECTORIES}")
71   Else(LDEF)
72     Message(STATUS "No ${LIB}LinkDef.h found... building lib with no ROOT dict")
73     Set(ASRCS ${SRCS})
74   Endif(LDEF)
75
76   Add_Library(${LIB} SHARED ${ASRCS})
77   Target_Link_Libraries(${LIB} ${ALIROOT_LIBRARIES})
78   Set_Target_Properties(${LIB} PROPERTIES ${ALIROOT_LIBRARY_PROPERTIES})
79   
80   Install(TARGETS ${LIB} DESTINATION ${ALIROOT_INSTALL_DIR}/lib
81     COMPONENT shared)
82
83   If(ALICE_STATIC_BUILD)
84     Add_Library(${LIB}_a STATIC ${ASRCS})
85     Install(TARGETS ${LIB}_a DESTINATION ${ALIROOT_INSTALL_DIR}/lib/static)
86   EndIf(ALICE_STATIC_BUILD)
87
88   If(ARGV3)
89     Install(FILES ${ARGV3} DESTINATION ${ALIROOT_INSTALL_DIR}/include)
90   Endif(ARGV3)
91
92   CheckViols(${LIB} "${SRCS}")
93
94 EndFunction (AddLibrary)
95
96 #_______________________________________________________________________________
97 Macro (SetModule)
98
99 String(REGEX REPLACE "${ALICE_ROOT}/?([^/]*)/?$" "\\1" ALIROOT_MODULE "${CMAKE_CURRENT_SOURCE_DIR}")
100 Add_Definitions(-D_MODULE_=\"${ALIROOT_MODULE}\")
101
102 EndMacro(SetModule)
103
104
105 #_______________________________________________________________________________
106 Function (AddExecutable BIN SRCS LIBS)
107
108 # Adds an AliRoot executable as a target
109
110   Add_Executable(${BIN} ${SRCS})
111   Target_Link_Libraries(${BIN} ${ROOT_LIBRARIES} ${LIBS})
112   Install(TARGETS ${BIN} DESTINATION ${ALIROOT_INSTALL_DIR}/bin)
113
114   If(ALICE_STATIC_BUILD)
115     Add_Executable(${BIN}_a ${SRCS})
116     Set(_ar_libs)
117     Foreach(_lib ${LIBS})
118       Set(_ar_libs ${_ar_libs} ${_lib}_a)
119     EndForeach(_lib ${LIBS})
120     Foreach(_lib ${LIBS})
121       Set(_ar_libs ${_ar_libs} ${_lib}_a)
122     EndForeach(_lib ${LIBS})
123     Target_Link_Libraries(${BIN}_a ${ROOT_LIBRARIES} ${_ar_libs})
124     Install(TARGETS ${BIN}_a DESTINATION ${ALIROOT_INSTALL_DIR}/bin)
125   EndIf(ALICE_STATIC_BUILD)
126
127   CheckViols(${BIN} "${SRCS}")
128
129 EndFunction (AddExecutable)
130
131 #_______________________________________________________________________________
132 Macro (SetupSystem)
133
134 # Set up all system dependencies of AliRoot
135
136 Message(STATUS "Setting up system dependent parameters for ${ALICE_TARGET}" )
137
138 # macosx64
139 If(ALICE_TARGET STREQUAL macosx64) 
140
141   Execute_process(
142     COMMAND sw_vers -productVersion
143     OUTPUT_VARIABLE MACOSX
144     OUTPUT_STRIP_TRAILING_WHITESPACE)
145
146   String(REGEX REPLACE "^(.*)[.](.*)[.](.*)$" "\\1" MACOSX_MAJOR "${MACOSX}")
147   String(REGEX REPLACE "^(.*)[.](.*)[.](.*)$" "\\2" MACOSX_MINOR "${MACOSX}")
148
149   Message(STATUS "Mac OS X ${MACOSX_MAJOR}.${MACOSX_MINOR}")
150
151   Find_Package(fink)
152   
153 #  Set(CMAKE_CXX_COMPILER g++)
154 #  Set(CMAKE_C_COMPILER gcc)
155 # I found no way to make this work...
156 #  Set(CMAKE_CXX_LINK_EXECUTABLE 
157 #    "MACOSX_DEPLOYMENT_TARGET=${MACOSX_MAJOR}.${MACOSX_MINOR} ${CMAKE_CXX_LINK_EXECUTABLE}")
158
159   Set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS} -O -g -flat_namespace -single_module -undefined dynamic_lookup -m64")
160
161   Set(CMAKE_Fortran_FLAGS "-O -g -fno-second-underscore -m64")
162
163   Set(CLIBDEFS "-DCERNLIB_LXIA64 -DCERNLIB_BLDLIB -DCERNLIB_CZ -DCERNLIB_PPC")
164
165   Set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O -g -m64 -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")
166   Set(CMAKE_C_FLAGS   "${CMAKE_C_FLAGS} -O -g -m64 -Wall -W -fno-common -pipe -I${FINK_ROOT}/include")
167
168   If(CMAKE_Fortran_COMPILER MATCHES g95) 
169     Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fbounds-check -ftrace=full -DFORTRAN_G95")
170   Else(CMAKE_Fortran_COMPILER MATCHES g95)
171     Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -DFORTRAN_GFORTRAN")
172     Execute_process(
173       COMMAND gfortran -m64 -print-file-name=libgfortran.dylib
174       OUTPUT_VARIABLE FLIB
175       OUTPUT_STRIP_TRAILING_WHITESPACE)
176     Set(ROOT_LIBRARIES "${ROOT_LIBRARIES} ${FLIB}")
177     Execute_process(
178       COMMAND gfortran -m64 -print-file-name=libgfortranbegin.a
179       OUTPUT_VARIABLE FLIB
180       OUTPUT_STRIP_TRAILING_WHITESPACE)
181     Set(ROOT_LIBRARIES "${ROOT_LIBRARIES} ${FLIB}")
182   Endif(CMAKE_Fortran_COMPILER MATCHES g95) 
183
184 # I think this is useless
185 #  Set(ALIROOT_LIBRARIES "${ROOT_LIBRARIES} -L/usr/X11R6/lib -lX11")
186   Set(ALIROOT_LIBRARIES "${ROOT_LIBRARIES}")
187
188 # Would like to use this, but did not manage on the Mac
189 #Include(FindOpenGL)
190 #Set(ROOT_LIBRARIES ${ROOT_LIBRARIES} ${OPENGL_LIBRARIES})
191 #Set(ROOT_INCLUDE_DIR ${ROOT_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR})
192 # Poor man's version of the above
193   Set(ALIROOT_INCLUDE_DIR ${ROOT_INCLUDE_DIR} /usr/X11/include)
194
195
196 # LD            = export MACOSX_DEPLOYMENT_TARGET=$(MACOSX_MAJOR).$(MACOSX_MINOR) ; \
197 #               unset LD_PREBIND ; \
198 #               g++
199 # ALLD        = ar
200 # ALFLAGS       = cr
201 # ALLIB         = 
202 # AEXT        = a
203
204
205 Endif(ALICE_TARGET STREQUAL macosx64)
206
207 # linuxx8664gcc
208 If(ALICE_TARGET STREQUAL linuxx8664gcc) 
209
210
211   Set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS} -O -g -shared -Wl")
212
213   Set(CMAKE_Fortran_FLAGS "-O -g -fno-second-underscore -m64")
214
215   Set(CLIBDEFS "-DCERNLIB_LXIA64 -DCERNLIB_BLDLIB -DCERNLIB_CZ")
216
217   Set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O -g -m64 -pipe -W -Wall -Weffc++ -Woverloaded-virtual -fmessage-length=0 -Wno-long-long -Dlinux -I/usr/X11R6/include")
218   Set(CMAKE_C_FLAGS   "${CMAKE_C_FLAGS} -O -g -m64 -Wall -W -pipe")
219
220   If(CMAKE_Fortran_COMPILER MATCHES g95) 
221     Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fbounds-check -ftrace=full -DFORTRAN_G95")
222   Else(CMAKE_Fortran_COMPILER MATCHES g95)
223     Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -DFORTRAN_GFORTRAN")
224     Execute_process(
225       COMMAND gfortran -m64 -print-file-name=libgfortran.so
226       OUTPUT_VARIABLE FLIB
227       OUTPUT_STRIP_TRAILING_WHITESPACE)
228     Set(ROOT_LIBRARIES "${ROOT_LIBRARIES} ${FLIB}")
229     Execute_process(
230       COMMAND gfortran -m64 -print-file-name=libgfortranbegin.a
231       OUTPUT_VARIABLE FLIB
232       OUTPUT_STRIP_TRAILING_WHITESPACE)
233     Set(ROOT_LIBRARIES "${ROOT_LIBRARIES} ${FLIB}")
234   Endif(CMAKE_Fortran_COMPILER MATCHES g95) 
235
236   Set(ALIROOT_LIBRARIES "${ROOT_LIBRARIES}")
237
238   Set(ALIROOT_INCLUDE_DIR ${ROOT_INCLUDE_DIR} /usr/X11/include)
239
240 Endif(ALICE_TARGET STREQUAL linuxx8664gcc)
241
242 # linux
243 If(ALICE_TARGET STREQUAL linux) 
244
245
246   Set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS} -O -g -shared -Wl")
247
248   Set(CMAKE_Fortran_FLAGS "-O -g -fno-second-underscore -m32")
249
250   Set(CLIBDEFS "-DCERNLIB_LINUX -DCERNLIB_BLDLIB -DCERNLIB_CZ")
251
252   Set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O -g -m32 -pipe -W -Wall -Weffc++ -Woverloaded-virtual -fmessage-length=0 -Wno-long-long -Dlinux -I/usr/X11R6/include")
253   Set(CMAKE_C_FLAGS   "${CMAKE_C_FLAGS} -O -g -m32 -Wall -W -pipe")
254
255   If(CMAKE_Fortran_COMPILER MATCHES g95) 
256     Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fbounds-check -ftrace=full -DFORTRAN_G95")
257   Else(CMAKE_Fortran_COMPILER MATCHES g95)
258     Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -DFORTRAN_GFORTRAN")
259     Execute_process(
260       COMMAND gfortran -m32 -print-file-name=libgfortran.so
261       OUTPUT_VARIABLE FLIB
262       OUTPUT_STRIP_TRAILING_WHITESPACE)
263     Set(ROOT_LIBRARIES "${ROOT_LIBRARIES} ${FLIB}")
264     Execute_process(
265       COMMAND gfortran -m32 -print-file-name=libgfortranbegin.a
266       OUTPUT_VARIABLE FLIB
267       OUTPUT_STRIP_TRAILING_WHITESPACE)
268     Set(ROOT_LIBRARIES "${ROOT_LIBRARIES} ${FLIB}")
269   Endif(CMAKE_Fortran_COMPILER MATCHES g95) 
270
271   Set(ALIROOT_LIBRARIES "${ROOT_LIBRARIES}")
272
273   Set(ALIROOT_INCLUDE_DIR ${ROOT_INCLUDE_DIR} /usr/X11/include)
274
275 Endif(ALICE_TARGET STREQUAL linux)
276
277 # macosx
278 If(ALICE_TARGET STREQUAL macosx) 
279
280   Execute_process(
281     COMMAND sw_vers -productVersion
282     OUTPUT_VARIABLE MACOSX
283     OUTPUT_STRIP_TRAILING_WHITESPACE)
284
285   String(REGEX REPLACE "^(.*)[.](.*)[.](.*)$" "\\1" MACOSX_MAJOR "${MACOSX}")
286   String(REGEX REPLACE "^(.*)[.](.*)[.](.*)$" "\\2" MACOSX_MINOR "${MACOSX}")
287
288   Message(STATUS "Mac OS X ${MACOSX_MAJOR}.${MACOSX_MINOR}")
289
290   Find_Package(fink)
291   
292   Set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS} -O -g -flat_namespace -single_module -undefined dynamic_lookup -m32")
293
294   Set(CMAKE_Fortran_FLAGS "-O -g -fno-second-underscore -m32")
295
296   Set(CLIBDEFS "-DCERNLIB_LINUX -DCERNLIB_BLDLIB -DCERNLIB_CZ -DCERNLIB_PPC")
297
298   Set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O -g -m32 -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")
299   Set(CMAKE_C_FLAGS   "${CMAKE_C_FLAGS} -O -g -m32 -Wall -W -fno-common -pipe -I${FINK_ROOT}/include")
300
301   If(CMAKE_Fortran_COMPILER MATCHES g95) 
302     Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fbounds-check -ftrace=full -DFORTRAN_G95 -single_module")
303   Else(CMAKE_Fortran_COMPILER MATCHES g95)
304     Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS}  -single_module -DFORTRAN_GFORTRAN")
305     Execute_process(
306       COMMAND gfortran -m32 -print-file-name=libgfortran.dylib
307       OUTPUT_VARIABLE FLIB
308       OUTPUT_STRIP_TRAILING_WHITESPACE)
309     Set(ROOT_LIBRARIES "${ROOT_LIBRARIES} ${FLIB}")
310     Execute_process(
311       COMMAND gfortran -m32 -print-file-name=libgfortranbegin.a
312       OUTPUT_VARIABLE FLIB
313       OUTPUT_STRIP_TRAILING_WHITESPACE)
314     Set(ROOT_LIBRARIES "${ROOT_LIBRARIES} ${FLIB}")
315   Endif(CMAKE_Fortran_COMPILER MATCHES g95) 
316
317   Set(ALIROOT_LIBRARIES "${ROOT_LIBRARIES}")
318
319   Set(ALIROOT_INCLUDE_DIR ${ROOT_INCLUDE_DIR} /usr/X11/include)
320
321 Endif(ALICE_TARGET STREQUAL macosx)
322
323 # solarisCC5
324 If(ALICE_TARGET STREQUAL solarisCC5) 
325
326   Set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS} -O -g")
327
328   Set(CLIBDEFS "-DCERNLIB_SUN -DCERNLIB_BLDLIB -DCERNLIB_CZ")
329
330   Set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O -g +w -KPIC -template=no%extdef")
331   Set(CMAKE_C_FLAGS   "${CMAKE_C_FLAGS} -O -g -KPIC -erroff=%none")
332
333   Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -O -g -KPIC -erroff=%none")
334
335   Set(ALIROOT_LIBRARIES "${ROOT_LIBRARIES}")
336
337   Set(ALIROOT_INCLUDE_DIR ${ROOT_INCLUDE_DIR} /usr/X11/include)
338
339   Set(CMAKE_CXX_LINK_EXECUTABLE "${CMAKE_CXX_LINK_EXECUTABLE} -L/usr/dt/lib -L/usr/openwin/lib -L/usr/ccs/lib -lXm -lXt -lX11 -lm -lgen -ldl -lsocket -lsunmath -lfsu -lfui -lnsl")
340
341 Endif(ALICE_TARGET STREQUAL solarisCC5)
342
343 EndMacro (SetupSystem)
344
345 # ../build/Makefile.alphacxx6
346 # # -*- mode: makefile -*-
347 # # Makefile to build AliRoot for Alpha OSF1
348
349 # # System dependent commands
350
351 # XARGS = xargs
352
353 # # The compilers
354 # CXX           = cxx 
355 # F77         = f77
356
357 # # Global optimisation
358 # OPT           = -O
359 # NOOPT       = -O0 
360
361 # CXXOPT              = $(OPT)
362 # CXXNOOPT      = $(NOOPT)
363 # COPT        = $(OPT)
364 # FOPT        = $(OPT)
365
366 # # CERNLIB defines
367 # CLIBDEFS      = -DCERNLIB_DECS -DCERNLIB_BLDLIB -DCERNLIB_CZ
368 # CLIBCXXOPTS   =
369 # CLIBCOPT      =
370 # CLIBFOPT      = -I. $(CLIBDEFS)
371
372 # # Compiler flags
373 # CXXFLAGS      = $(CXXOPT)   -nostdnew -rtti -taso
374 # CXXFLAGSNO    = $(CXXNOOPT) -nostdnew -rtti -taso
375 # CFLAGS              = $(COPT) -fPIC -pipe -mcpu=ev5 -D__osf__ -D__alpha
376 # FFLAGS        = $(FOPT) -nofor_main -warn noinformational -taso $(CLIBFOPT)
377 # # rmkdepend flags for building dependencies of FORTRAN files
378 # DEPENDFFLAGS  = $(filter-out -warn noinformational,$(FFLAGS))
379
380 # # rootcint flags
381 # CINTFLAGS     = -D__DECCXX
382 #               
383 # LD            = cxx
384 # LDFLAGS       = 
385
386 # SHLD        = ld
387 # SOFLAGS       =  -L/usr/lib/cmplrs/cxx -rpath /usr/lib/cmplrs/cxx \
388 #                  -expect_unresolved "*" -msym -shared -taso \
389 #                  /usr/lib/cmplrs/cc/crt0.o /usr/lib/cmplrs/cxx/_main.o
390
391 # SHLIB         = -lUfor -lfor -lFutil
392 # SOEXT               = so
393
394 # #System libraries
395
396 # # Flags for static libraries
397 # AFLAGS = $(filter-out -rpath /usr/lib/cmplrs/cxx -msym -shared /usr/lib/cmplrs/cc/crt0.o,$(SOFLAGS))
398 # AFLAGS += $(SHLIB)
399
400 # # Additional flags and libraries for building aliroot executable
401 # SYSLIBS     := -lXm -lXt -lX11 -lPW -lUfor -lfor -lFutil -lots -taso -lbsd
402
403 # # Cure funny problem 
404 # # sometimes in dependencies system include files of the sort
405 # # /usr/.../filename AND /usr/.../filename.cc are present
406 # # DEC believes that /usr/.../filename is the executable to be
407 # # built from /usr/.../filename.cc 
408 # # Just avoid this to happen
409
410 # % : %.cc
411 #       @;
412
413
414
415
416
417
418
419
420
421 # ../build/Makefile.hpuxacc
422 # # -*- mode: makefile -*-
423 # # Makefile to build AliRoot on HP-UX
424
425 # # System dependent commands
426
427 # XARGS = xargs
428
429 # # The compilers
430 # CXX           = aCC
431 # F77         = f77
432 # CC          = cc
433
434 # # Global optimisation
435 # OPT           = -g -O
436 # NOOPT         = -g
437
438 # CXXOPT        = $(OPT)
439 # CXXNOOPT      = $(NOOPT)
440 # COPT          = $(OPT)
441 # FOPT          = $(OPT)
442
443 # # CERNLIB defines
444 # CLIBDEFS      = -DCERNLIB_HPUX -DCERNLIB_BLDLIB -DCERNLIB_CZ
445 # CLIBCXXOPTS   =
446 # CLIBCOPT      = +z -Ae 
447 # CLIBFOPT      = $(CLIBDEFS) -WF,-P
448
449 # CXXFLAGS      = $(CXXOPT)   -Wc,-ansi_for_scope,on +Z -z +W70,495,740,749,823,829 -Dextname
450 # CXXFLAGSNO    = $(CXXNOOPT) -Wc,-ansi_for_scope,on +Z -z +W70,495,740,749,823,829 -Dextname
451 # CFLAGS              = $(COPT) +Z -Ae
452 # FFLAGS        = $(CLIBFOPT) $(FOPT) +ppu +Z
453 # # rmkdepend flags for building dependencies of FORTRAN files
454 # DEPENDFFLAGS  = $(FFLAGS)
455
456 # # rootcint flags
457 # CINTFLAGS     = 
458
459 # LD            = aCC
460 # LDFLAGS       = $(OPT) -z -Wl,+s -Wl,-E
461
462 # SHLD        = $(LD)
463 # SOFLAGS       = -b /usr/lib/libm.sl 
464
465 # SOEXT               = sl
466
467 # # additional ROOT libraries
468 # SYSLIBS      := -lcrypt -L/usr/lib/X11R6 -lX11 
469
470
471
472
473
474 # ../build/Makefile.linuxalphagcc
475 # # -*- mode: makefile -*-
476 # # Makefile to build AliRoot for Linux on alpha
477
478 # # System dependent commands
479
480 # XARGS = xargs -r
481
482 # # The compilers
483 # CXX           = g++ 
484 # F77         = g77
485 # CC          = gcc
486 # CCMAJORV      = $(shell $(CC) -dumpversion | cut -d. -f1)
487 # CCMINORV      = $(shell $(CC) -dumpversion | cut -d. -f2)
488
489 # # Global optimisation
490 # OPT           = -O -g -mieee -mno-soft-float
491 # NOOPT         = -g -mieee -mno-soft-float
492
493 # CXXOPT        = $(OPT)
494 # CXXNOOPT      = $(NOOPT)
495 # COPT        = $(OPT)
496 # FOPT        = $(OPT)
497
498 # # CERNLIB defines
499 # CLIBDEFS      = -DCERNLIB_UNIX -DCERNLIB_DECS -DCERNLIB_BLDLIB -DCERNLIB_CZ
500 # CLIBCXXOPTS   =
501 # CLIBCOPT      =
502 # CLIBFOPT      = $(CLIBDEFS)
503
504 # # Compiler flags
505
506 # CXXFLAGS       = $(OPT) -Wall -fPIC -pipe
507 # CXXFLAGSNO     = $(NOOPT) -Wall -fPIC -pipe
508 # CFLAGS               = $(OPT) -Wall -fPIC -pipe -ansi
509 # FFLAGS         = $(CLIBFOPT) $(FOPT) -Wall -fPIC -pipe -fno-second-underscore
510 # # rmkdepend flags for building dependencies of FORTRAN files
511 # DEPENDFFLAGS   = $(FFLAGS)
512
513 # # rootcint flags
514 # CINTFLAGS     = 
515
516 # LD            = g++
517 # LDFLAGS       = $(OPT) 
518
519 # SHLD        = $(LD)
520 # SOFLAGS       = $(OPT) -Wall -fPIC -pipe -shared -Wl
521 # SHLIB         = -lg2c
522 # SOEXT               = so
523
524 # ALLD        = ar
525 # ALFLAGS       = cr
526 # ALLIB         = 
527 # AEXT        = a
528
529 # #System libraries
530 # SYSLIBS      := -ldl -lg2c -lcrypt -L/usr/X11R6/lib -lX11
531
532
533
534
535
536 # ../build/Makefile.linuxia64ecc
537 # # -*- mode: makefile -*-
538 # # Makefile for AliRoot for Itanium/Linux with Intel icc compiler
539
540 # # System dependent commands
541
542 # XARGS = xargs -r
543
544 # # The compilers
545 # CXX           = icc 
546 # F77         = ifort
547 # CC          = icc
548
549 # # Global optimisation
550 # OPT           = -g #-O
551 # NOOPT         = -g
552
553 # CXXOPT        = $(OPT)
554 # CXXNOOPT      = $(OPT)
555 # COPT        = $(OPT)
556 # FOPT        = $(OPT)
557
558 # # CERNLIB defines
559 # CLIBDEFS      = -DCERNLIB_LXIA64 -DCERNLIB_BLDLIB -DCERNLIB_CZ
560 # CLIBCXXOPTS   =
561 # CLIBCOPT      =
562 # CLIBFOPT      = $(CLIBDEFS)
563
564 # # Compiler flags
565 # CXXFLAGS      = $(CXXOPT)
566 # CXXFLAGSNO    = $(CXXNOOPT)
567 # CFLAGS              = $(COPT)
568 # FFLAGS        = $(CLIBFOPT) $(FOPT)
569 # # rmkdepend flags for building dependencies of FORTRAN files
570 # DEPENDFFLAGS  = $(FFLAGS)
571
572 # # rootcint flags
573 # CINTFLAGS     = 
574
575 # LD            = icpc
576 # LDFLAGS       = $(OPT) 
577
578 # SHLD        = $(LD)
579 # SOFLAGS       = -Wl,-soname,$$TMPLIB -shared -O
580 # SHLIB         =
581 # SOEXT               = so
582
583 # ALLD        = ar
584 # ALFLAGS       = cr
585 # ALLIB         = 
586 # AEXT        = a
587
588 # # additional ROOT libraries
589
590 # LIBNOVER      = `find /lib -name 'libNoVersion*.so' | xargs --replace basename {} .so | sed -e 's/lib/ -l/'`
591
592 # SYSLIBS      := $(LIBNOVER) -lcrypt -L/usr/local/lib -lXt -lCEPCF90 -lF90 \
593 #                 -lPEPCF90 -lintrins -L/usr/X11R6/lib -lX11
594 # ../build/Makefile.linuxia64gcc
595 # # -*- mode: makefile -*-
596 # # Makefile for AliRoot for Itanium/Linux with gcc
597
598 # # System dependent commands
599
600 # XARGS = xargs -r
601
602 # # The compilers
603 # CXX           = g++ 
604 # F77         = g77
605 # CC          = gcc
606
607 # # Global optimisation
608 # OPT           = -g -O
609 # NOOPT         = -g
610
611 # CXXOPT        = $(OPT)
612 # CXXNOOPT      = $(NOOPT)
613 # COPT        = $(OPT)
614 # FOPT        = $(OPT)
615
616 # # CERNLIB defines
617 # CLIBDEFS      = -DCERNLIB_LXIA64 -DCERNLIB_BLDLIB -DCERNLIB_CZ
618 # CLIBCXXOPTS   =
619 # CLIBCOPT      =
620 # CLIBFOPT      = $(CLIBDEFS)
621
622 # # Compiler flags
623 # CXXFLAGS      = $(CXXOPT)  -Wall -Weffc++ -fPIC -pipe
624 # CXXFLAGSNO    = $(CXXNOOPT)  -Wall -Weffc++ -fPIC -pipe
625 # CFLAGS              = -Wall -fPIC -pipe
626 # FFLAGS        = $(CLIBFOPT) $(FOPT) -fno-second-underscore
627 # # rmkdepend flags for building dependencies of FORTRAN files
628 # DEPENDFFLAGS = $(FFLAGS)
629
630 # # rootcint flags
631 # CINTFLAGS     = 
632
633 # LD            = g++
634 # LDFLAGS       = $(OPT) -Wl,-Map -Wl,$@.map
635
636 # SHLD        = $(LD)
637 # SOFLAGS       = -shared -Wl -O2
638 # SOEXT               = so
639
640 # ALLD        = ar
641 # ALFLAGS       = cr
642 # ALLIB         = 
643 # AEXT        = a
644
645 # # additional ROOT libraries
646
647 # LIBNOVER      = `find /lib -name 'libNoVersion*.so' | xargs --replace basename {} .so | sed -e 's/lib/ -l/'`
648
649 # #System libraries
650 # SYSLIBS      := -ldl -lbsd -lg2c -L/usr/X11R6/lib -lX11  $(LIBNOVER)
651
652
653
654
655
656 # ../build/Makefile.linuxicc
657 # # -*- mode: makefile -*-
658 # # Makefile for AliRoot for Linux with the Intel icc compiler
659
660 # # System dependent commands
661
662 # XARGS = xargs -r
663
664 # # The compilers
665 # CXX           = icc
666 # CC            = icc
667
668 # # Compiler version:
669 # ICC_MAJOR    := $(shell $(CXX) -V 2>&1 | awk '{ if (NR==1) print $$8 }' | \
670 #                 cut -d'.' -f1)
671 # ICC_MINOR    := $(shell $(CXX) -V 2>&1 | awk '{ if (NR==1) print $$8 }' | \
672 #                 cut -d'.' -f2)
673
674 # F77           = ifort
675
676 # # Global optimisation
677 # OPT           = -O -ip
678 # NOOPT         = -O0
679
680 # CXXOPT        = $(OPT)
681 # CXXNOOPT      = $(NOOPT)
682 # COPT          = $(OPT)
683 # FOPT          = $(OPT)
684
685 # # CERNLIB defines
686 # CLIBDEFS      = -DCERNLIB_LINUX -DCERNLIB_BLDLIB -DCERNLIB_CZ
687 # CLIBCXXOPTS   =
688 # CLIBCOPT      =
689 # CLIBFOPT      = $(CLIBDEFS)
690
691 # # Compiler flags
692 # CXXFLAGS      = $(CXXOPT)
693 # CXXFLAGSNO    = $(CXXNOOPT)
694 # CFLAGS        = $(COPT)
695 # FFLAGS        = $(CLIBFOPT) $(FOPT)
696 # # rmkdepend flags for building dependencies of FORTRAN files
697 # DEPENDFFLAGS  = $(FFLAGS)
698
699 # # rootcint flags
700 # CINTFLAGS     =
701
702 # LD            = icpc
703 # LDFLAGS       = $(OPT)
704
705 # SHLD          = $(LD)
706 # SOFLAGS       = -Wl,-soname,$$TMPLIB -shared $(OPT)
707 # SHLIB         =
708 # SOEXT               = so
709
710 # ALLD          = ar
711 # ALFLAGS       = cr
712 # ALLIB         =
713 # AEXT        = a
714
715 # # additional ROOT libraries
716
717 # LIBNOVER      = `find /lib -name 'libNoVersion*.so' | xargs --replace basename {} .so | sed -e 's/lib/ -l/'`
718
719 # #System libraries
720 # SYSLIBS      := -lcrypt -L/usr/X11R6/lib -lX11 $(LIBNOVER) -L/usr/local/lib \
721 #                 -lXt -L$(shell which ifort | sed -e 's|bin/ifort|lib|') \
722 #                 -lifcore -lifport
723 # ../build/Makefile.macosxicc
724 # # -*- mode: makefile -*-
725 # # Makefile for AliRoot for MacOS X with gcc
726
727 # XARGS = xargs
728
729 # # fink directories
730 # FINK_ROOT := $(shell which fink | sed -e 's?/bin/fink??')
731 # ifeq (,$(FINK_ROOT))
732 # # No fink, build will probably fail, but we try a guess
733 # FINK_ROOT=/usr/local
734 # endif
735
736 # # The compilers
737 # CXX           = icc 
738 # CC          = icc
739
740 # F77         = ifort
741
742 # # Global optimisation
743 # OPT           = -O -g
744 # NOOPT         = -g
745
746 # CXXOPT        = $(OPT) 
747 # CXXNOOPT      = $(NOOPT) 
748 # COPT        = $(OPT)
749 # FOPT        = $(OPT)
750
751 # # CERNLIB defines
752 # CLIBDEFS      = -DCERNLIB_LINUX -DCERNLIB_BLDLIB -DCERNLIB_CZ -DCERNLIB_PPC
753 # CLIBCXXOPTS   =
754 # CLIBCOPT      =
755 # CLIBFOPT      = $(CLIBDEFS)
756
757 # # Compiler flags
758 # CXXFLAGS      = $(CXXOPT) -fPIC -wd1476 -I/usr/X11R6/include -I$(FINK_ROOT)/include 
759
760 # CXXFLAGSNO    = $(CXXNOOPT) 
761
762 # CFLAGS              = $(COPT) -fPIC -restrict -I$(FINK_ROOT)/include
763
764 # FFLAGS        = $(CLIBFOPT) $(FOPT)
765 # # rmkdepend flags for building dependencies of FORTRAN files
766 # DEPENDFFLAGS  = $(FFLAGS)
767
768 # # rootcint flags
769 # CINTFLAGS     = 
770
771 # LD            = icpc
772 # LDFLAGS       = $(OPT) $(DICTLOAD)
773
774 # SHLD       := $(LD)
775 # SOFLAGS      := $(OPT) -dynamiclib -undefined dynamic_lookup -single_module
776 # SHLIB        := 
777 # SOEXT              := so
778
779 # DYLD       := $(LD)
780 # DYFLAGS       = -dynamiclib -undefined dynamic_lookup -single_module
781 # DYLIB        := 
782 # DYEXT        := dylib
783
784 # ALLD        = ar
785 # ALFLAGS       = cr
786 # ALLIB         = 
787 # AEXT        = a
788
789 # DEPENDCXXFLAGS = $(CXXFLAGS) -I/usr/include/sys
790
791 # EXEFLAGS     := -bind_at_load 
792
793 # #System libraries
794
795 # SYSLIBS      := -L/usr/X11R6/lib -lX11 -lGL $(LIBNOVER) -L/usr/local/lib \
796 #                 -lXt -L$(shell which ifort | sed -e 's|bin/ifort|lib|') \
797 #                 -lifcore -lifport
798
799
800 # ../build/Makefile.macosxxlc
801 # # -*- mode: makefile -*-
802 # # Makefile for AliRoot for MacOS X using the IBM xlc compiler
803
804 # # The compilers
805 # CXX           = xlC
806 # F77         = xlf
807 # CC          = xlc
808
809 # # Global optimisation
810 # OPT           = -qnoopt #-O3 -g
811 # NOOPT         = -qnoopt
812
813 # CXXOPT        = $(OPT) 
814 # CXXNOOPT      = $(NOOPT) 
815 # COPT        = $(OPT)
816 # FOPT        = $(OPT) 
817
818 # # CERNLIB defines
819 # CLIBDEFS      = -DCERNLIB_LINUX -DCERNLIB_BLDLIB -DCERNLIB_CZ
820 # CLIBCXXOPTS   =
821 # CLIBCOPT      =
822 # CLIBFOPT      = $(shell echo $(CLIBDEFS) | sed -e's/-D/-WF,-D/g')
823
824 # # Compiler flags
825 # CXXFLAGS      = $(CXXOPT) -qpic -I/sw/include \
826 #                 -qflttrap=overflow:zerodivide:invalid:inexact:enable
827 # CXXFLAGSNO    = $(CXXNOOPT) -qpic -I/sw/include \
828 #                 -qflttrap=overflow:zerodivide:invalid:inexact:enable
829 # CFLAGS              = -qpic -qextname -I/sw/include \
830 #                 -qflttrap=overflow:zerodivide:invalid:inexact:enable
831 # FFLAGS        = $(CLIBFOPT)  $(FOPT) -qpic \
832 #                 -qflttrap=overflow:zerodivide:invalid:inexact:enable
833 # # rmkdepend flags for building dependencies 
834 # DEPENDFFLAGS  = $(FFLAGS)
835 # DEPENDCXXFLAGS = $(CXXFLAGS) -I/usr/include/sys
836
837 # # rootcint flags
838 # CINTFLAGS     = 
839 #               
840 # LD            = xlC
841 # LDFLAGS       = $(OPT) 
842
843 # SHLD       := export MACOSX_DEPLOYMENT_TARGET=10.3 ; \
844 #               unset LD_PREBIND ; \
845 #               xlC
846 # SOFLAGS      := -bundle -undefined dynamic_lookup
847 # #SHLIB        := -lg2c
848 # SHLIB        :=
849 # SOEXT              := so
850
851 # DYLD       := export MACOSX_DEPLOYMENT_TARGET=10.3 ; \
852 #               unset LD_PREBIND ; \
853 #               xlC
854 # DYFLAGS       = -qmkshrobj -undefined dynamic_lookup -single_module
855 # DYLIB        :=
856 # DYEXT        := dylib
857
858 # ALLD        = ar
859 # ALFLAGS       = cr
860 # ALLIB         = 
861 # AEXT        = a
862
863
864 # #System libraries
865 # SYSLIBS      := -ldl -L/usr/X11R6/lib -lX11
866
867 # EXEFLAGS     := -Wl,-bind_at_load
868
869
870
871
872 # ../build/Makefile.solarisCC5
873 # # -*- mode: makefile -*-
874 # # Makefile to build ALIROOT for SunOS
875
876 # # System dependent commands
877
878 # XARGS = xargs
879
880 # # The compilers
881 # CXX           = /opt/SUNWspro/bin/CC
882 # CC          = /opt/SUNWspro/bin/cc
883 # F77         = /opt/SUNWspro/bin/f77
884
885 # # Global optimisation
886 # OPT           = -g -O 
887 # NOOPT         = -g
888
889 # CXXOPT        = $(OPT)
890 # CXXNOOPT      = $(NOOPT)
891 # COPT        = $(OPT)
892 # FOPT        = $(OPT)
893
894 # # CERNLIB defines
895 # CLIBDEFS      = -DCERNLIB_SUN -DCERNLIB_BLDLIB -DCERNLIB_CZ
896 # CLIBCXXOPTS   =
897 # CLIBCOPT      =
898 # CLIBFOPT      = $(CLIBDEFS) -xpp=cpp
899 #               
900 # # Compiler flags
901 # CXXFLAGS      = $(CXXOPT) +w -KPIC -features=rtti -D_XOPEN_SOURCE -D_XOPEN_VERSION=4 -D__EXTENSIONS__
902 # CXXFLAGSNO    = $(CXXNOOPT) +w -KPIC -features=rtti
903 # CFLAGS              = $(COPT) -KPIC -erroff=%none
904 # FFLAGS        = $(FOPT) $(CLIBFOPT) $(CLIBDEFS)  -KPIC
905 # # rmkdepend flags for building dependencies of FORTRAN files
906 # DEPENDFFLAGS  = $(FFLAGS) 
907
908 # # rootcint flags
909 # CINTFLAGS     = 
910
911 # SHLIB         = 
912 # SOEXT               = so
913
914 # LD            = /opt/SUNWspro/bin/CC
915 # LDFLAGS       = $(OPT) -Qoption ld -t
916
917 # SHLD        = $(LD)
918 # SOFLAGS       = -G $(LDFLAGS) $(SHLIB)  
919
920 # SYSLIBS      := -L/usr/dt/lib -L/usr/openwin/lib -L/usr/ccs/lib -lXm -lXt \
921 #                 -lX11 -lm -lgen -ldl -lsocket -lsunmath -lfsu -lfui -lnsl
922
923 # # Additional flags and libraries for building aliroot executable
924
925 # EXEFLAGS     := -O -Qoption ld -t 
926
927
928
929
930
931 # ../build/Makefile.win32gcc
932 # # -*- mode: makefile -*-
933 # # Makefile to build AliRoot for Linux
934
935 # # System dependent commands
936
937 # XARGS = xargs -r
938
939 # # The compilers
940 # CXX           = g++ 
941 # F77         = g77
942 # CC          = gcc
943 # CCMAJORV      = $(shell $(CC) -dumpversion | cut -d. -f1)
944 # CCMINORV      = $(shell $(CC) -dumpversion | cut -d. -f2)
945
946 # # Global optimisation
947 # OPT           = -O -g
948 # NOOPT         = -g
949
950 # CXXOPT        = $(OPT)
951 # CXXNOOPT      = $(NOOPT)
952 # COPT        = $(OPT)
953 # FOPT        = $(OPT)
954
955 # # CERNLIB defines
956 # CLIBDEFS      = -DCERNLIB_LINUX -DCERNLIB_BLDLIB -DCERNLIB_CZ
957 # CLIBCXXOPTS   =
958 # CLIBCOPT      =
959 # CLIBFOPT      = $(CLIBDEFS)
960
961 # # Compiler flags
962 # CXXFLAGS       = $(OPT) -Wall -pipe -Woverloaded-virtual -Weffc++ -D_DLL
963 # CXXFLAGSNO     = $(NOOPT) -Wall -pipe -Woverloaded-virtual -Weffc++ -D_DLL
964 # CFLAGS               = $(OPT) -Wall -D_DLL
965 # FFLAGS         = $(CLIBFOPT) $(FOPT) -fno-second-underscore
966 # # rmkdepend flags for building dependencies of FORTRAN files
967 # DEPENDFFLAGS   = $(FFLAGS)
968
969 # # rootcint flags
970 # CINTFLAGS     = 
971
972 # LD            = g++
973 # LDFLAGS       = $(OPT) 
974
975 # SHLD        = $(LD)
976 # SOFLAGS       = $(OPT) -shared -Wl,--export-all-symbols -Wl,-soname=$$TMPLIB -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc
977 # SHLIB         = $(shell root-config --libs) -lg2c
978 # SOEXT               = dll
979
980 # ALLD        = ar
981 # ALFLAGS       = cr
982 # ALLIB         = 
983 # AEXT        = a
984
985 # # additional ROOT libraries
986
987 # #System libraries
988 # SYSLIBS      := -ldl -lg2c -lcrypt -L/usr/X11R6/lib -lX11
989
990
991
992
993
994
995
996
997
998
999