]> git.uio.no Git - u/mrichter/AliRoot.git/blame - cmake/modules/ALICEMacros.cmake
package file and LinkDef adapted to new added class
[u/mrichter/AliRoot.git] / cmake / modules / ALICEMacros.cmake
CommitLineData
e969a926 1# -*- mode: cmake -*-
2#_______________________________________________________________________________
3Macro(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
24Endmacro (CHANGE_FILE_EXTENSION)
25
26#_______________________________________________________________________________
27Macro (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
38EndMacro (CHECK_OUT_OF_SOURCE_BUILD)
39
40#_______________________________________________________________________________
41Function (AddLibrary LIB SRCS DHDRS)
42
43# Adds an AliRoot library as a target
44
ffeaf110 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
e969a926 64 Set(DICT)
ffeaf110 65 If(LDEF)
e969a926 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}")
ffeaf110 71 Else(LDEF)
46e443ec 72 Message(STATUS "No ${LIB}LinkDef.h found... building lib with no ROOT dict")
e969a926 73 Set(ASRCS ${SRCS})
ffeaf110 74 Endif(LDEF)
e969a926 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
94EndFunction (AddLibrary)
95
96#_______________________________________________________________________________
97Macro (SetModule)
98
99String(REGEX REPLACE "${ALICE_ROOT}/?([^/]*)/?$" "\\1" ALIROOT_MODULE "${CMAKE_CURRENT_SOURCE_DIR}")
100Add_Definitions(-D_MODULE_=\"${ALIROOT_MODULE}\")
101
102EndMacro(SetModule)
103
104
105#_______________________________________________________________________________
106Function (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
129EndFunction (AddExecutable)
130
131#_______________________________________________________________________________
132Macro (SetupSystem)
133
134# Set up all system dependencies of AliRoot
135
136Message(STATUS "Setting up system dependent parameters for ${ALICE_TARGET}" )
137
3c34a311 138# macosx64
e969a926 139If(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
84641bd5 153# Set(CMAKE_CXX_COMPILER g++)
154# Set(CMAKE_C_COMPILER gcc)
e969a926 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
ce4a61cd 159 Set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS} -O -g -flat_namespace -single_module -undefined dynamic_lookup -m64")
e969a926 160
ce4a61cd 161 Set(CMAKE_Fortran_FLAGS "-O -g -fno-second-underscore -m64")
e969a926 162
163 Set(CLIBDEFS "-DCERNLIB_LXIA64 -DCERNLIB_BLDLIB -DCERNLIB_CZ -DCERNLIB_PPC")
164
ce4a61cd 165 Set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O -g -m64 -pipe -Wall -W -Wno-long-double -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")
e969a926 167
168 If(CMAKE_Fortran_COMPILER MATCHES g95)
169 Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fbounds-check -ftrace=full -DFORTRAN_G95")
e969a926 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
e969a926 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
e969a926 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
205Endif(ALICE_TARGET STREQUAL macosx64)
206
3c34a311 207# linuxx8664gcc
e2d7359f 208If(ALICE_TARGET STREQUAL linuxx8664gcc)
209
210
ce4a61cd 211 Set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS} -O -g -shared -Wl")
e2d7359f 212
ce4a61cd 213 Set(CMAKE_Fortran_FLAGS "-O -g -fno-second-underscore -m64")
e2d7359f 214
215 Set(CLIBDEFS "-DCERNLIB_LXIA64 -DCERNLIB_BLDLIB -DCERNLIB_CZ")
216
ce4a61cd 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")
e2d7359f 219
220 If(CMAKE_Fortran_COMPILER MATCHES g95)
221 Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fbounds-check -ftrace=full -DFORTRAN_G95")
e2d7359f 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
e2d7359f 236 Set(ALIROOT_LIBRARIES "${ROOT_LIBRARIES}")
237
238 Set(ALIROOT_INCLUDE_DIR ${ROOT_INCLUDE_DIR} /usr/X11/include)
239
e2d7359f 240Endif(ALICE_TARGET STREQUAL linuxx8664gcc)
241
b8aad0f9 242# linux
243If(ALICE_TARGET STREQUAL linux)
244
245
ce4a61cd 246 Set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS} -O -g -shared -Wl")
b8aad0f9 247
ce4a61cd 248 Set(CMAKE_Fortran_FLAGS "-O -g -fno-second-underscore -m32")
b8aad0f9 249
250 Set(CLIBDEFS "-DCERNLIB_LINUX -DCERNLIB_BLDLIB -DCERNLIB_CZ")
251
ce4a61cd 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")
b8aad0f9 254
255 If(CMAKE_Fortran_COMPILER MATCHES g95)
256 Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fbounds-check -ftrace=full -DFORTRAN_G95")
b8aad0f9 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
b8aad0f9 271 Set(ALIROOT_LIBRARIES "${ROOT_LIBRARIES}")
272
273 Set(ALIROOT_INCLUDE_DIR ${ROOT_INCLUDE_DIR} /usr/X11/include)
274
b8aad0f9 275Endif(ALICE_TARGET STREQUAL linux)
276
3c34a311 277# macosx
278If(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
ce4a61cd 292 Set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS} -O -g -flat_namespace -single_module -undefined dynamic_lookup -m32")
3c34a311 293
ce4a61cd 294 Set(CMAKE_Fortran_FLAGS "-O -g -fno-second-underscore -m32")
3c34a311 295
296 Set(CLIBDEFS "-DCERNLIB_LINUX -DCERNLIB_BLDLIB -DCERNLIB_CZ -DCERNLIB_PPC")
297
ce4a61cd 298 Set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O -g -m32 -pipe -Wall -W -Wno-long-double -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")
3c34a311 300
301 If(CMAKE_Fortran_COMPILER MATCHES g95)
302 Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fbounds-check -ftrace=full -DFORTRAN_G95 -single_module")
3c34a311 303 Else(CMAKE_Fortran_COMPILER MATCHES g95)
304 Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -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
3c34a311 321Endif(ALICE_TARGET STREQUAL macosx)
322
70e4828f 323# solarisCC5
324If(ALICE_TARGET STREQUAL solarisCC5)
325
ce4a61cd 326 Set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS} -O -g")
70e4828f 327
328 Set(CLIBDEFS "-DCERNLIB_SUN -DCERNLIB_BLDLIB -DCERNLIB_CZ")
329
ce4a61cd 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")
70e4828f 332
ce4a61cd 333 Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -O -g -KPIC -erroff=%none")
70e4828f 334
335 Set(ALIROOT_LIBRARIES "${ROOT_LIBRARIES}")
336
337 Set(ALIROOT_INCLUDE_DIR ${ROOT_INCLUDE_DIR} /usr/X11/include)
338
29d55f77 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")
70e4828f 340
341Endif(ALICE_TARGET STREQUAL solarisCC5)
342
e969a926 343EndMacro (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#
e969a926 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
e969a926 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