]> git.uio.no Git - u/mrichter/AliRoot.git/blame - SHUTTLE/DCSClient/Makefile.arch
more secure string operations
[u/mrichter/AliRoot.git] / SHUTTLE / DCSClient / Makefile.arch
CommitLineData
eba76848 1# -*- mode: makefile -*-
2#
3# Makefile containing platform dependencies for ROOT based projects.
4#
5# Copyright (c) 2000 Rene Brun and Fons Rademakers
6#
7# Author: Fons Rademakers, 29/2/2000
8
9ARCH := $(shell root-config --arch)
10PLATFORM := $(shell root-config --platform)
11
12CXX =
13ObjSuf = o
14SrcSuf = cxx
15ExeSuf =
16DllSuf = so
17OutPutOpt = -o # keep whitespace after "-o"
18
19ROOTCFLAGS := $(shell root-config --cflags)
20ROOTLDFLAGS := $(shell root-config --ldflags)
21ROOTLIBS := $(shell root-config --libs)
22ROOTGLIBS := $(shell root-config --glibs)
23HASTHREAD := $(shell root-config --has-thread)
24
25ifeq ($(ARCH),hpuxacc)
26# HP-UX 10.x with aCC
27CXX = aCC
28CXXFLAGS = -O +Z
29LD = aCC
30LDFLAGS = -O -z
31SOFLAGS = -b
32endif
33
34ifeq ($(ARCH),hpuxia64acc)
35# HP-UX 11i 1.5 (IA-64) with aCC
36CXX = aCC
37CXXFLAGS = +DD64 -O +Z
38LD = aCC
39LDFLAGS = +DD64 -O -z
40SOFLAGS = -b
41endif
42
43ifeq ($(ARCH),hpuxegcs)
44# HP-UX 10.x with g++
45CXXFLAGS = -O -fPIC
46CXX = g++
47LD = g++
48LDFLAGS = -O
49SOFLAGS = -fPIC -shared
50endif
51
52ifeq ($(ARCH),hurddeb)
53# GNU/Hurd
54CXX = g++
55CXXFLAGS = -O2 -Wall -fPIC
56LD = g++
57LDFLAGS = -O2
58SOFLAGS = -shared
59endif
60
61ifeq ($(ARCH),aix)
62# IBM AIX xlC 4.x
63CXX = xlC
64CXXFLAGS = -O
65LD = xlC
66LDFLAGS = -O
67SOFLAGS =
68ROOTLIBS := $(shell root-config --nonew --libs)
69ROOTGLIBS := $(shell root-config --nonew --glibs)
70endif
71
72ifeq ($(ARCH),aix5)
73# IBM AIX xlC 5.x
74CXX = xlC
75CXXFLAGS = -O
76LD = xlC
77LDFLAGS = -O
78SOFLAGS =
79ROOTLIBS := $(shell root-config --nonew --libs)
80ROOTGLIBS := $(shell root-config --nonew --glibs)
81endif
82
83ifeq ($(ARCH),aixegcs)
84# IBM AIX with GCC
85CXX = g++
86CXXFLAGS = -O
87LD = g++
88LDFLAGS = -O
89SOFLAGS = -shared
90endif
91
92ifeq ($(ARCH),solaris)
93# Solaris CC
94CXX = /opt/SUNWspro/bin/CC
95CXXFLAGS = -O -KPIC
96LD = /opt/SUNWspro/bin/CC
97LDFLAGS = -O
98SOFLAGS = -G
99endif
100
101ifeq ($(ARCH),solarisCC5)
102# Solaris CC 5.0
103CXX = CC
104CXXFLAGS = -O -KPIC
105LD = CC
106LDFLAGS = -O
107SOFLAGS = -G
108endif
109
110ifeq ($(ARCH),solarisgcc)
111# Solaris gcc
112CXX = g++
113CXXFLAGS = -O -fPIC
114LD = g++
115LDFLAGS = -O
116SOFLAGS = -shared
117endif
118
119ifeq ($(ARCH),solariskcc)
120# Solaris kcc
121CXX = KCC --one_instantiation_per_object
122CXXFLAGS = -O4 -KPIC
123LD = KCC
124LDFLAGS = -O4
125SOFLAGS =
126endif
127
128ifeq ($(ARCH),solarisx86)
129# Solaris CC on Intel
130CXX = CC
131CXXFLAGS = -O -KPIC
132LD = CC
133LDFLAGS = -O
134SOFLAGS = -G
135endif
136
137ifeq ($(ARCH),sgicc)
138# SGI
139CXX = CC -n32 -I/usr/include/CC.sgi
140CXXFLAGS = -O
141LD = CC -n32 -LANG:std -I/usr/include/CC.sgi
142LDFLAGS = -O
143SOFLAGS = -shared
144endif
145
146ifeq ($(ARCH),sgicc64)
147# SGI
148CXX = CC -64 -I/usr/include/CC.sgi
149CXXFLAGS = -O
150LD = CC -64 -LANG:std -I/usr/include/CC.sgi
151LDFLAGS = -O
152SOFLAGS = -shared
153endif
154
155ifeq ($(ARCH),sgiegcs)
156# SGI 6.x with EGCS
157CXX = g++
158CXXFLAGS = -O -Wall -fPIC
159LD = g++
160LDFLAGS = -O -Wl,-u,__builtin_new -Wl,-u,__builtin_delete -Wl,-u,__nw__FUiPv
161SOFLAGS = -shared
162endif
163
164ifeq ($(ARCH),sgin32egcs)
165# SGI 6.x with EGCS for n32 ABI
166CXX = g++
167CXXFLAGS = -O -Wall -fPIC
168LD = g++
169LDFLAGS = -O -L/usr/lib32 -Wl,-woff,134
170SOFLAGS = -shared
171endif
172
173ifeq ($(ARCH),sgikcc)
174# SGI with KCC
175CXX = KCC -n32 --one_instantiation_per_object
176CXXFLAGS = -O
177LD = KCC -n32
178LDFLAGS = -O
179SOFLAGS =
180endif
181
182ifeq ($(ARCH),alphaegcs)
183# Alpha/OSF with egcs
184CXX = g++
185CXXFLAGS = -O2 -Wall -fPIC
186LD = g++
187LDFLAGS = -O2
188SOFLAGS = -Wl,-expect_unresolved,* -shared
189endif
190
191ifeq ($(ARCH),alphakcc)
192# Alpha/OSF with kai compiler (not yet valid)
193CXX = KCC --one_instantiation_per_object
194CXXFLAGS = -O -fPIC
195LD = KCC
196LDFLAGS = -O
197SOFLAGS = -Wl,-expect_unresolved,* -shared
198endif
199
200ifeq ($(ARCH),alphacxx6)
201# Alpha/OSF with cxx6
202CXX = cxx
203CXXFLAGS = -O
204LD = cxx
205LDFLAGS = -O
206SOFLAGS = -shared -nocxxstd -Wl,-expect_unresolved,*,-msym
207endif
208
209ifeq ($(ARCH),linuxrh51)
210# Linux with gcc 2.7.2.x
211CXX = g++
212CXXFLAGS = -O2 -Wall -fPIC
213LD = g++
214LDFLAGS = -O2
215SOFLAGS = -shared
216endif
217
218ifeq ($(ARCH),linuxrh42)
219# Linux with gcc 2.7.2.x (RedHat 4.2)
220CXX = g++
221CXXFLAGS = -O2 -Wall -fPIC
222LD = g++
223LDFLAGS = -O2
224SOFLAGS = -shared
225endif
226
227ifeq ($(ARCH),linuxdeb)
228# Linux with gcc 2.7.2.x
229CXX = g++
230CXXFLAGS = -O1 -Wall -fPIC
231LD = g++
232LDFLAGS = -O1
233SOFLAGS = -shared
234endif
235
236ifeq ($(ARCH),linuxdeb2)
237# Linux with gcc 2.7.2.x
238CXX = g++
239CXXFLAGS = -O2 -Wall -fPIC
240LD = g++
241LDFLAGS = -O2
242SOFLAGS = -shared
243endif
244
245ifeq ($(ARCH),linuxdeb2ppc)
246# Debian/Linux on the PowerPC
247CXX = g++
248CXXFLAGS = -O2 -Wall -fPIC
249LD = g++
250LDFLAGS = -O2
251SOFLAGS = -shared
252endif
253
254ifeq ($(ARCH),linuxsuse6)
255# Linux with gcc 2.7.2.x
256CXX = g++
257CXXFLAGS = -O2 -Wall -fPIC
258LD = g++
259LDFLAGS = -O2
260SOFLAGS = -shared
261endif
262
263ifeq ($(ARCH),linux)
264# Linux with egcs, gcc 2.9x, gcc 3.x (>= RedHat 5.2)
265CXX = g++
266CXXFLAGS = -O -Wall -fPIC
267LD = g++
268LDFLAGS = -O
269SOFLAGS = -shared
270endif
271
272ifeq ($(ARCH),linuxkcc)
273# Linux with the KAI compiler
274CXX = KCC --one_instantiation_per_object
275CXXFLAGS = -O -fPIC +K0
276LD = KCC
277LDFLAGS = -O $(shell root-config --cflags)
278SOFLAGS =
279endif
280
281ifeq ($(ARCH),linuxicc)
282# Linux with Intel icc compiler
283ICC_MAJOR := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
284 cut -d'.' -f1)
285ICC_MINOR := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
286 cut -d'.' -f2)
287CXX = icc
288CXXFLAGS = -O -fPIC -wd1476
289LD = icpc
290LDFLAGS = -O
291SOFLAGS = -shared
292ifeq ($(ICC_MAJOR),8)
293ifneq ($(ICC_MINOR),0)
294CXXFLAGS += -wd1572
295endif
296endif
297endif
298
299ifeq ($(ARCH),linuxppcegcs)
300# MkLinux with egcs/glibc
301CXX = g++
302CXXFLAGS = -O2 -Wall -fPIC
303LD = g++
304LDFLAGS = -O2
305SOFLAGS = -shared
306endif
307
308ifeq ($(ARCH),linuxia64gcc)
309# Itanium Linux with gcc 2.9x
310CXX = g++
311CXXFLAGS = -O2 -Wall -fPIC
312LD = g++
313LDFLAGS = -O2
314SOFLAGS = -shared
315endif
316
317ifeq ($(ARCH),linuxia64sgi)
318# Itanium Linux with sgiCC
319CXX = sgiCC
320CXXFLAGS = -O -Wall -fPIC
321LD = gsgiCC
322LDFLAGS = -O
323SOFLAGS = -shared
324endif
325
326ifeq ($(ARCH),linuxia64ecc)
327# Itanium Linux with Intel icc (was ecc)
328ICC_MAJOR := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
329 cut -d'.' -f1)
330ICC_MINOR := $(shell icc -v 2>&1 | awk '{ if (NR==1) print $$2 }' | \
331 cut -d'.' -f2)
332CXX = icc
333CXXFLAGS = -O -fPIC -wd1476
334LD = icpc
335LDFLAGS = -O
336SOFLAGS = -shared
337ifeq ($(ICC_MAJOR),8)
338ifneq ($(ICC_MINOR),0)
339CXXFLAGS += -wd1572
340endif
341endif
342endif
343
344ifeq ($(ARCH),linuxx8664gcc)
345# AMD Opteron and Intel EM64T (64 bit mode) Linux with gcc 3.x
346CXX = g++
347CXXFLAGS = -O2 -Wall -fPIC
348LD = g++
349LDFLAGS = -O2
350SOFLAGS = -shared
351endif
352
353ifeq ($(ARCH),linuxppc64gcc)
354# PPC64 Linux with gcc 3.x
355CXX = g++
356CXXFLAGS = -O -Wall -fPIC
357LD = g++
358LDFLAGS = -O
359SOFLAGS = -shared
360endif
361
362ifeq ($(ARCH),linuxx8664icc)
363# AMD Opteron and Intel EM64T (64 bit mode) Linux with Intel icc compiler
364CXX = icc
365CXXFLAGS = -O -fPIC -wd1476 -wd1572
366LD = icpc
367LDFLAGS = -O
368SOFLAGS = -shared
369endif
370
371ifeq ($(ARCH),linuxalphaegcs)
372# Alpha Linux with egcs
373CXX = g++
374CXXFLAGS = -O2 -Wall -fPIC
375LD = g++
376LDFLAGS = -O2
377SOFLAGS = -shared
378endif
379
380ifeq ($(ARCH),linuxarm)
381# ARM Linux with egcs
382CXX = g++
383CXXFLAGS = -O -Wall -fPIC
384LD = g++
385LDFLAGS = -O
386SOFLAGS = -shared
387endif
388
389ifeq ($(ARCH),mklinux)
390# MkLinux with libc5
391CXX = g++
392CXXFLAGS = -O2 -Wall -fPIC
393LD = g++
394LDFLAGS = -O2
395SOFLAGS = -shared
396endif
397
398ifeq ($(ARCH),freebsd)
399# FreeBSD with libc5
400CXX = g++
401CXXFLAGS = -O -pipe -W -Wall -fPIC
402LD = g++
403LDFLAGS = -O
404SOFLAGS = -shared -Wl,-x
405endif
406
407ifeq ($(ARCH),freebsd4)
408# FreeBSD with glibc
409CXX = g++
410CXXFLAGS = -O -pipe -W -Wall -fPIC
411LD = g++
412LDFLAGS = -O
413SOFLAGS = -shared -Wl,-x
414endif
415
416ifeq ($(ARCH),openbsd)
417# OpenBSD with libc
418CXX = g++
419CXXFLAGS = -O -pipe -W -Wall -fPIC
420LD = g++
421LDFLAGS = -O
422SOFLAGS = -shared -Wl,-x
423endif
424
425ifeq ($(ARCH),macosx)
426# MacOS X with cc (GNU cc 2.95.2 and gcc 3.3)
427MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
428CXX = c++
429CXXFLAGS = -O2 -pipe -Wall -W -Woverloaded-virtual
430LDFLAGS = -O2 -bind_at_load
431# The SOFLAGS will be used to create the .dylib,
432# the .so will be created separately
433DllSuf = dylib
434ifeq ($(MACOSX_MINOR),4)
435UNDEFOPT = dynamic_lookup
436LD = MACOSX_DEPLOYMENT_TARGET=10.4 c++
437else
438ifeq ($(MACOSX_MINOR),3)
439UNDEFOPT = dynamic_lookup
440LD = MACOSX_DEPLOYMENT_TARGET=10.3 c++
441else
442UNDEFOPT = suppress
443LD = c++
444endif
445endif
446SOFLAGS = -dynamiclib -single_module -undefined $(UNDEFOPT)
447endif
448
449ifeq ($(ARCH),macosx64)
450# MacOS X >= 10.4 with gcc 64 bit mode (GNU gcc 4.*)
451MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
452CXX = c++
453CXXFLAGS = -m64 -O2 -pipe -Wall -W -Woverloaded-virtual
454LDFLAGS = -m64 -O2 -bind_at_load
455# The SOFLAGS will be used to create the .dylib,
456# the .so will be created separately
457DllSuf = dylib
458LD = MACOSX_DEPLOYMENT_TARGET=10.4 c++
459SOFLAGS = -m64 -dynamiclib -single_module -undefined dynamic_lookup
460endif
461
462ifeq ($(ARCH),macosxxlc)
463# MacOS X with IBM xlC compiler
464MACOSX_MINOR := $(shell sw_vers | sed -n 's/ProductVersion://p' | cut -d . -f 2)
465CXX = xlC
466CXXFLAGS = -O
467LDFLAGS = -O -Wl,-bind_at_load
468# The SOFLAGS will be used to create the .dylib,
469# the .so will be created separately
470DllSuf = dylib
471ifeq ($(MACOSX_MINOR),4)
472UNDEFOPT = dynamic_lookup
473LD = MACOSX_DEPLOYMENT_TARGET=10.4 xlC
474else
475ifeq ($(MACOSX_MINOR),3)
476UNDEFOPT = dynamic_lookup
477LD = MACOSX_DEPLOYMENT_TARGET=10.3 xlC
478else
479UNDEFOPT = suppress
480LD = xlC
481endif
482endif
483SOFLAGS = -qmkshrobj -single_module -undefined $(UNDEFOPT)
484endif
485
486ifeq ($(ARCH),win32)
487# Windows with the VC++ compiler
488ObjSuf = obj
489SrcSuf = cxx
490ExeSuf = .exe
491DllSuf = dll
492OutPutOpt = -out:
493CXX = cl
494CXXOPT = -O2
495#CXXOPT = -Z7
496CXXFLAGS = $(CXXOPT) -G5 -GR -GX -MD -DWIN32 -D_WINDOWS -nologo \
497 -DVISUAL_CPLUSPLUS -D_X86_=1 -D_DLL
498LD = link
499LDOPT = -opt:ref
500#LDOPT = -debug
501LDFLAGS = $(LDOPT) -pdb:none -nologo
502SOFLAGS = -DLL
503
504ROOTLIBS := $(shell root-config --nonew --libs)
505ROOTGLIBS := $(shell root-config --nonew --glibs)
506EXPLLINKLIBS = $(ROOTLIBS) $(ROOTGLIBS)
507endif
508
509ifeq ($(ARCH),win32old)
510# Windows with the VC++ compiler
511ObjSuf = obj
512SrcSuf = cxx
513ExeSuf = .exe
514DllSuf = dll
515OutPutOpt = -out:
516CXX = cl
517CXXOPT = -O2
518#CXXOPT = -Z7
519CXXFLAGS = $(CXXOPT) -G5 -GR -GX -MD -DWIN32 -D_WINDOWS -nologo \
520 -DVISUAL_CPLUSPLUS -D_X86_=1 -D_DLL
521LD = link
522LDOPT = -opt:ref
523#LDOPT = -debug
524LDFLAGS = $(LDOPT) -pdb:none -nologo
525SOFLAGS = -DLL
526
527ROOTLIBS := $(shell root-config --nonew --libs)
528ROOTGLIBS := $(shell root-config --nonew --glibs)
529EXPLLINKLIBS = $(ROOTLIBS) $(ROOTGLIBS)
530endif
531
532ifeq ($(ARCH),win32gcc)
533# Windows with gcc
534DllSuf = dll
535ExeSuf = .exe
536CXX = g++
537CXXFLAGS = -O -pipe -Wall -Woverloaded-virtual -I/usr/X11R6/include
538LD = g++
539LDFLAGS = -O -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc \
540 -L/usr/X11R6/lib
541SOFLAGS = -shared -D_DLL -Wl,--export-all-symbols
542EXPLLINKLIBS = $(ROOTLIBS) $(ROOTGLIBS)
543endif
544
545ifeq ($(CXX),)
546$(error $(ARCH) invalid architecture)
547endif
548
549CXXFLAGS += $(ROOTCFLAGS)
550LDFLAGS += $(ROOTLDFLAGS)
551LIBS = $(ROOTLIBS) $(SYSLIBS)
552GLIBS = $(ROOTGLIBS) $(SYSLIBS)