summaryrefslogtreecommitdiff
path: root/cppe/config/Make.rules.Linux
blob: 0745c179f0aee0dd3f56096cca49704eab296e16 (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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# **********************************************************************
#
# Copyright (c) 2003-2005 ZeroC, Inc. All rights reserved.
#
# This copy of Ice-E is licensed to you under the terms described in the
# ICEE_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
      # prevents us from using '-mcpu=v8'.
      #
      USE_SPARC_ASM	= no
      CXXARCHFLAGS	= -mtune=v8 -pipe -Wno-deprecated -DICE_USE_MUTEX_SHARED
   endif

   ifeq ($(MACHINE),x86_64)
      ifeq ($(LP64),yes)
         CXXARCHFLAGS	= -m64
      else
         CXXARCHFLAGS	= -m32
      endif
      lp64suffix	= 64
   endif

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

   ifeq ($(STATICLIBS),)
      CXXFLAGS		+= -fPIC
   endif

   ifeq ($(OPTIMIZE),yes)
      CXXFLAGS		+= -Os -DNDEBUG
   else
      CXXFLAGS		+= -g
   endif

   ifeq ($(USE_SPARC_ASM),yes)
      CFLAGS		= -Os -mcpu=ultrasparc -pipe -DNDEBUG -DUSE_SPARC_ASM
      ifeq ($(STATICLIBS),)
         CFLAGS		+= -fPIC
      endif
   endif

   ifeq ($(USE_SPARC_ASM),no)
      CFLAGS		= -Os -mcpu=v8 -pipe -DNDEBUG -DICE_USE_MUTEX_SHARED
      ifeq ($(STATICLIBS),)
         CFLAGS		+= -fPIC
      endif
   endif

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

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

   mklib		= ar cr $(1) $(2)

endif

ifeq ($(CXX),icpc)

   CXXFLAGS		= -D_REENTRANT    

   ifeq ($(STATICLIBS),)
      CXXFLAGS		+= -fPIC
   endif

   ifeq ($(OPTIMIZE),yes)
      CXXFLAGS		+= -Os -DNDEBUG
   else
      CXXFLAGS		+= -g
   endif

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

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

   mklib		= ar cr $(1) $(2)

endif

BASELIBS		= $(STLPORT_LIBS) -lpthread 
LIBS			= -lIceE $(BASELIBS)
MINLIBS			= -lIceEC $(BASELIBS)
TESTLIBS		= -lTestCommon $(LIBS)

ICEUTIL_OS_LIBS		= 
ICE_OS_LIBS		= -ldl

PLATFORM_HAS_READLINE	= yes

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