Adding solarisCC5
[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} -flat_namespace -single_module -undefined dynamic_lookup -m64")
160
161   Set(CMAKE_Fortran_FLAGS "-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} -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} -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   Set(LINK_FLAGS "${LINK_FLAGS} -m64")
185
186 # I think this is useless
187 #  Set(ALIROOT_LIBRARIES "${ROOT_LIBRARIES} -L/usr/X11R6/lib -lX11")
188   Set(ALIROOT_LIBRARIES "${ROOT_LIBRARIES}")
189
190 # Would like to use this, but did not manage on the Mac
191 #Include(FindOpenGL)
192 #Set(ROOT_LIBRARIES ${ROOT_LIBRARIES} ${OPENGL_LIBRARIES})
193 #Set(ROOT_INCLUDE_DIR ${ROOT_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR})
194 # Poor man's version of the above
195   Set(ALIROOT_INCLUDE_DIR ${ROOT_INCLUDE_DIR} /usr/X11/include)
196
197   Set(LINK_FLAGS "${LINK_FLAGS} -bind_at_load")
198
199
200 # LD            = export MACOSX_DEPLOYMENT_TARGET=$(MACOSX_MAJOR).$(MACOSX_MINOR) ; \
201 #               unset LD_PREBIND ; \
202 #               g++
203 # ALLD        = ar
204 # ALFLAGS       = cr
205 # ALLIB         = 
206 # AEXT        = a
207
208
209 Endif(ALICE_TARGET STREQUAL macosx64)
210
211 # linuxx8664gcc
212 If(ALICE_TARGET STREQUAL linuxx8664gcc) 
213
214
215   Set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS} -shared -Wl")
216
217   Set(CMAKE_Fortran_FLAGS "-fno-second-underscore -m64")
218
219   Set(CLIBDEFS "-DCERNLIB_LXIA64 -DCERNLIB_BLDLIB -DCERNLIB_CZ")
220
221   Set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64 -pipe -W -Wall -Weffc++ -Woverloaded-virtual -fmessage-length=0 -Wno-long-long -Dlinux -I/usr/X11R6/include")
222   Set(CMAKE_C_FLAGS   "${CMAKE_C_FLAGS} -m64 -Wall -W -pipe")
223
224   If(CMAKE_Fortran_COMPILER MATCHES g95) 
225     Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fbounds-check -ftrace=full -DFORTRAN_G95")
226   Else(CMAKE_Fortran_COMPILER MATCHES g95)
227     Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -DFORTRAN_GFORTRAN")
228     Execute_process(
229       COMMAND gfortran -m64 -print-file-name=libgfortran.so
230       OUTPUT_VARIABLE FLIB
231       OUTPUT_STRIP_TRAILING_WHITESPACE)
232     Set(ROOT_LIBRARIES "${ROOT_LIBRARIES} ${FLIB}")
233     Execute_process(
234       COMMAND gfortran -m64 -print-file-name=libgfortranbegin.a
235       OUTPUT_VARIABLE FLIB
236       OUTPUT_STRIP_TRAILING_WHITESPACE)
237     Set(ROOT_LIBRARIES "${ROOT_LIBRARIES} ${FLIB}")
238   Endif(CMAKE_Fortran_COMPILER MATCHES g95) 
239
240   Set(LINK_FLAGS "${LINK_FLAGS} -m64")
241
242   Set(ALIROOT_LIBRARIES "${ROOT_LIBRARIES}")
243
244   Set(ALIROOT_INCLUDE_DIR ${ROOT_INCLUDE_DIR} /usr/X11/include)
245
246   Set(LINK_FLAGS "${LINK_FLAGS}")
247
248 Endif(ALICE_TARGET STREQUAL linuxx8664gcc)
249
250 # linux
251 If(ALICE_TARGET STREQUAL linux) 
252
253
254   Set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS} -shared -Wl")
255
256   Set(CMAKE_Fortran_FLAGS "-fno-second-underscore -m32")
257
258   Set(CLIBDEFS "-DCERNLIB_LINUX -DCERNLIB_BLDLIB -DCERNLIB_CZ")
259
260   Set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32 -pipe -W -Wall -Weffc++ -Woverloaded-virtual -fmessage-length=0 -Wno-long-long -Dlinux -I/usr/X11R6/include")
261   Set(CMAKE_C_FLAGS   "${CMAKE_C_FLAGS} -m32 -Wall -W -pipe")
262
263   If(CMAKE_Fortran_COMPILER MATCHES g95) 
264     Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fbounds-check -ftrace=full -DFORTRAN_G95")
265   Else(CMAKE_Fortran_COMPILER MATCHES g95)
266     Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -DFORTRAN_GFORTRAN")
267     Execute_process(
268       COMMAND gfortran -m32 -print-file-name=libgfortran.so
269       OUTPUT_VARIABLE FLIB
270       OUTPUT_STRIP_TRAILING_WHITESPACE)
271     Set(ROOT_LIBRARIES "${ROOT_LIBRARIES} ${FLIB}")
272     Execute_process(
273       COMMAND gfortran -m32 -print-file-name=libgfortranbegin.a
274       OUTPUT_VARIABLE FLIB
275       OUTPUT_STRIP_TRAILING_WHITESPACE)
276     Set(ROOT_LIBRARIES "${ROOT_LIBRARIES} ${FLIB}")
277   Endif(CMAKE_Fortran_COMPILER MATCHES g95) 
278
279   Set(LINK_FLAGS "${LINK_FLAGS} -m32")
280
281   Set(ALIROOT_LIBRARIES "${ROOT_LIBRARIES}")
282
283   Set(ALIROOT_INCLUDE_DIR ${ROOT_INCLUDE_DIR} /usr/X11/include)
284
285   Set(LINK_FLAGS "${LINK_FLAGS}")
286
287 Endif(ALICE_TARGET STREQUAL linux)
288
289 # macosx
290 If(ALICE_TARGET STREQUAL macosx) 
291
292   Execute_process(
293     COMMAND sw_vers -productVersion
294     OUTPUT_VARIABLE MACOSX
295     OUTPUT_STRIP_TRAILING_WHITESPACE)
296
297   String(REGEX REPLACE "^(.*)[.](.*)[.](.*)$" "\\1" MACOSX_MAJOR "${MACOSX}")
298   String(REGEX REPLACE "^(.*)[.](.*)[.](.*)$" "\\2" MACOSX_MINOR "${MACOSX}")
299
300   Message(STATUS "Mac OS X ${MACOSX_MAJOR}.${MACOSX_MINOR}")
301
302   Find_Package(fink)
303   
304   Set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS} -flat_namespace -single_module -undefined dynamic_lookup -m32")
305
306   Set(CMAKE_Fortran_FLAGS "-fno-second-underscore -m32")
307
308   Set(CLIBDEFS "-DCERNLIB_LINUX -DCERNLIB_BLDLIB -DCERNLIB_CZ -DCERNLIB_PPC")
309
310   Set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -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")
311   Set(CMAKE_C_FLAGS   "${CMAKE_C_FLAGS} -m32 -Wall -W -fno-common -pipe -I${FINK_ROOT}/include")
312
313   If(CMAKE_Fortran_COMPILER MATCHES g95) 
314     Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fbounds-check -ftrace=full -DFORTRAN_G95 -single_module")
315   Else(CMAKE_Fortran_COMPILER MATCHES g95)
316     Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -DFORTRAN_GFORTRAN")
317     Execute_process(
318       COMMAND gfortran -m32 -print-file-name=libgfortran.dylib
319       OUTPUT_VARIABLE FLIB
320       OUTPUT_STRIP_TRAILING_WHITESPACE)
321     Set(ROOT_LIBRARIES "${ROOT_LIBRARIES} ${FLIB}")
322     Execute_process(
323       COMMAND gfortran -m32 -print-file-name=libgfortranbegin.a
324       OUTPUT_VARIABLE FLIB
325       OUTPUT_STRIP_TRAILING_WHITESPACE)
326     Set(ROOT_LIBRARIES "${ROOT_LIBRARIES} ${FLIB}")
327   Endif(CMAKE_Fortran_COMPILER MATCHES g95) 
328
329   Set(ALIROOT_LIBRARIES "${ROOT_LIBRARIES}")
330
331   Set(ALIROOT_INCLUDE_DIR ${ROOT_INCLUDE_DIR} /usr/X11/include)
332
333   Set(LINK_FLAGS "${LINK_FLAGS} -bind_at_load -single_module")
334
335 Endif(ALICE_TARGET STREQUAL macosx)
336
337 # solarisCC5
338 If(ALICE_TARGET STREQUAL solarisCC5) 
339
340   Set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS}")
341
342   Set(CLIBDEFS "-DCERNLIB_SUN -DCERNLIB_BLDLIB -DCERNLIB_CZ")
343
344   Set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} +w -KPIC -template=no%extdef")
345   Set(CMAKE_C_FLAGS   "${CMAKE_C_FLAGS} -KPIC -erroff=%none")
346
347   Set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -KPIC -erroff=%none")
348
349   Set(ALIROOT_LIBRARIES "${ROOT_LIBRARIES}")
350
351   Set(ALIROOT_INCLUDE_DIR ${ROOT_INCLUDE_DIR} /usr/X11/include)
352
353   Set(LINK_FLAGS "${LINK_FLAGS} -L/usr/dt/lib -L/usr/openwin/lib -L/usr/ccs/lib -lXm -lXt -lX11 -lm -lgen -ldl -lsocket -lsunmath -lfsu -lfui -lnsl")
354
355 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")
356
357 Endif(ALICE_TARGET STREQUAL solarisCC5)
358
359 EndMacro (SetupSystem)
360
361 # ../build/Makefile.alphacxx6
362 # # -*- mode: makefile -*-
363 # # Makefile to build AliRoot for Alpha OSF1
364
365 # # System dependent commands
366
367 # XARGS = xargs
368
369 # # The compilers
370 # CXX           = cxx 
371 # F77         = f77
372
373 # # Global optimisation
374 # OPT           = -O
375 # NOOPT       = -O0 
376
377 # CXXOPT              = $(OPT)
378 # CXXNOOPT      = $(NOOPT)
379 # COPT        = $(OPT)
380 # FOPT        = $(OPT)
381
382 # # CERNLIB defines
383 # CLIBDEFS      = -DCERNLIB_DECS -DCERNLIB_BLDLIB -DCERNLIB_CZ
384 # CLIBCXXOPTS   =
385 # CLIBCOPT      =
386 # CLIBFOPT      = -I. $(CLIBDEFS)
387
388 # # Compiler flags
389 # CXXFLAGS      = $(CXXOPT)   -nostdnew -rtti -taso
390 # CXXFLAGSNO    = $(CXXNOOPT) -nostdnew -rtti -taso
391 # CFLAGS              = $(COPT) -fPIC -pipe -mcpu=ev5 -D__osf__ -D__alpha
392 # FFLAGS        = $(FOPT) -nofor_main -warn noinformational -taso $(CLIBFOPT)
393 # # rmkdepend flags for building dependencies of FORTRAN files
394 # DEPENDFFLAGS  = $(filter-out -warn noinformational,$(FFLAGS))
395
396 # # rootcint flags
397 # CINTFLAGS     = -D__DECCXX
398 #               
399 # LD            = cxx
400 # LDFLAGS       = 
401
402 # SHLD        = ld
403 # SOFLAGS       =  -L/usr/lib/cmplrs/cxx -rpath /usr/lib/cmplrs/cxx \
404 #                  -expect_unresolved "*" -msym -shared -taso \
405 #                  /usr/lib/cmplrs/cc/crt0.o /usr/lib/cmplrs/cxx/_main.o
406
407 # SHLIB         = -lUfor -lfor -lFutil
408 # SOEXT               = so
409
410 # #System libraries
411
412 # # Flags for static libraries
413 # AFLAGS = $(filter-out -rpath /usr/lib/cmplrs/cxx -msym -shared /usr/lib/cmplrs/cc/crt0.o,$(SOFLAGS))
414 # AFLAGS += $(SHLIB)
415
416 # # Additional flags and libraries for building aliroot executable
417 # SYSLIBS     := -lXm -lXt -lX11 -lPW -lUfor -lfor -lFutil -lots -taso -lbsd
418
419 # # Cure funny problem 
420 # # sometimes in dependencies system include files of the sort
421 # # /usr/.../filename AND /usr/.../filename.cc are present
422 # # DEC believes that /usr/.../filename is the executable to be
423 # # built from /usr/.../filename.cc 
424 # # Just avoid this to happen
425
426 # % : %.cc
427 #       @;
428
429
430
431
432
433
434
435
436
437 # ../build/Makefile.hpuxacc
438 # # -*- mode: makefile -*-
439 # # Makefile to build AliRoot on HP-UX
440
441 # # System dependent commands
442
443 # XARGS = xargs
444
445 # # The compilers
446 # CXX           = aCC
447 # F77         = f77
448 # CC          = cc
449
450 # # Global optimisation
451 # OPT           = -g -O
452 # NOOPT         = -g
453
454 # CXXOPT        = $(OPT)
455 # CXXNOOPT      = $(NOOPT)
456 # COPT          = $(OPT)
457 # FOPT          = $(OPT)
458
459 # # CERNLIB defines
460 # CLIBDEFS      = -DCERNLIB_HPUX -DCERNLIB_BLDLIB -DCERNLIB_CZ
461 # CLIBCXXOPTS   =
462 # CLIBCOPT      = +z -Ae 
463 # CLIBFOPT      = $(CLIBDEFS) -WF,-P
464
465 # CXXFLAGS      = $(CXXOPT)   -Wc,-ansi_for_scope,on +Z -z +W70,495,740,749,823,829 -Dextname
466 # CXXFLAGSNO    = $(CXXNOOPT) -Wc,-ansi_for_scope,on +Z -z +W70,495,740,749,823,829 -Dextname
467 # CFLAGS              = $(COPT) +Z -Ae
468 # FFLAGS        = $(CLIBFOPT) $(FOPT) +ppu +Z
469 # # rmkdepend flags for building dependencies of FORTRAN files
470 # DEPENDFFLAGS  = $(FFLAGS)
471
472 # # rootcint flags
473 # CINTFLAGS     = 
474
475 # LD            = aCC
476 # LDFLAGS       = $(OPT) -z -Wl,+s -Wl,-E
477
478 # SHLD        = $(LD)
479 # SOFLAGS       = -b /usr/lib/libm.sl 
480
481 # SOEXT               = sl
482
483 # # additional ROOT libraries
484 # SYSLIBS      := -lcrypt -L/usr/lib/X11R6 -lX11 
485
486
487
488
489
490 # ../build/Makefile.linuxalphagcc
491 # # -*- mode: makefile -*-
492 # # Makefile to build AliRoot for Linux on alpha
493
494 # # System dependent commands
495
496 # XARGS = xargs -r
497
498 # # The compilers
499 # CXX           = g++ 
500 # F77         = g77
501 # CC          = gcc
502 # CCMAJORV      = $(shell $(CC) -dumpversion | cut -d. -f1)
503 # CCMINORV      = $(shell $(CC) -dumpversion | cut -d. -f2)
504
505 # # Global optimisation
506 # OPT           = -O -g -mieee -mno-soft-float
507 # NOOPT         = -g -mieee -mno-soft-float
508
509 # CXXOPT        = $(OPT)
510 # CXXNOOPT      = $(NOOPT)
511 # COPT        = $(OPT)
512 # FOPT        = $(OPT)
513
514 # # CERNLIB defines
515 # CLIBDEFS      = -DCERNLIB_UNIX -DCERNLIB_DECS -DCERNLIB_BLDLIB -DCERNLIB_CZ
516 # CLIBCXXOPTS   =
517 # CLIBCOPT      =
518 # CLIBFOPT      = $(CLIBDEFS)
519
520 # # Compiler flags
521
522 # CXXFLAGS       = $(OPT) -Wall -fPIC -pipe
523 # CXXFLAGSNO     = $(NOOPT) -Wall -fPIC -pipe
524 # CFLAGS               = $(OPT) -Wall -fPIC -pipe -ansi
525 # FFLAGS         = $(CLIBFOPT) $(FOPT) -Wall -fPIC -pipe -fno-second-underscore
526 # # rmkdepend flags for building dependencies of FORTRAN files
527 # DEPENDFFLAGS   = $(FFLAGS)
528
529 # # rootcint flags
530 # CINTFLAGS     = 
531
532 # LD            = g++
533 # LDFLAGS       = $(OPT) 
534
535 # SHLD        = $(LD)
536 # SOFLAGS       = $(OPT) -Wall -fPIC -pipe -shared -Wl
537 # SHLIB         = -lg2c
538 # SOEXT               = so
539
540 # ALLD        = ar
541 # ALFLAGS       = cr
542 # ALLIB         = 
543 # AEXT        = a
544
545 # #System libraries
546 # SYSLIBS      := -ldl -lg2c -lcrypt -L/usr/X11R6/lib -lX11
547
548
549
550
551
552 # ../build/Makefile.linuxia64ecc
553 # # -*- mode: makefile -*-
554 # # Makefile for AliRoot for Itanium/Linux with Intel icc compiler
555
556 # # System dependent commands
557
558 # XARGS = xargs -r
559
560 # # The compilers
561 # CXX           = icc 
562 # F77         = ifort
563 # CC          = icc
564
565 # # Global optimisation
566 # OPT           = -g #-O
567 # NOOPT         = -g
568
569 # CXXOPT        = $(OPT)
570 # CXXNOOPT      = $(OPT)
571 # COPT        = $(OPT)
572 # FOPT        = $(OPT)
573
574 # # CERNLIB defines
575 # CLIBDEFS      = -DCERNLIB_LXIA64 -DCERNLIB_BLDLIB -DCERNLIB_CZ
576 # CLIBCXXOPTS   =
577 # CLIBCOPT      =
578 # CLIBFOPT      = $(CLIBDEFS)
579
580 # # Compiler flags
581 # CXXFLAGS      = $(CXXOPT)
582 # CXXFLAGSNO    = $(CXXNOOPT)
583 # CFLAGS              = $(COPT)
584 # FFLAGS        = $(CLIBFOPT) $(FOPT)
585 # # rmkdepend flags for building dependencies of FORTRAN files
586 # DEPENDFFLAGS  = $(FFLAGS)
587
588 # # rootcint flags
589 # CINTFLAGS     = 
590
591 # LD            = icpc
592 # LDFLAGS       = $(OPT) 
593
594 # SHLD        = $(LD)
595 # SOFLAGS       = -Wl,-soname,$$TMPLIB -shared -O
596 # SHLIB         =
597 # SOEXT               = so
598
599 # ALLD        = ar
600 # ALFLAGS       = cr
601 # ALLIB         = 
602 # AEXT        = a
603
604 # # additional ROOT libraries
605
606 # LIBNOVER      = `find /lib -name 'libNoVersion*.so' | xargs --replace basename {} .so | sed -e 's/lib/ -l/'`
607
608 # SYSLIBS      := $(LIBNOVER) -lcrypt -L/usr/local/lib -lXt -lCEPCF90 -lF90 \
609 #                 -lPEPCF90 -lintrins -L/usr/X11R6/lib -lX11
610 # ../build/Makefile.linuxia64gcc
611 # # -*- mode: makefile -*-
612 # # Makefile for AliRoot for Itanium/Linux with gcc
613
614 # # System dependent commands
615
616 # XARGS = xargs -r
617
618 # # The compilers
619 # CXX           = g++ 
620 # F77         = g77
621 # CC          = gcc
622
623 # # Global optimisation
624 # OPT           = -g -O
625 # NOOPT         = -g
626
627 # CXXOPT        = $(OPT)
628 # CXXNOOPT      = $(NOOPT)
629 # COPT        = $(OPT)
630 # FOPT        = $(OPT)
631
632 # # CERNLIB defines
633 # CLIBDEFS      = -DCERNLIB_LXIA64 -DCERNLIB_BLDLIB -DCERNLIB_CZ
634 # CLIBCXXOPTS   =
635 # CLIBCOPT      =
636 # CLIBFOPT      = $(CLIBDEFS)
637
638 # # Compiler flags
639 # CXXFLAGS      = $(CXXOPT)  -Wall -Weffc++ -fPIC -pipe
640 # CXXFLAGSNO    = $(CXXNOOPT)  -Wall -Weffc++ -fPIC -pipe
641 # CFLAGS              = -Wall -fPIC -pipe
642 # FFLAGS        = $(CLIBFOPT) $(FOPT) -fno-second-underscore
643 # # rmkdepend flags for building dependencies of FORTRAN files
644 # DEPENDFFLAGS = $(FFLAGS)
645
646 # # rootcint flags
647 # CINTFLAGS     = 
648
649 # LD            = g++
650 # LDFLAGS       = $(OPT) -Wl,-Map -Wl,$@.map
651
652 # SHLD        = $(LD)
653 # SOFLAGS       = -shared -Wl -O2
654 # SOEXT               = so
655
656 # ALLD        = ar
657 # ALFLAGS       = cr
658 # ALLIB         = 
659 # AEXT        = a
660
661 # # additional ROOT libraries
662
663 # LIBNOVER      = `find /lib -name 'libNoVersion*.so' | xargs --replace basename {} .so | sed -e 's/lib/ -l/'`
664
665 # #System libraries
666 # SYSLIBS      := -ldl -lbsd -lg2c -L/usr/X11R6/lib -lX11  $(LIBNOVER)
667
668
669
670
671
672 # ../build/Makefile.linuxicc
673 # # -*- mode: makefile -*-
674 # # Makefile for AliRoot for Linux with the Intel icc compiler
675
676 # # System dependent commands
677
678 # XARGS = xargs -r
679
680 # # The compilers
681 # CXX           = icc
682 # CC            = icc
683
684 # # Compiler version:
685 # ICC_MAJOR    := $(shell $(CXX) -V 2>&1 | awk '{ if (NR==1) print $$8 }' | \
686 #                 cut -d'.' -f1)
687 # ICC_MINOR    := $(shell $(CXX) -V 2>&1 | awk '{ if (NR==1) print $$8 }' | \
688 #                 cut -d'.' -f2)
689
690 # F77           = ifort
691
692 # # Global optimisation
693 # OPT           = -O -ip
694 # NOOPT         = -O0
695
696 # CXXOPT        = $(OPT)
697 # CXXNOOPT      = $(NOOPT)
698 # COPT          = $(OPT)
699 # FOPT          = $(OPT)
700
701 # # CERNLIB defines
702 # CLIBDEFS      = -DCERNLIB_LINUX -DCERNLIB_BLDLIB -DCERNLIB_CZ
703 # CLIBCXXOPTS   =
704 # CLIBCOPT      =
705 # CLIBFOPT      = $(CLIBDEFS)
706
707 # # Compiler flags
708 # CXXFLAGS      = $(CXXOPT)
709 # CXXFLAGSNO    = $(CXXNOOPT)
710 # CFLAGS        = $(COPT)
711 # FFLAGS        = $(CLIBFOPT) $(FOPT)
712 # # rmkdepend flags for building dependencies of FORTRAN files
713 # DEPENDFFLAGS  = $(FFLAGS)
714
715 # # rootcint flags
716 # CINTFLAGS     =
717
718 # LD            = icpc
719 # LDFLAGS       = $(OPT)
720
721 # SHLD          = $(LD)
722 # SOFLAGS       = -Wl,-soname,$$TMPLIB -shared $(OPT)
723 # SHLIB         =
724 # SOEXT               = so
725
726 # ALLD          = ar
727 # ALFLAGS       = cr
728 # ALLIB         =
729 # AEXT        = a
730
731 # # additional ROOT libraries
732
733 # LIBNOVER      = `find /lib -name 'libNoVersion*.so' | xargs --replace basename {} .so | sed -e 's/lib/ -l/'`
734
735 # #System libraries
736 # SYSLIBS      := -lcrypt -L/usr/X11R6/lib -lX11 $(LIBNOVER) -L/usr/local/lib \
737 #                 -lXt -L$(shell which ifort | sed -e 's|bin/ifort|lib|') \
738 #                 -lifcore -lifport
739 # ../build/Makefile.macosxicc
740 # # -*- mode: makefile -*-
741 # # Makefile for AliRoot for MacOS X with gcc
742
743 # XARGS = xargs
744
745 # # fink directories
746 # FINK_ROOT := $(shell which fink | sed -e 's?/bin/fink??')
747 # ifeq (,$(FINK_ROOT))
748 # # No fink, build will probably fail, but we try a guess
749 # FINK_ROOT=/usr/local
750 # endif
751
752 # # The compilers
753 # CXX           = icc 
754 # CC          = icc
755
756 # F77         = ifort
757
758 # # Global optimisation
759 # OPT           = -O -g
760 # NOOPT         = -g
761
762 # CXXOPT        = $(OPT) 
763 # CXXNOOPT      = $(NOOPT) 
764 # COPT        = $(OPT)
765 # FOPT        = $(OPT)
766
767 # # CERNLIB defines
768 # CLIBDEFS      = -DCERNLIB_LINUX -DCERNLIB_BLDLIB -DCERNLIB_CZ -DCERNLIB_PPC
769 # CLIBCXXOPTS   =
770 # CLIBCOPT      =
771 # CLIBFOPT      = $(CLIBDEFS)
772
773 # # Compiler flags
774 # CXXFLAGS      = $(CXXOPT) -fPIC -wd1476 -I/usr/X11R6/include -I$(FINK_ROOT)/include 
775
776 # CXXFLAGSNO    = $(CXXNOOPT) 
777
778 # CFLAGS              = $(COPT) -fPIC -restrict -I$(FINK_ROOT)/include
779
780 # FFLAGS        = $(CLIBFOPT) $(FOPT)
781 # # rmkdepend flags for building dependencies of FORTRAN files
782 # DEPENDFFLAGS  = $(FFLAGS)
783
784 # # rootcint flags
785 # CINTFLAGS     = 
786
787 # LD            = icpc
788 # LDFLAGS       = $(OPT) $(DICTLOAD)
789
790 # SHLD       := $(LD)
791 # SOFLAGS      := $(OPT) -dynamiclib -undefined dynamic_lookup -single_module
792 # SHLIB        := 
793 # SOEXT              := so
794
795 # DYLD       := $(LD)
796 # DYFLAGS       = -dynamiclib -undefined dynamic_lookup -single_module
797 # DYLIB        := 
798 # DYEXT        := dylib
799
800 # ALLD        = ar
801 # ALFLAGS       = cr
802 # ALLIB         = 
803 # AEXT        = a
804
805 # DEPENDCXXFLAGS = $(CXXFLAGS) -I/usr/include/sys
806
807 # EXEFLAGS     := -bind_at_load 
808
809 # #System libraries
810
811 # SYSLIBS      := -L/usr/X11R6/lib -lX11 -lGL $(LIBNOVER) -L/usr/local/lib \
812 #                 -lXt -L$(shell which ifort | sed -e 's|bin/ifort|lib|') \
813 #                 -lifcore -lifport
814
815
816 # ../build/Makefile.macosxxlc
817 # # -*- mode: makefile -*-
818 # # Makefile for AliRoot for MacOS X using the IBM xlc compiler
819
820 # # The compilers
821 # CXX           = xlC
822 # F77         = xlf
823 # CC          = xlc
824
825 # # Global optimisation
826 # OPT           = -qnoopt #-O3 -g
827 # NOOPT         = -qnoopt
828
829 # CXXOPT        = $(OPT) 
830 # CXXNOOPT      = $(NOOPT) 
831 # COPT        = $(OPT)
832 # FOPT        = $(OPT) 
833
834 # # CERNLIB defines
835 # CLIBDEFS      = -DCERNLIB_LINUX -DCERNLIB_BLDLIB -DCERNLIB_CZ
836 # CLIBCXXOPTS   =
837 # CLIBCOPT      =
838 # CLIBFOPT      = $(shell echo $(CLIBDEFS) | sed -e's/-D/-WF,-D/g')
839
840 # # Compiler flags
841 # CXXFLAGS      = $(CXXOPT) -qpic -I/sw/include \
842 #                 -qflttrap=overflow:zerodivide:invalid:inexact:enable
843 # CXXFLAGSNO    = $(CXXNOOPT) -qpic -I/sw/include \
844 #                 -qflttrap=overflow:zerodivide:invalid:inexact:enable
845 # CFLAGS              = -qpic -qextname -I/sw/include \
846 #                 -qflttrap=overflow:zerodivide:invalid:inexact:enable
847 # FFLAGS        = $(CLIBFOPT)  $(FOPT) -qpic \
848 #                 -qflttrap=overflow:zerodivide:invalid:inexact:enable
849 # # rmkdepend flags for building dependencies 
850 # DEPENDFFLAGS  = $(FFLAGS)
851 # DEPENDCXXFLAGS = $(CXXFLAGS) -I/usr/include/sys
852
853 # # rootcint flags
854 # CINTFLAGS     = 
855 #               
856 # LD            = xlC
857 # LDFLAGS       = $(OPT) 
858
859 # SHLD       := export MACOSX_DEPLOYMENT_TARGET=10.3 ; \
860 #               unset LD_PREBIND ; \
861 #               xlC
862 # SOFLAGS      := -bundle -undefined dynamic_lookup
863 # #SHLIB        := -lg2c
864 # SHLIB        :=
865 # SOEXT              := so
866
867 # DYLD       := export MACOSX_DEPLOYMENT_TARGET=10.3 ; \
868 #               unset LD_PREBIND ; \
869 #               xlC
870 # DYFLAGS       = -qmkshrobj -undefined dynamic_lookup -single_module
871 # DYLIB        :=
872 # DYEXT        := dylib
873
874 # ALLD        = ar
875 # ALFLAGS       = cr
876 # ALLIB         = 
877 # AEXT        = a
878
879
880 # #System libraries
881 # SYSLIBS      := -ldl -L/usr/X11R6/lib -lX11
882
883 # EXEFLAGS     := -Wl,-bind_at_load
884
885
886
887
888 # ../build/Makefile.solarisCC5
889 # # -*- mode: makefile -*-
890 # # Makefile to build ALIROOT for SunOS
891
892 # # System dependent commands
893
894 # XARGS = xargs
895
896 # # The compilers
897 # CXX           = /opt/SUNWspro/bin/CC
898 # CC          = /opt/SUNWspro/bin/cc
899 # F77         = /opt/SUNWspro/bin/f77
900
901 # # Global optimisation
902 # OPT           = -g -O 
903 # NOOPT         = -g
904
905 # CXXOPT        = $(OPT)
906 # CXXNOOPT      = $(NOOPT)
907 # COPT        = $(OPT)
908 # FOPT        = $(OPT)
909
910 # # CERNLIB defines
911 # CLIBDEFS      = -DCERNLIB_SUN -DCERNLIB_BLDLIB -DCERNLIB_CZ
912 # CLIBCXXOPTS   =
913 # CLIBCOPT      =
914 # CLIBFOPT      = $(CLIBDEFS) -xpp=cpp
915 #               
916 # # Compiler flags
917 # CXXFLAGS      = $(CXXOPT) +w -KPIC -features=rtti -D_XOPEN_SOURCE -D_XOPEN_VERSION=4 -D__EXTENSIONS__
918 # CXXFLAGSNO    = $(CXXNOOPT) +w -KPIC -features=rtti
919 # CFLAGS              = $(COPT) -KPIC -erroff=%none
920 # FFLAGS        = $(FOPT) $(CLIBFOPT) $(CLIBDEFS)  -KPIC
921 # # rmkdepend flags for building dependencies of FORTRAN files
922 # DEPENDFFLAGS  = $(FFLAGS) 
923
924 # # rootcint flags
925 # CINTFLAGS     = 
926
927 # SHLIB         = 
928 # SOEXT               = so
929
930 # LD            = /opt/SUNWspro/bin/CC
931 # LDFLAGS       = $(OPT) -Qoption ld -t
932
933 # SHLD        = $(LD)
934 # SOFLAGS       = -G $(LDFLAGS) $(SHLIB)  
935
936 # SYSLIBS      := -L/usr/dt/lib -L/usr/openwin/lib -L/usr/ccs/lib -lXm -lXt \
937 #                 -lX11 -lm -lgen -ldl -lsocket -lsunmath -lfsu -lfui -lnsl
938
939 # # Additional flags and libraries for building aliroot executable
940
941 # EXEFLAGS     := -O -Qoption ld -t 
942
943
944
945
946
947 # ../build/Makefile.win32gcc
948 # # -*- mode: makefile -*-
949 # # Makefile to build AliRoot for Linux
950
951 # # System dependent commands
952
953 # XARGS = xargs -r
954
955 # # The compilers
956 # CXX           = g++ 
957 # F77         = g77
958 # CC          = gcc
959 # CCMAJORV      = $(shell $(CC) -dumpversion | cut -d. -f1)
960 # CCMINORV      = $(shell $(CC) -dumpversion | cut -d. -f2)
961
962 # # Global optimisation
963 # OPT           = -O -g
964 # NOOPT         = -g
965
966 # CXXOPT        = $(OPT)
967 # CXXNOOPT      = $(NOOPT)
968 # COPT        = $(OPT)
969 # FOPT        = $(OPT)
970
971 # # CERNLIB defines
972 # CLIBDEFS      = -DCERNLIB_LINUX -DCERNLIB_BLDLIB -DCERNLIB_CZ
973 # CLIBCXXOPTS   =
974 # CLIBCOPT      =
975 # CLIBFOPT      = $(CLIBDEFS)
976
977 # # Compiler flags
978 # CXXFLAGS       = $(OPT) -Wall -pipe -Woverloaded-virtual -Weffc++ -D_DLL
979 # CXXFLAGSNO     = $(NOOPT) -Wall -pipe -Woverloaded-virtual -Weffc++ -D_DLL
980 # CFLAGS               = $(OPT) -Wall -D_DLL
981 # FFLAGS         = $(CLIBFOPT) $(FOPT) -fno-second-underscore
982 # # rmkdepend flags for building dependencies of FORTRAN files
983 # DEPENDFFLAGS   = $(FFLAGS)
984
985 # # rootcint flags
986 # CINTFLAGS     = 
987
988 # LD            = g++
989 # LDFLAGS       = $(OPT) 
990
991 # SHLD        = $(LD)
992 # SOFLAGS       = $(OPT) -shared -Wl,--export-all-symbols -Wl,-soname=$$TMPLIB -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc
993 # SHLIB         = $(shell root-config --libs) -lg2c
994 # SOEXT               = dll
995
996 # ALLD        = ar
997 # ALFLAGS       = cr
998 # ALLIB         = 
999 # AEXT        = a
1000
1001 # # additional ROOT libraries
1002
1003 # #System libraries
1004 # SYSLIBS      := -ldl -lg2c -lcrypt -L/usr/X11R6/lib -lX11
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015