summaryrefslogtreecommitdiff
path: root/cpp/config/Make.rules.Linux
blob: 250ed5dd44bda85f078bf9d025b3f9a5eaf9c284 (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
# ZeroC, Inc.
# Billerica, MA, USA
#
# All Rights Reserved.
#
# Ice is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License version 2 as published by
# the Free Software Foundation.
#
# **********************************************************************

#
# 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

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

ifeq ($(CXX),icc)

   #
   # -no-gcc: we use __GNUC macros to work-around GCC bugs, and we don't want to 
   # automatically enable these work arounds.
   #

   CXXFLAGS		= -fPIC -no-gcc -D_REENTRANT    

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

   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)