# ********************************************************************** # # Copyright (c) 2003-2007 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 # # icecpp is built with a C compiler # CFLAGS = -O2 ifeq ($(MACHINE),x86_64) ifeq ($(LP64),) LP64 = yes endif ifeq ($(LP64),yes) CFLAGS += -m64 else CFLAGS += -m32 endif endif ifeq ($(CXX),c++) ifeq ($(MACHINE),sparc64) # # We are an ultra, at least, and so have the atomic instructions # $(warning ===================================================================) $(warning Linux on SPARC is currently unsupported. The Ice team does not) $(warning maintain SPARC specific portions of the source code or build) $(warning system. Contact sales@zeroc.com if you wish to sponsor official) $(warning support.) $(warning ===================================================================) 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' # $(warning ===================================================================) $(warning Linux on SPARC is currently unsupported. The Ice team does not) $(warning maintain SPARC specific portions of the source code or build) $(warning system. Contact sales@zeroc.com if you wish to sponsor official) $(warning support.) $(warning ===================================================================) 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 += -O2 -DNDEBUG else CXXFLAGS += -g endif ifeq ($(USE_SPARC_ASM),yes) CFLAGS = -O2 -mcpu=ultrasparc -pipe -DNDEBUG -DUSE_SPARC_ASM ifeq ($(STATICLIBS),) CFLAGS += -fPIC endif endif ifeq ($(USE_SPARC_ASM),no) CFLAGS = -O2 -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) rpathlink = -Wl,-rpath-link,$(1) ifneq ($(embedded_runpath_prefix),) LDPLATFORMFLAGS = -Wl,--enable-new-dtags -Wl,-rpath,$(runpath_libdir) else LDPLATFORMFLAGS = -Wl,--enable-new-dtags endif endif ifeq ($(CXX),icpc) $(warning ===================================================================) $(warning Intel C++ is currently not supported. The Ice team does not) $(warning maintain Intel C++ specific portions of the source code or build) $(warning system. Contact sales@zeroc.com if you wish to sponsor official) $(warning support.) $(warning ===================================================================) CXXFLAGS = -D_REENTRANT ifeq ($(STATICLIBS),) CXXFLAGS += -fPIC endif ifeq ($(OPTIMIZE),yes) CXXFLAGS += -O2 -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) rpathlink = -Wl,-rpath-link,$(1) endif BASELIBS = -lIceUtil $(STLPORT_LIBS) -lpthread LIBS = $(BZIP2_RPATH_LINK) -lIce $(BASELIBS) ICEUTIL_OS_LIBS = ICE_OS_LIBS = -ldl PLATFORM_HAS_READLINE = yes export LD_LIBRARY_PATH := $(libdir):$(LD_LIBRARY_PATH)