2 #_______________________________________________________________________________
3 Macro(CHANGE_FILE_EXTENSION OLD_EXT NEW_EXT RESULT LIST)
5 # This is probably an obsolete Macro
7 If (${OLD_EXT} MATCHES "^[*][.]+.*$")
8 String(REGEX REPLACE "^[*]+([.].*)$" "\\1" OLD_EXT1 ${OLD_EXT})
9 Endif (${OLD_EXT} MATCHES "^[*][.]+.*$")
11 If (${NEW_EXT} MATCHES "^[*][.]+.*$")
12 String(REGEX REPLACE "^[*]+([.].*)" "\\1" NEW_EXT1 ${NEW_EXT})
13 Endif (${NEW_EXT} MATCHES "^[*][.]+.*$")
16 Foreach (_current_FILE ${LIST})
18 String(REGEX REPLACE "^(.*)${OLD_EXT1}$" "\\1${NEW_EXT1}" res ${_current_FILE})
19 Set (FLIST ${FLIST} ${res})
21 Endforeach (_current_FILE ${LIST})
22 Set(${RESULT} ${FLIST})
24 Endmacro (CHANGE_FILE_EXTENSION)
26 #_______________________________________________________________________________
27 Macro (CHECK_OUT_OF_SOURCE_BUILD)
29 # Checks that the binary is built outside the source
31 String(COMPARE EQUAL "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" 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.")
38 EndMacro (CHECK_OUT_OF_SOURCE_BUILD)
40 #_______________________________________________________________________________
41 Function (AddLibrary LIB SRCS DHDRS)
43 # Adds an AliRoot library as a target
45 # Message(STATUS Debug ${LIB})
47 List(LENGTH SRCS _len)
49 List(GET SRCS 0 _file)
50 Get_filename_component(_path ${_file} PATH)
51 # Message(STATUS Debug ${_file} ${_path})
55 If(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${LIB}LinkDef.h)
56 Set(LDEF "${LIB}LinkDef.h")
57 Endif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${LIB}LinkDef.h)
60 If(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${_path}/${LIB}LinkDef.h)
61 Set(LDEF "${_path}/${LIB}LinkDef.h")
62 Endif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${_path}/${LIB}LinkDef.h)
65 # Message(STATUS Debug - ${CMAKE_CURRENT_SOURCE_DIR} - ${LIB} - ${LDEF})
68 # Message(STATUS Debug ${LDEF})
70 # even with no cxx files, one may want to build an empty lib as a placeholder
71 # in AliRoot this is signalled by the existence of an (empty) ${LIB}LinkDef.h
72 Set(DICT "G__${LIB}.cxx")
73 Set(ASRCS ${SRCS} ${DICT})
74 Root_Generate_Dictionary("${DHDRS}" "${LDEF}" "${DICT}" "${INCLUDE_DIRECTORIES}")
75 If(ALICE_STATIC_BUILD)
76 Set(STATIC_DICT "G__${LIB}_a.cxx")
77 Set(STATIC_ASRCS ${SRCS} ${STATIC_DICT})
78 Root_Generate_Dictionary("${DHDRS}" "${LDEF}" "${STATIC_DICT}" "${INCLUDE_DIRECTORIES}")
79 EndIf(ALICE_STATIC_BUILD)
81 Message(STATUS "No ${LIB}LinkDef.h found... building lib with no ROOT dict")
83 If(ALICE_STATIC_BUILD)
84 Set(STATIC_ASRCS ${SRCS})
85 EndIf(ALICE_STATIC_BUILD)
88 Add_Library(${LIB} SHARED ${ASRCS})
89 Target_Link_Libraries(${LIB} ${ALIROOT_LIBRARIES})
90 Set_Target_Properties(${LIB} PROPERTIES ${ALIROOT_LIBRARY_PROPERTIES})
92 Install(TARGETS ${LIB} DESTINATION ${ALIROOT_INSTALL_DIR}/lib
95 If(ALICE_STATIC_BUILD)
96 Add_Library(${LIB}_a STATIC ${STATIC_ASRCS})
97 Install(TARGETS ${LIB}_a DESTINATION ${ALIROOT_INSTALL_DIR}/lib/static)
98 EndIf(ALICE_STATIC_BUILD)
101 Install(FILES ${ARGV3} DESTINATION ${ALIROOT_INSTALL_DIR}/include)
104 CheckViols(${LIB} "${SRCS}")
106 EndFunction (AddLibrary)
107 #_______________________________________________________________________________
108 Function (AddHLTLibrary LIB SRCS DHDRS)
110 # Adds an AliRoot library as a target
113 List(LENGTH SRCS _len)
115 List(GET SRCS 0 _file)
116 Get_filename_component(_path ${_file} PATH)
117 #Message(STATUS Debug ${_file} ${_path})
118 Endif(_len GREATER 0)
121 If(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/${LIB}LinkDef.h)
122 Set(LDEF "${CMAKE_CURRENT_BINARY_DIR}/${LIB}LinkDef.h")
123 Endif(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/${LIB}LinkDef.h)
126 If(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${LIB}LinkDef.h)
127 Set(LDEF "${LIB}LinkDef.h")
128 Endif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${LIB}LinkDef.h)
131 If(_path AND NOT LDEF)
132 If(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${_path}/${LIB}LinkDef.h)
133 Set(LDEF "${_path}/${LIB}LinkDef.h")
134 Endif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${_path}/${LIB}LinkDef.h)
135 Endif(_path AND NOT LDEF)
139 # even with no cxx files, one may want to build an empty lib as a placeholder
140 # in AliRoot this is signalled by the existence of an (empty) ${LIB}LinkDef.h
141 Set(DICT "G__${LIB}.cxx")
142 Set(ASRCS ${SRCS} ${DICT})
143 Root_Generate_Dictionary("${DHDRS}" "${LDEF}" "${DICT}" "${INCLUDE_DIRECTORIES}")
144 If(ALICE_STATIC_BUILD)
145 Set(STATIC_DICT "G__${LIB}_a.cxx")
146 Set(STATIC_ASRCS ${SRCS} ${STATIC_DICT})
147 Root_Generate_Dictionary("${DHDRS}" "${LDEF}" "${STATIC_DICT}" "${INCLUDE_DIRECTORIES}")
148 EndIf(ALICE_STATIC_BUILD)
150 Message(STATUS "No ${LIB}LinkDef.h found... building lib with no ROOT dict")
152 If(ALICE_STATIC_BUILD)
153 Set(STATIC_ASRCS ${SRCS})
154 EndIf(ALICE_STATIC_BUILD)
157 Add_Library(${LIB} SHARED ${ASRCS})
158 Target_Link_Libraries(${LIB} ${ALIROOT_LIBRARIES})
159 Set_Target_Properties(${LIB} PROPERTIES ${ALIROOT_LIBRARY_PROPERTIES})
161 Install(TARGETS ${LIB} DESTINATION ${ALIROOT_INSTALL_DIR}/lib
164 If(ALICE_STATIC_BUILD)
165 Add_Library(${LIB}_a STATIC ${STATIC_ASRCS})
166 Install(TARGETS ${LIB}_a DESTINATION ${ALIROOT_INSTALL_DIR}/lib/static)
167 EndIf(ALICE_STATIC_BUILD)
170 Install(FILES ${ARGV3} DESTINATION ${ALIROOT_INSTALL_DIR}/include)
173 CheckViols(${LIB} "${SRCS}")
175 EndFunction (AddHLTLibrary)
177 #_______________________________________________________________________________
180 String(REGEX REPLACE "${ALICE_ROOT}/?([^/]*)/?$" "\\1" ALIROOT_MODULE "${CMAKE_CURRENT_SOURCE_DIR}")
181 Add_Definitions(-D_MODULE_=\"${ALIROOT_MODULE}\")
186 #_______________________________________________________________________________
187 Function (AddExecutable BIN SRCS LIBS)
189 # Adds an AliRoot executable as a target
191 String(REGEX REPLACE "(.*)exe" "\\1" executable_name "${BIN}")
192 # MESSAGE("EXECUTABLE: ${executable_name}")
194 Add_Executable(${BIN} ${SRCS})
195 Target_Link_Libraries(${BIN} ${ROOT_LIBRARIES} ${LIBS})
196 set_target_properties(${BIN} PROPERTIES OUTPUT_NAME ${executable_name})
197 Install(TARGETS ${BIN} DESTINATION ${ALIROOT_INSTALL_DIR}/bin)
199 If(ALICE_STATIC_BUILD)
200 Add_Executable(${BIN}_a ${SRCS})
202 # There are no static libs for external libraries, so we have to filter
203 # here. This is an ugly way how to do it, so this has to be improved.
204 Foreach(_lib ${LIBS})
205 If(${_lib} STREQUAL GLU OR ${_lib} STREQUAL XMLParser)
206 Set(_ar_libs ${_ar_libs} ${_lib})
207 Else(${_lib} STREQUAL GLU OR ${_lib} STREQUAL XMLParser)
208 Set(_ar_libs ${_ar_libs} ${_lib}_a)
209 EndIf(${_lib} STREQUAL GLU OR ${_lib} STREQUAL XMLParser)
210 EndForeach(_lib ${LIBS})
211 Target_Link_Libraries(${BIN}_a ${ALIROOT_LIBRARIES} ${_ar_libs})
212 Install(TARGETS ${BIN}_a DESTINATION ${ALIROOT_INSTALL_DIR}/bin)
213 EndIf(ALICE_STATIC_BUILD)
215 CheckViols(${BIN} "${SRCS}")
217 EndFunction (AddExecutable)
219 #_______________________________________________________________________________
222 # Set up all system dependencies of AliRoot
224 Message(STATUS "Setting up system dependent parameters for ${ALICE_TARGET}" )
227 If(ALICE_TARGET STREQUAL macosx64)
230 COMMAND sw_vers -productVersion
231 OUTPUT_VARIABLE MACOSX
232 OUTPUT_STRIP_TRAILING_WHITESPACE)
234 String(REGEX REPLACE "^(.*)[.](.*)[.](.*)$" "\\1" MACOSX_MAJOR "${MACOSX}")
235 String(REGEX REPLACE "^(.*)[.](.*)[.](.*)$" "\\2" MACOSX_MINOR "${MACOSX}")
237 Message(STATUS "Mac OS X ${MACOSX_MAJOR}.${MACOSX_MINOR}")
241 # Set(CMAKE_CXX_COMPILER g++)
242 # Set(CMAKE_C_COMPILER gcc)
243 # I found no way to make this work...
244 # Set(CMAKE_CXX_LINK_EXECUTABLE
245 # "MACOSX_DEPLOYMENT_TARGET=${MACOSX_MAJOR}.${MACOSX_MINOR} ${CMAKE_CXX_LINK_EXECUTABLE}")
247 Set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS} -O -g -flat_namespace -single_module -undefined dynamic_lookup -m64")
249 Set(CMAKE_Fortran_FLAGS "-O -g -fno-second-underscore -m64")
251 Set(CLIBDEFS "-DCERNLIB_LXIA64 -DCERNLIB_BLDLIB -DCERNLIB_CZ -DCERNLIB_PPC")
253 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++ -Wshadow -fno-default-inline -fno-inline -I/usr/X11R6/include -I${FINK_ROOT}/include")
254 Set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O -g -m64 -Wall -W -fno-common -pipe -I${FINK_ROOT}/include")
256 If(CMAKE_Fortran_COMPILER MATCHES g95)
257 Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fbounds-check -ftrace=full -DFORTRAN_G95")
258 Else(CMAKE_Fortran_COMPILER MATCHES g95)
259 Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -DFORTRAN_GFORTRAN")
261 COMMAND gfortran -m64 -print-file-name=libgfortran.dylib
263 OUTPUT_STRIP_TRAILING_WHITESPACE)
264 Set(ROOT_LIBRARIES "${ROOT_LIBRARIES} ${FLIB}")
266 COMMAND gfortran -m64 -print-file-name=libgfortranbegin.a
268 OUTPUT_STRIP_TRAILING_WHITESPACE)
269 Set(ROOT_LIBRARIES "${ROOT_LIBRARIES} ${FLIB}")
270 Endif(CMAKE_Fortran_COMPILER MATCHES g95)
272 # I think this is useless
273 # Set(ALIROOT_LIBRARIES "${ROOT_LIBRARIES} -L/usr/X11R6/lib -lX11")
274 Set(ALIROOT_LIBRARIES "${ROOT_LIBRARIES} -L/usr/X11/lib")
276 # Would like to use this, but did not manage on the Mac
278 #Set(ROOT_LIBRARIES ${ROOT_LIBRARIES} ${OPENGL_LIBRARIES})
279 #Set(ROOT_INCLUDE_DIR ${ROOT_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR})
280 # Poor man's version of the above
281 Set(ALIROOT_INCLUDE_DIR ${ROOT_INCLUDE_DIR} /usr/X11/include)
284 # LD = export MACOSX_DEPLOYMENT_TARGET=$(MACOSX_MAJOR).$(MACOSX_MINOR) ; \
285 # unset LD_PREBIND ; \
293 Endif(ALICE_TARGET STREQUAL macosx64)
296 If(ALICE_TARGET STREQUAL linuxx8664gcc)
299 Set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS} -O -g -shared -Wl")
301 Set(CMAKE_Fortran_FLAGS "-O -g -fno-second-underscore -m64")
303 Set(CLIBDEFS "-DCERNLIB_LXIA64 -DCERNLIB_BLDLIB -DCERNLIB_CZ")
305 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")
306 Set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O -g -m64 -Wall -W -pipe")
308 If(CMAKE_Fortran_COMPILER MATCHES g95)
309 Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fbounds-check -ftrace=full -DFORTRAN_G95")
310 Else(CMAKE_Fortran_COMPILER MATCHES g95)
311 Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -DFORTRAN_GFORTRAN")
313 COMMAND gfortran -m64 -print-file-name=libgfortran.so
315 OUTPUT_STRIP_TRAILING_WHITESPACE)
316 Set(ROOT_LIBRARIES "${ROOT_LIBRARIES} ${FLIB}")
318 COMMAND gfortran -m64 -print-file-name=libgfortranbegin.a
320 OUTPUT_STRIP_TRAILING_WHITESPACE)
321 Set(ROOT_LIBRARIES "${ROOT_LIBRARIES} ${FLIB}")
322 Endif(CMAKE_Fortran_COMPILER MATCHES g95)
324 Set(ALIROOT_LIBRARIES "${ROOT_LIBRARIES}")
326 Set(ALIROOT_INCLUDE_DIR ${ROOT_INCLUDE_DIR} /usr/X11/include)
328 Endif(ALICE_TARGET STREQUAL linuxx8664gcc)
331 If(ALICE_TARGET STREQUAL linux)
334 Set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS} -O -g -shared -Wl")
336 Set(CMAKE_Fortran_FLAGS "-O -g -fno-second-underscore -m32")
338 Set(CLIBDEFS "-DCERNLIB_LINUX -DCERNLIB_BLDLIB -DCERNLIB_CZ")
340 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")
341 Set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O -g -m32 -Wall -W -pipe")
343 If(CMAKE_Fortran_COMPILER MATCHES g95)
344 Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fbounds-check -ftrace=full -DFORTRAN_G95")
345 Else(CMAKE_Fortran_COMPILER MATCHES g95)
346 Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -DFORTRAN_GFORTRAN")
348 COMMAND gfortran -m32 -print-file-name=libgfortran.so
350 OUTPUT_STRIP_TRAILING_WHITESPACE)
351 Set(ROOT_LIBRARIES "${ROOT_LIBRARIES} ${FLIB}")
353 COMMAND gfortran -m32 -print-file-name=libgfortranbegin.a
355 OUTPUT_STRIP_TRAILING_WHITESPACE)
356 Set(ROOT_LIBRARIES "${ROOT_LIBRARIES} ${FLIB}")
357 Endif(CMAKE_Fortran_COMPILER MATCHES g95)
359 Set(ALIROOT_LIBRARIES "${ROOT_LIBRARIES}")
361 Set(ALIROOT_INCLUDE_DIR ${ROOT_INCLUDE_DIR} /usr/X11/include)
363 Endif(ALICE_TARGET STREQUAL linux)
366 If(ALICE_TARGET STREQUAL macosx)
369 COMMAND sw_vers -productVersion
370 OUTPUT_VARIABLE MACOSX
371 OUTPUT_STRIP_TRAILING_WHITESPACE)
373 String(REGEX REPLACE "^(.*)[.](.*)[.](.*)$" "\\1" MACOSX_MAJOR "${MACOSX}")
374 String(REGEX REPLACE "^(.*)[.](.*)[.](.*)$" "\\2" MACOSX_MINOR "${MACOSX}")
376 Message(STATUS "Mac OS X ${MACOSX_MAJOR}.${MACOSX_MINOR}")
380 Set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS} -O -g -flat_namespace -single_module -undefined dynamic_lookup -m32")
382 Set(CMAKE_Fortran_FLAGS "-O -g -fno-second-underscore -m32")
384 Set(CLIBDEFS "-DCERNLIB_LINUX -DCERNLIB_BLDLIB -DCERNLIB_CZ -DCERNLIB_PPC")
386 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")
387 Set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O -g -m32 -Wall -W -fno-common -pipe -I${FINK_ROOT}/include")
389 If(CMAKE_Fortran_COMPILER MATCHES g95)
390 Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fbounds-check -ftrace=full -DFORTRAN_G95 -single_module")
391 Else(CMAKE_Fortran_COMPILER MATCHES g95)
392 Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -single_module -DFORTRAN_GFORTRAN")
394 COMMAND gfortran -m32 -print-file-name=libgfortran.dylib
396 OUTPUT_STRIP_TRAILING_WHITESPACE)
397 Set(ROOT_LIBRARIES "${ROOT_LIBRARIES} ${FLIB}")
399 COMMAND gfortran -m32 -print-file-name=libgfortranbegin.a
401 OUTPUT_STRIP_TRAILING_WHITESPACE)
402 Set(ROOT_LIBRARIES "${ROOT_LIBRARIES} ${FLIB}")
403 Endif(CMAKE_Fortran_COMPILER MATCHES g95)
405 Set(ALIROOT_LIBRARIES "${ROOT_LIBRARIES}")
407 Set(ALIROOT_INCLUDE_DIR ${ROOT_INCLUDE_DIR} /usr/X11/include)
409 Endif(ALICE_TARGET STREQUAL macosx)
412 If(ALICE_TARGET STREQUAL solarisCC5)
414 Set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS} -O -g")
416 Set(CLIBDEFS "-DCERNLIB_SUN -DCERNLIB_BLDLIB -DCERNLIB_CZ")
418 Set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O -g +w -KPIC -template=no%extdef")
419 Set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O -g -KPIC -erroff=%none")
421 Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -O -g -KPIC -erroff=%none")
423 Set(ALIROOT_LIBRARIES "${ROOT_LIBRARIES}")
425 Set(ALIROOT_INCLUDE_DIR ${ROOT_INCLUDE_DIR} /usr/X11/include)
427 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")
429 Endif(ALICE_TARGET STREQUAL solarisCC5)
431 EndMacro (SetupSystem)
433 # ../build/Makefile.alphacxx6
434 # # -*- mode: makefile -*-
435 # # Makefile to build AliRoot for Alpha OSF1
437 # # System dependent commands
445 # # Global optimisation
450 # CXXNOOPT = $(NOOPT)
455 # CLIBDEFS = -DCERNLIB_DECS -DCERNLIB_BLDLIB -DCERNLIB_CZ
458 # CLIBFOPT = -I. $(CLIBDEFS)
461 # CXXFLAGS = $(CXXOPT) -nostdnew -rtti -taso
462 # CXXFLAGSNO = $(CXXNOOPT) -nostdnew -rtti -taso
463 # CFLAGS = $(COPT) -fPIC -pipe -mcpu=ev5 -D__osf__ -D__alpha
464 # FFLAGS = $(FOPT) -nofor_main -warn noinformational -taso $(CLIBFOPT)
465 # # rmkdepend flags for building dependencies of FORTRAN files
466 # DEPENDFFLAGS = $(filter-out -warn noinformational,$(FFLAGS))
469 # CINTFLAGS = -D__DECCXX
475 # SOFLAGS = -L/usr/lib/cmplrs/cxx -rpath /usr/lib/cmplrs/cxx \
476 # -expect_unresolved "*" -msym -shared -taso \
477 # /usr/lib/cmplrs/cc/crt0.o /usr/lib/cmplrs/cxx/_main.o
479 # SHLIB = -lUfor -lfor -lFutil
484 # # Flags for static libraries
485 # AFLAGS = $(filter-out -rpath /usr/lib/cmplrs/cxx -msym -shared /usr/lib/cmplrs/cc/crt0.o,$(SOFLAGS))
488 # # Additional flags and libraries for building aliroot executable
489 # SYSLIBS := -lXm -lXt -lX11 -lPW -lUfor -lfor -lFutil -lots -taso -lbsd
491 # # Cure funny problem
492 # # sometimes in dependencies system include files of the sort
493 # # /usr/.../filename AND /usr/.../filename.cc are present
494 # # DEC believes that /usr/.../filename is the executable to be
495 # # built from /usr/.../filename.cc
496 # # Just avoid this to happen
509 # ../build/Makefile.hpuxacc
510 # # -*- mode: makefile -*-
511 # # Makefile to build AliRoot on HP-UX
513 # # System dependent commands
522 # # Global optimisation
527 # CXXNOOPT = $(NOOPT)
532 # CLIBDEFS = -DCERNLIB_HPUX -DCERNLIB_BLDLIB -DCERNLIB_CZ
535 # CLIBFOPT = $(CLIBDEFS) -WF,-P
537 # CXXFLAGS = $(CXXOPT) -Wc,-ansi_for_scope,on +Z -z +W70,495,740,749,823,829 -Dextname
538 # CXXFLAGSNO = $(CXXNOOPT) -Wc,-ansi_for_scope,on +Z -z +W70,495,740,749,823,829 -Dextname
539 # CFLAGS = $(COPT) +Z -Ae
540 # FFLAGS = $(CLIBFOPT) $(FOPT) +ppu +Z
541 # # rmkdepend flags for building dependencies of FORTRAN files
542 # DEPENDFFLAGS = $(FFLAGS)
548 # LDFLAGS = $(OPT) -z -Wl,+s -Wl,-E
551 # SOFLAGS = -b /usr/lib/libm.sl
555 # # additional ROOT libraries
556 # SYSLIBS := -lcrypt -L/usr/lib/X11R6 -lX11
562 # ../build/Makefile.linuxalphagcc
563 # # -*- mode: makefile -*-
564 # # Makefile to build AliRoot for Linux on alpha
566 # # System dependent commands
574 # CCMAJORV = $(shell $(CC) -dumpversion | cut -d. -f1)
575 # CCMINORV = $(shell $(CC) -dumpversion | cut -d. -f2)
577 # # Global optimisation
578 # OPT = -O -g -mieee -mno-soft-float
579 # NOOPT = -g -mieee -mno-soft-float
582 # CXXNOOPT = $(NOOPT)
587 # CLIBDEFS = -DCERNLIB_UNIX -DCERNLIB_DECS -DCERNLIB_BLDLIB -DCERNLIB_CZ
590 # CLIBFOPT = $(CLIBDEFS)
594 # CXXFLAGS = $(OPT) -Wall -fPIC -pipe
595 # CXXFLAGSNO = $(NOOPT) -Wall -fPIC -pipe
596 # CFLAGS = $(OPT) -Wall -fPIC -pipe -ansi
597 # FFLAGS = $(CLIBFOPT) $(FOPT) -Wall -fPIC -pipe -fno-second-underscore
598 # # rmkdepend flags for building dependencies of FORTRAN files
599 # DEPENDFFLAGS = $(FFLAGS)
608 # SOFLAGS = $(OPT) -Wall -fPIC -pipe -shared -Wl
618 # SYSLIBS := -ldl -lg2c -lcrypt -L/usr/X11R6/lib -lX11
624 # ../build/Makefile.linuxia64ecc
625 # # -*- mode: makefile -*-
626 # # Makefile for AliRoot for Itanium/Linux with Intel icc compiler
628 # # System dependent commands
637 # # Global optimisation
647 # CLIBDEFS = -DCERNLIB_LXIA64 -DCERNLIB_BLDLIB -DCERNLIB_CZ
650 # CLIBFOPT = $(CLIBDEFS)
653 # CXXFLAGS = $(CXXOPT)
654 # CXXFLAGSNO = $(CXXNOOPT)
656 # FFLAGS = $(CLIBFOPT) $(FOPT)
657 # # rmkdepend flags for building dependencies of FORTRAN files
658 # DEPENDFFLAGS = $(FFLAGS)
667 # SOFLAGS = -Wl,-soname,$$TMPLIB -shared -O
676 # # additional ROOT libraries
678 # LIBNOVER = `find /lib -name 'libNoVersion*.so' | xargs --replace basename {} .so | sed -e 's/lib/ -l/'`
680 # SYSLIBS := $(LIBNOVER) -lcrypt -L/usr/local/lib -lXt -lCEPCF90 -lF90 \
681 # -lPEPCF90 -lintrins -L/usr/X11R6/lib -lX11
682 # ../build/Makefile.linuxia64gcc
683 # # -*- mode: makefile -*-
684 # # Makefile for AliRoot for Itanium/Linux with gcc
686 # # System dependent commands
695 # # Global optimisation
700 # CXXNOOPT = $(NOOPT)
705 # CLIBDEFS = -DCERNLIB_LXIA64 -DCERNLIB_BLDLIB -DCERNLIB_CZ
708 # CLIBFOPT = $(CLIBDEFS)
711 # CXXFLAGS = $(CXXOPT) -Wall -Weffc++ -fPIC -pipe
712 # CXXFLAGSNO = $(CXXNOOPT) -Wall -Weffc++ -fPIC -pipe
713 # CFLAGS = -Wall -fPIC -pipe
714 # FFLAGS = $(CLIBFOPT) $(FOPT) -fno-second-underscore
715 # # rmkdepend flags for building dependencies of FORTRAN files
716 # DEPENDFFLAGS = $(FFLAGS)
722 # LDFLAGS = $(OPT) -Wl,-Map -Wl,$@.map
725 # SOFLAGS = -shared -Wl -O2
733 # # additional ROOT libraries
735 # LIBNOVER = `find /lib -name 'libNoVersion*.so' | xargs --replace basename {} .so | sed -e 's/lib/ -l/'`
738 # SYSLIBS := -ldl -lbsd -lg2c -L/usr/X11R6/lib -lX11 $(LIBNOVER)
744 # ../build/Makefile.linuxicc
745 # # -*- mode: makefile -*-
746 # # Makefile for AliRoot for Linux with the Intel icc compiler
748 # # System dependent commands
756 # # Compiler version:
757 # ICC_MAJOR := $(shell $(CXX) -V 2>&1 | awk '{ if (NR==1) print $$8 }' | \
759 # ICC_MINOR := $(shell $(CXX) -V 2>&1 | awk '{ if (NR==1) print $$8 }' | \
764 # # Global optimisation
769 # CXXNOOPT = $(NOOPT)
774 # CLIBDEFS = -DCERNLIB_LINUX -DCERNLIB_BLDLIB -DCERNLIB_CZ
777 # CLIBFOPT = $(CLIBDEFS)
780 # CXXFLAGS = $(CXXOPT)
781 # CXXFLAGSNO = $(CXXNOOPT)
783 # FFLAGS = $(CLIBFOPT) $(FOPT)
784 # # rmkdepend flags for building dependencies of FORTRAN files
785 # DEPENDFFLAGS = $(FFLAGS)
794 # SOFLAGS = -Wl,-soname,$$TMPLIB -shared $(OPT)
803 # # additional ROOT libraries
805 # LIBNOVER = `find /lib -name 'libNoVersion*.so' | xargs --replace basename {} .so | sed -e 's/lib/ -l/'`
808 # SYSLIBS := -lcrypt -L/usr/X11R6/lib -lX11 $(LIBNOVER) -L/usr/local/lib \
809 # -lXt -L$(shell which ifort | sed -e 's|bin/ifort|lib|') \
811 # ../build/Makefile.macosxicc
812 # # -*- mode: makefile -*-
813 # # Makefile for AliRoot for MacOS X with gcc
818 # FINK_ROOT := $(shell which fink | sed -e 's?/bin/fink??')
819 # ifeq (,$(FINK_ROOT))
820 # # No fink, build will probably fail, but we try a guess
821 # FINK_ROOT=/usr/local
830 # # Global optimisation
835 # CXXNOOPT = $(NOOPT)
840 # CLIBDEFS = -DCERNLIB_LINUX -DCERNLIB_BLDLIB -DCERNLIB_CZ -DCERNLIB_PPC
843 # CLIBFOPT = $(CLIBDEFS)
846 # CXXFLAGS = $(CXXOPT) -fPIC -wd1476 -I/usr/X11R6/include -I$(FINK_ROOT)/include
848 # CXXFLAGSNO = $(CXXNOOPT)
850 # CFLAGS = $(COPT) -fPIC -restrict -I$(FINK_ROOT)/include
852 # FFLAGS = $(CLIBFOPT) $(FOPT)
853 # # rmkdepend flags for building dependencies of FORTRAN files
854 # DEPENDFFLAGS = $(FFLAGS)
860 # LDFLAGS = $(OPT) $(DICTLOAD)
863 # SOFLAGS := $(OPT) -dynamiclib -undefined dynamic_lookup -single_module
868 # DYFLAGS = -dynamiclib -undefined dynamic_lookup -single_module
877 # DEPENDCXXFLAGS = $(CXXFLAGS) -I/usr/include/sys
879 # EXEFLAGS := -bind_at_load
883 # SYSLIBS := -L/usr/X11R6/lib -lX11 -lGL $(LIBNOVER) -L/usr/local/lib \
884 # -lXt -L$(shell which ifort | sed -e 's|bin/ifort|lib|') \
888 # ../build/Makefile.macosxxlc
889 # # -*- mode: makefile -*-
890 # # Makefile for AliRoot for MacOS X using the IBM xlc compiler
897 # # Global optimisation
898 # OPT = -qnoopt #-O3 -g
902 # CXXNOOPT = $(NOOPT)
907 # CLIBDEFS = -DCERNLIB_LINUX -DCERNLIB_BLDLIB -DCERNLIB_CZ
910 # CLIBFOPT = $(shell echo $(CLIBDEFS) | sed -e's/-D/-WF,-D/g')
913 # CXXFLAGS = $(CXXOPT) -qpic -I/sw/include \
914 # -qflttrap=overflow:zerodivide:invalid:inexact:enable
915 # CXXFLAGSNO = $(CXXNOOPT) -qpic -I/sw/include \
916 # -qflttrap=overflow:zerodivide:invalid:inexact:enable
917 # CFLAGS = -qpic -qextname -I/sw/include \
918 # -qflttrap=overflow:zerodivide:invalid:inexact:enable
919 # FFLAGS = $(CLIBFOPT) $(FOPT) -qpic \
920 # -qflttrap=overflow:zerodivide:invalid:inexact:enable
921 # # rmkdepend flags for building dependencies
922 # DEPENDFFLAGS = $(FFLAGS)
923 # DEPENDCXXFLAGS = $(CXXFLAGS) -I/usr/include/sys
931 # SHLD := export MACOSX_DEPLOYMENT_TARGET=10.3 ; \
932 # unset LD_PREBIND ; \
934 # SOFLAGS := -bundle -undefined dynamic_lookup
939 # DYLD := export MACOSX_DEPLOYMENT_TARGET=10.3 ; \
940 # unset LD_PREBIND ; \
942 # DYFLAGS = -qmkshrobj -undefined dynamic_lookup -single_module
953 # SYSLIBS := -ldl -L/usr/X11R6/lib -lX11
955 # EXEFLAGS := -Wl,-bind_at_load
960 # ../build/Makefile.solarisCC5
961 # # -*- mode: makefile -*-
962 # # Makefile to build ALIROOT for SunOS
964 # # System dependent commands
969 # CXX = /opt/SUNWspro/bin/CC
970 # CC = /opt/SUNWspro/bin/cc
971 # F77 = /opt/SUNWspro/bin/f77
973 # # Global optimisation
978 # CXXNOOPT = $(NOOPT)
983 # CLIBDEFS = -DCERNLIB_SUN -DCERNLIB_BLDLIB -DCERNLIB_CZ
986 # CLIBFOPT = $(CLIBDEFS) -xpp=cpp
989 # CXXFLAGS = $(CXXOPT) +w -KPIC -features=rtti -D_XOPEN_SOURCE -D_XOPEN_VERSION=4 -D__EXTENSIONS__
990 # CXXFLAGSNO = $(CXXNOOPT) +w -KPIC -features=rtti
991 # CFLAGS = $(COPT) -KPIC -erroff=%none
992 # FFLAGS = $(FOPT) $(CLIBFOPT) $(CLIBDEFS) -KPIC
993 # # rmkdepend flags for building dependencies of FORTRAN files
994 # DEPENDFFLAGS = $(FFLAGS)
1002 # LD = /opt/SUNWspro/bin/CC
1003 # LDFLAGS = $(OPT) -Qoption ld -t
1006 # SOFLAGS = -G $(LDFLAGS) $(SHLIB)
1008 # SYSLIBS := -L/usr/dt/lib -L/usr/openwin/lib -L/usr/ccs/lib -lXm -lXt \
1009 # -lX11 -lm -lgen -ldl -lsocket -lsunmath -lfsu -lfui -lnsl
1011 # # Additional flags and libraries for building aliroot executable
1013 # EXEFLAGS := -O -Qoption ld -t
1019 # ../build/Makefile.win32gcc
1020 # # -*- mode: makefile -*-
1021 # # Makefile to build AliRoot for Linux
1023 # # System dependent commands
1031 # CCMAJORV = $(shell $(CC) -dumpversion | cut -d. -f1)
1032 # CCMINORV = $(shell $(CC) -dumpversion | cut -d. -f2)
1034 # # Global optimisation
1039 # CXXNOOPT = $(NOOPT)
1044 # CLIBDEFS = -DCERNLIB_LINUX -DCERNLIB_BLDLIB -DCERNLIB_CZ
1047 # CLIBFOPT = $(CLIBDEFS)
1050 # CXXFLAGS = $(OPT) -Wall -pipe -Woverloaded-virtual -Weffc++ -D_DLL
1051 # CXXFLAGSNO = $(NOOPT) -Wall -pipe -Woverloaded-virtual -Weffc++ -D_DLL
1052 # CFLAGS = $(OPT) -Wall -D_DLL
1053 # FFLAGS = $(CLIBFOPT) $(FOPT) -fno-second-underscore
1054 # # rmkdepend flags for building dependencies of FORTRAN files
1055 # DEPENDFFLAGS = $(FFLAGS)
1064 # SOFLAGS = $(OPT) -shared -Wl,--export-all-symbols -Wl,-soname=$$TMPLIB -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc
1065 # SHLIB = $(shell root-config --libs) -lg2c
1073 # # additional ROOT libraries
1076 # SYSLIBS := -ldl -lg2c -lcrypt -L/usr/X11R6/lib -lX11