summaryrefslogtreecommitdiff
path: root/cpp/config/Make.rules.Linux
blob: b3e3cdf2c0eb4b50f86ce10b5aea3f8127d51264 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# **********************************************************************
#
# Copyright (c) 2003-2004 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
#
# **********************************************************************

#
# This file is included by Make.rules when uname is Linux.
#

USE_SPARC_ASM           = irrelevant
MACHINE                 = $(shell uname -m)

#
# Default compiler is c++ (aka g++).
#
ifeq ($(CXX),)
   CXX	                := c++
endif

ifeq ($(CXX),g++)
   CXX	                := c++
endif

ifeq ($(CXX),c++)

   ifeq ($(MACHINE),sparc64)
      #
      # We are an ultra, at least, and so have the atomic instructions
      #
      USE_SPARC_ASM           = yes
      CXXARCHFLAGS            := -mcpu=ultrasparc -pipe -Wno-deprecated -DUSE_SPARC_ASM
   endif

   ifeq ($(MACHINE),sparc)
      #
      # We are a sun4m or sun4c
      # On sun4m, there is a bug in some CPU/kernel/gcc configurations which
      # prevent us from using '-mcpu=v8'
      #
      USE_SPARC_ASM           = no
      CXXARCHFLAGS            := -mtune=v8 -pipe -Wno-deprecated -DICE_USE_MUTEX_SHARED
   endif

   ifeq ($(MACHINE),x86_64)

      ifneq ($(LP64),yes)
         CXXARCHFLAGS    := -m32
      endif    
      lp64suffix          := 64
   endif

   CXXFLAGS		= $(CXXARCHFLAGS) -ftemplate-depth-128 -fPIC -Wall -D_REENTRANT

   ifeq ($(OPTIMIZE),yes)
      CXXFLAGS		:= -O2 -DNDEBUG $(CXXFLAGS)
   else
      CXXFLAGS		:= -g $(CXXFLAGS)
   endif

   ifeq ($(USE_SPARC_ASM),yes)
      CFLAGS                  := -O3 -mcpu=ultrasparc -pipe -DNDEBUG -fPIC -DUSE_SPARC_ASM
   endif
   ifeq ($(USE_SPARC_ASM),no)
      CFLAGS                  := -O3 -mcpu=v8 -pipe -DNDEBUG -fPIC -DICE_USE_MUTEX_SHARED
   endif

   #
   # C++ run-time libraries, necessary for linking some shared libraries.
   #
   CXXLIBS		=

   mkshlib                 = $(CXX) -shared $(LDFLAGS) -o $(1) -Wl,-h,$(2) $(3) $(4) -lpthread
endif

ifeq ($(CXX),icpc)

   CXXFLAGS		= -fPIC -D_REENTRANT    

   ifeq ($(OPTIMIZE),yes)
      CXXFLAGS		:= -O2 -DNDEBUG $(CXXFLAGS)
   else
      CXXFLAGS		:= -g $(CXXFLAGS)
   endif

   #
   # C++ run-time libraries, necessary for linking some shared libraries.
   #
   CXXLIBS		=

   mkshlib                 = $(CXX) -shared $(LDFLAGS) -o $(1) -Wl,-h,$(2) $(3) $(4) -lpthread
endif

BASELIBS		= -lIceUtil $(STLPORT_LIBS) -lpthread 
LIBS			= -lIce $(BASELIBS)

ICEUTIL_OS_LIBS         = 
ICE_OS_LIBS             = -ldl

PLATFORM_HAS_READLINE   := yes

export LD_LIBRARY_PATH	:= $(libdir):$(LD_LIBRARY_PATH)