server/dep/ACE_wrappers/include/makeinclude/wrapper_macros.GNU
cipherCOM 571f510ee4 [11162] Changed ACE lib to same version but with configure script
(based on cipherCOM's repo commit d3d8934)

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
2011-02-14 12:51:16 +03:00

954 lines
28 KiB
Gnuplot

# -*- Makefile -*-
#----------------------------------------------------------------------------
# $Id: wrapper_macros.GNU 92151 2010-10-05 07:27:20Z johnnyw $
#----------------------------------------------------------------------------
#
# ACE supports the following flags. They can be enabled either on
# the command line, e.g., "make purify=1", or added to your
# platform_macros.GNU. To disable the option, set the flag to null,
# e.g., "make debug=". Some flags support setting to 0 disable,
# e.g., "make debug=0". debug=1 is enabled in the platform files
# that are released with ACE.
#
# Please note that the effects of a flag may be platform specific.
# Also, combinations of certain flags may or may not be allowed on
# specific platforms, e.g., debug=1 opt=1 is supported by g++ but
# not all other C++ compilers.
#
# Flag Description
# ---- -----------
# ace_for_tao Build "ace_for_tao" subset. Primarily useful for
# reducing the size of the ACE shared library when
# using TAO.
# debug Enable debugging; see DCFLAGS and DCCFLAGS.
# dmalloc Indicate build with dmalloc; adds PLATFORM_DMALLOC_CPPFLAGS
# to CPPFLAGS, PLATFORM_DMALLOC_LDFLAGS to LDFLAGS, and
# PLATFORM_DMALLOC_LIBS to LIBS. For more information on
# dmalloc, see http://dmalloc.com.
# fast Enable -fast option, e.g., with Sun C++.
# inline Enable ACE inlining. Some platforms enable inlining by
# default, others do not. If platform_macros.GNU does not
# set this, inline is enabled.
# minimum_corba Enable minimumCORBA support. (Documented here, but
# implemented in TAO/rules.TAO.GNU.)
# mtrace Indicate build with mtrace; adds PLATFORM_MTRACE_CPPFLAGS
# to CPPFLAGS. Mtrace is an extension in GNU libc.
# optimize Enable optimization; see OCFLAGS and OCCFLAGS.
# probe Enable ACE_Timeprobes.
# profile Enable profiling; see PCFLAGS and PCCFLAGS.
# purify Purify all executables. purify must be in user's PATH!
# quantify Quantify all executables. quantify must be in user's PATH!
# repo Use GNU template repository (g++ with repo patches and
# egcs only).
# shared_libs Build shared libraries. Ignored if static_libs_only is set.
# static_libs Build static libraries. Ignored if shared_libs_only is set.
# shared_libs_only Only build shared libraries. Ignored if no SHLIBs are
# specified by the Makefile, as in performance-tests/Misc.
# static_libs_only Only build static libraries.
# static_link Link only static libs to executables, e.g., uses "-static"
# flag with the GNU ld linker.
# symlinks Make symbolic links (on appropriate platforms) in the lib
# directory be either "absolute" or "relative".
# templates Type of template instantiation to perform. Can be one of
# automatic, used. Defaults to automatic.
# threads Build with thread support.
# trio Indicate build with trio; adds PLATFORM_TRIO_CPPFLAGS
# to CPPFLAGS, PLATFORM_TRIO_LDFLAGS to LDFLAGS, and
# PLATFORM_TRIO_LIBS to LIBS. For more information on
# trio, see http://sourceforge.net/projects/ctrio/
# xt Build with Xt (X11 Toolkit) support.
# fl Build with FlTk (Fast Light Toolkit) support.
# fox Build with Fox Toolkit support.
# tk Build with Tk (Tcl/Tk) support.
# qt Build with Qt (Trolltech Qt) support.
# ssl Build with OpenSSL support.
# rapi Build with RAPI
# stlport Build with STLPort support
# rwho Build with rwho, this results in building apps/drwho
# pipes Build with pipe support, resulting in adding -pipe to the
# compiler options.
# sctp Build support for TAO SCIOP and for ACE SCTP
# wrapper-facades. The sctp macro should be set to a string
# value representing a particular SCTP implementation.
# Recognized values include: openss7 lksctp
#
# versioned_so Add versioning to libraries. Defaults to 1 (true). If 0,
# no version number is appended to shared library names.
# If versioned_so is 1 (enabled), the SOVERSION make
# variable can also be set to specify the version info
# to append to the name - it should have a leading '.' -
# else it defaults to .ACE_MAJOR.ACE_MINOR.ACE_BETA.
# wfmo Build with wfmo support (Win32 only)
# winregistry Build with windows registry support (Win32 only)
# winnt Build WinNT-specific projects (Win32 only)
# link_groups This indicates that statically linked executable library
# names will be surrounded by -Wl,--start-group and
# -Wl,--end-group for the GNU compiler only.
#
# Usually, users do not need to be concerned with make targets.
# Just enter "make" on the command line to build. A few notable
# targets are listed below.
#
# Target Description
# ------ -----------
# show_statics Lists all static objects in object files built for
# current directory. Only supported for g++.
# show_uninit Lists all uninitialized in object files built for
# current directory. Only supported for g++.
#
# The following describes the ACE wrapper macros:
#
# Variable Description
# -------- -----------
# ARFLAGS Flags for the archive utility (ar)
# CC C compiler command
# CXX C++ compiler command
# RC Resource compiler command
# COMPILE.c Flags for compiling with C
# COMPILE.cc Flags for compiling with C++
# COMPILE.rc Flags for compiling with the resource compiler
# CPPFLAGS C pre-processor flags
# CFLAGS C compilation flags
# CCFLAGS C++ compilation flags
# DCFLAGS C compilation flags for debugging
# DCCFLAGS C++ compilation flags for debugging
# DEFFLAGS C++ preprocessor flag for defining symbols
# DLD Name of dynamic linker
# LD Name of linker
# IDL Name of the CORBA IDL compiler
# TEMPLATES_FLAG
# Flag to pass to the compiler to control the instantiation of
# templates.
# INSBIN Binary (executable) installation directory
# INSINC Include file installation directory
# INSMAN Manpage installation directory
# INSLIB Library installation directory
# LDFLAGS ld linker flags
# LINK.c Flags for linking with C
# LINK.cc Flags for linking with C++
# MAKEFLAGS Flags that are passed into the compilation from the commandline
# OCFLAGS Optimizing C compilation flags
# OCCFLAGS Optimizing C++ compilation flags
# PCFLAGS C compilation flags for profiling
# PCCFLAGS C++ compilation flags for profiling
# PLATFORM_XT_CPPFLAGS
# Platform CPP options for X11 (some require -I...)
# PLATFORM_XT_LDFLAGS
# Platform LD options for X11 (some require -L...)
# PLATFORM_XT_LIBS
# Platform libraries require with X11
# PLATFORM_SSL_CPPFLAGS
# Platform CPP options for OpenSSL (may need -I...)
# PLATFORM_SSL_LDFLAGS
# Platform LD options for OpenSSL (may need -L...)
# PLATFORM_SSL_LIBS
# Platform libraries required with OpenSSL
# PLATFORM_RAPI_CPPFLAGS
# Platform CPP options for RAPI
# PLATFORM_RAPI_LDFLAGS
# Platform LD options for RAPI
# PLATFORM_RAPI_LIBS
# Platform libraries required with RAPI
# PLATFORM_SCTP_CPPFLAGS
# Platform CPP options required for SCTP
# PLATFORM_SCTP_LDFLAGS
# Platform LD options required for SCTP
# PLATFORM_SCTP_LIBS
# Platform libraries required for SCTP
# PRELINK Executable to precede linking, such as quantify
# PURELINK If set, contains purify executable as well as all options
# PURE_CACHE_BASE_DIR
# The base directory in which Pure products will produce
# instrumented libraries. If you don't want that to be below
# /tmp, set this variable in your environment or on the make
# command line.
# PURE_CACHE_DIR
# The full name of the directory in which Pure produces will
# produce instrumented libraries.
# PWD Command to get the current working directory
# PTDIRS Pathnames of directories containing template code
# RM Name of program to use to remove files
# ACE_MKDIR Name of program to (recursively) create directories
# SOFLAGS Flags used to build a shared library
# SOLINK.cc Link line necessary to build a share library
# VAR Variant identifier suffix
# VDIR Directory for object code
# VSHDIR Directory for shared object code
# ACE_ROOT Pathname for the root of the build tree
#
#----------------------------------------------------------------------------
# Platform-dependent macro definitions
# (link to the appropriate platform-specific config file).
#----------------------------------------------------------------------------
#### Default to building shared libraries only. Set it here to give the
#### platform a chance to override.
ifndef shared_libs
shared_libs = 1
endif # shared_libs
ifndef static_libs
static_libs = 0
endif # static_libs
#### Set up the build ACE version in case the platform_macros.GNU wants it.
ifeq (cmd,$(findstring cmd,$(SHELL)))
ACE_MAJOR_VERSION := $(shell awk "/ACE_MAJOR_VERSION/ { print $$3}" ${ACE_ROOT}/ace/Version.h)
ACE_MINOR_VERSION := $(shell awk "/ACE_MINOR_VERSION/ { print $$3}" ${ACE_ROOT}/ace/Version.h)
ACE_BETA_VERSION := $(shell awk "/ACE_BETA_VERSION/ { print $$3}" ${ACE_ROOT}/ace/Version.h)
else
ACE_MAJOR_VERSION := $(shell awk '/ACE_MAJOR_VERSION/ { print $$3}' ${ACE_ROOT}/ace/Version.h)
ACE_MINOR_VERSION := $(shell awk '/ACE_MINOR_VERSION/ { print $$3}' ${ACE_ROOT}/ace/Version.h)
ACE_BETA_VERSION := $(shell awk '/ACE_BETA_VERSION/ { print $$3}' ${ACE_ROOT}/ace/Version.h)
endif
ACE_VERSION = $(ACE_MAJOR_VERSION).$(ACE_MINOR_VERSION).$(ACE_BETA_VERSION)
# Define some variables to silence warnings
SHR_FILTER ?=
# Include this before the below variables to make it possible for
# platform_macros.GNU to set default values for them.
ifneq ($(alternate_platform_macros),)
include $(alternate_platform_macros)
else
include $(ACE_ROOT)/include/makeinclude/platform_macros.GNU
endif # alternate_platform_macros
# Define some variables to silence warnings
GHS ?=
CHORUS ?=
AIX_TEMPLATE_HACK ?=
# $(ACE_PLATFORM_CONFIG) is used in dependency rules and corresponds to the
# platform dependent config-*.h file included in config.h, and can be set
# in your platform_*.GNU file or platform_macros.GNU.
ACE_PLATFORM_CONFIG ?= config.h
ifeq ($(threads),0)
ifneq ($(findstring -DACE_MT_SAFE=0,$(CPPFLAGS)),-DACE_MT_SAFE=0)
CPPFLAGS += -DACE_MT_SAFE=0
endif # -DACE_MT_SAFE=0
endif # threads
####
#### Defaults are fast off (0), threads on (1)
#### and versioned_so on (1).
####
fast ?= 0
versioned_so ?= 1
use_dep_libs ?= 1
threads ?= 1
symlinks ?= relative
link_groups ?= 0
mcpp ?= 0
SOVERSION ?=
SONAME ?=
ifeq ($(PWD),)
PWD=$(shell pwd)
endif
ifeq ($(ACE_MKDIR),)
MKDIR = mkdir -p
else
MKDIR = $(ACE_MKDIR)
endif
#----------------------------------------------------------------------------
# Platform-independent macro definitions
#----------------------------------------------------------------------------
INCLDIRS ?=
DEFFLAGS ?=
ifeq ($(debug),0)
DEFFLAGS += -DNDEBUG
endif
ifeq (,$(findstring -I$(ACE_ROOT),$(INCLDIRS)))
INCLDIRS += -I$(ACE_ROOT)
endif
CPPFLAGS += $(DEFFLAGS) $(INCLDIRS)
# Define default extensions for IDL-generated files
IDL_CLIENT_HDR_EXT ?= C.h
IDL_CLIENT_INL_EXT ?= C.inl
IDL_CLIENT_SRC_EXT ?= C.cpp
IDL_SERVER_HDR_EXT ?= S.h
IDL_SERVER_INL_EXT ?= S.inl
IDL_SERVER_SRC_EXT ?= S.cpp
IDL_SERVER_THDR_EXT ?= S_T.h
IDL_SERVER_TINL_EXT ?= S_T.inl
IDL_SERVER_TSRC_EXT ?= S_T.cpp
ifeq (default,$(origin LEX))
LEX = flex
endif
EXEEXT ?=
ifndef COMSPEC
ifdef ComSpec
#### ACE+TAO use COMSPEC, but ComSpec is defined.
COMSPEC = $(ComSpec)
endif # ComSpec
endif # ! COMPSPEC
ifdef COMSPEC
#### Assume we're on a WIN32 host.
ACE_NUL = nul
else # ! WIN32
ACE_NUL = /dev/null
endif # ! WIN32
#### Redirect stderr to nul device, and mask exit status.
ACE_NUL_STDERR = 2>$(ACE_NUL) || true
PCFLAGS += #### set in platform_macros.GNU file, e.g., -p
PCCFLAGS += #### set in platform_macros.GNU file, e.g., -p
VAR ?=
# User-written makefiles that are not MPC-generated often use LIB to specify
# what to build. This is in contrast to MPC-generated files that use
# LIB_CHECKED for this purpose. LIB causes conflicts on Windows with gmake
# and Visual Studio which uses the LIB environment variable as a search path
# for libraries to link. So, to allow non-MPC makefiles to keep working, set
# LIB_CHECKED based on LIB if the former is not set and the latter is.
ifndef COMSPEC
LIB_CHECKED ?= $(LIB)
endif # ! COMPSPEC (and, therefore, assumed !Windows
# default to not using an architecture-specific output directory
ARCH ?=
ifdef ARCH
INSLIB := $(INSLIB:%=%/$(ARCH))
# ADD_ARCH is a function used with $(call) to "ARCHIFY" a variable which
# contains the name and path of an executable or library. If the file is not
# located in the ARCH subdir, the non-ARCH location is used. First we need
# some helper functions to deal with quoting/protecting spaces.
# ADD_ARCH can return a path containing a space, the caller must quote it or
# escape the space, depending on the context.
PROT_SPC = $(subst $(SPACE),?,$(1))
UNPROT_SPC = $(subst ?,$(SPACE),$(1))
FILE_EXISTS = $(wildcard $(subst $(SPACE),\$(SPACE),$(1)))
ADD_ARCH_HLP = $(call UNPROT_SPC,$(dir $(1))$(ARCH)/$(notdir $(1)))
ARCH_FILE = $(call FILE_EXISTS,$(call ADD_ARCH_HLP,$(call PROT_SPC,$(1))))
ADD_ARCH = $(if $(call ARCH_FILE,$(1)),$(call ARCH_FILE,$(1)),$(call FILE_EXISTS,$(1)))
ARCH_BIN = $(if $(BIN),$(ARCH)/$(BIN))
ARCH_BIN2 = $(if $(BIN2),$(ARCH)/$(BIN2))
ARCH_LIB = $(if $(LIB_CHECKED),$(ARCH)/$(LIB_CHECKED))
ARCH_LIB2 = $(if $(LIB2),$(ARCH)/$(LIB2))
ARCH_SHLIB = $(if $(SHLIB),$(ARCH)/$(SHLIB))
ARCH_SHLIB2 = $(if $(SHLIB2),$(ARCH)/$(SHLIB2))
ARCH_SHLIBA = $(if $(SHLIBA),$(ARCH)/$(SHLIBA))
ARCH_SHLIBA2 = $(if $(SHLIBA2),$(ARCH)/$(SHLIBA2))
else #ARCH is not defined
ADD_ARCH = $(1)
ARCH_BIN = $(BIN)
ARCH_BIN2 = $(BIN2)
ARCH_LIB = $(LIB_CHECKED)
ARCH_LIB2 = $(LIB2)
ARCH_SHLIB = $(SHLIB)
ARCH_SHLIB2 = $(SHLIB2)
ARCH_SHLIBA = $(SHLIBA)
ARCH_SHLIBA2 = $(SHLIBA2)
endif #ARCH
# for use with the result of ADD_ARCH
ADD_QUOTE = $(if $(findstring $(SPACE),$(1)),"$(1)",$(1))
INSINC ?= $(ACE_ROOT)/ace
INSLIB ?= $(ACE_ROOT)/lib
INSMAN ?= $(ACE_ROOT)/man
ifeq (,$(findstring -L$(INSLIB),$(LDFLAGS)))
LDFLAGS += -L$(INSLIB)
endif
#ifdef ARCH
# LDFLAGS_ARCH := $(LDFLAGS:-L%=-L%/$(ARCH))
# LDFLAGS += $(LDFLAGS_ARCH)
#endif
# Set the cleanup targets. These targets are used by realclean even if
# the component isn't being built, i.e., the decision to build it was based
# on components built in another makefile and written a file (that might no
# longer be available) and accessed by $(ACE_ROOT)/bin/ace_components.
#
# If a component should always be built, just use the normal BIN, LIB, or
# SHLIB variables. If it's dependent on a component, use the BIN2 or
# BIN_UNCHECKED variety, then assign that to BIN if the required component
# is available.
BIN_UNCHECKED ?=
CLEANUP_BIN ?=
ifdef BIN
CLEANUP_BIN = $(ARCH_BIN)
endif # !BIN
ifdef BIN2
CLEANUP_BIN += $(ARCH_BIN2)
endif # !BIN2
ifneq ($(BIN_UNCHECKED),)
CLEANUP_BIN += $(BIN_UNCHECKED)
endif # !BIN_UNCHECKED
LIB_UNCHECKED ?=
CLEANUP_LIB ?=
ifdef LIB_CHECKED
CLEANUP_LIB = $(ARCH_LIB)
endif # !LIB_CHECKED
ifdef LIB2
CLEANUP_LIB += $(ARCH_LIB2)
endif # !LIB2
ifneq ($(LIB_UNCHECKED),)
CLEANUP_LIB = $(LIB_UNCHECKED)
endif # !LIB_UNCHECKED
SHLIB_UNCHECKED ?=
CLEANUP_SHLIB ?=
ifdef SHLIB
CLEANUP_SHLIB = $(ARCH_SHLIB)
endif # !SHLIB
ifdef SHLIB2
CLEANUP_SHLIB += $(ARCH_SHLIB2)
endif # SHLIB2
ifneq ($(SHLIB_UNCHECKED),)
CLEANUP_SHLIB += $(SHLIB_UNCHECKED)
endif # ! SHLIB_UNCHECKED
SHLIBA_UNCHECKED ?=
CLEANUP_SHLIBA ?=
ifdef SHLIBA
CLEANUP_SHLIBA = $(ARCH_SHLIBA)
endif # SHLIBA
ifdef SHLIBA2
CLEANUP_SHLIBA = $(ARCH_SHLIBA2)
endif # SHLIB2A
ifneq ($(SHLIBA_UNCHECKED),)
CLEANUP_SHLIBA = $(SHLIBA_UNCHECKED)
endif # SHLIBA_UNCHECKED
# Let users override the default VDIR directories
ifdef ARCH
VDIR ?= $(ARCH)/.obj/
VSHDIR ?= $(ARCH)/.shobj/
else
VDIR ?= .obj/
VSHDIR ?= .shobj/
endif
# NOTE: VLDLIBS is defined below, in case it is overridden for static-
# or shared-only builds.
ifeq (default,$(origin YACC))
YACC = bison
endif
#----------------------------------------------------------------------------
# Platform-dependent macros that require platform_macros.GNU.
#----------------------------------------------------------------------------
OBJEXT ?= o
SOEXT ?= so
LIBEXT ?= a
LIB_PREFIX ?= lib
CC_OUTPUT_FLAG ?= -o
SO_OUTPUT_FLAG ?= -o
LINK_OUTPUT_FLAG ?= -o
#----------------------------------------------------------------------------
# make flags
#----------------------------------------------------------------------------
ifeq ($(optimize),0)
override optimize =
endif # optimize
ifneq ($(optimize),)
CFLAGS += $(OCFLAGS)
CCFLAGS += $(OCCFLAGS)
endif # optimize
ifeq ($(debug),0)
override debug =
endif # debug
ifeq ($(debug),)
CPPFLAGS += -DACE_NDEBUG
# Disable the RCSID for release/non-debug builds.
ifeq (,$(findstring ACE_USE_RCSID,$(CPPFLAGS)))
CPPFLAGS += -DACE_USE_RCSID=0
endif
else
CFLAGS += $(DCFLAGS)
CCFLAGS += $(DCCFLAGS)
endif # debug
dmalloc ?=
ifeq ($(dmalloc),0)
override dmalloc =
endif # dmalloc
ifdef dmalloc
CPPFLAGS += $(PLATFORM_DMALLOC_CPPFLAGS)
LDFLAGS += $(PLATFORM_DMALLOC_LDFLAGS)
LIBS += $(PLATFORM_DMALLOC_LIBS)
endif # dmalloc
mtrace ?=
ifeq ($(mtrace),0)
override mtrace =
endif # mtrace
ifdef mtrace
CPPFLAGS += $(PLATFORM_MTRACE_CPPFLAGS)
endif # mtrace
ifeq ($(threads),0)
override threads =
endif # threads
trio ?=
ifeq ($(trio),0)
override trio =
endif # trio
ifdef trio
CPPFLAGS += -DACE_HAS_TRIO $(PLATFORM_TRIO_CPPFLAGS)
LDFLAGS += $(PLATFORM_TRIO_LDFLAGS)
LIBS += -ltrio $(PLATFORM_TRIO_LIBS)
ACE_MAKE_OPTIONS += trio
endif # trio
# ace_for_tao subsetting is disabled by default.
ace_for_tao ?=
ifeq ($(ace_for_tao),0)
override ace_for_tao =
endif # ace_for_tao
ifneq ($(ace_for_tao),)
ACE_MAKE_OPTIONS += ace_for_tao
endif # ace_for_tao
ifeq ($(xt),0)
override xt =
endif # xt
ifneq ($(xt),)
override x11=1
override xt=1
override ace_xtreactor=1
override tao_xtresource=1
ACE_MAKE_OPTIONS += xt
endif # xt
fl ?=
ifeq ($(fl),0)
override fl =
endif # fl
ifneq ($(fl),)
override x11=1
override gl=1
override ace_flreactor=1
override tao_flresource=1
ACE_MAKE_OPTIONS += fl
endif # fl
tk ?=
ifeq ($(tk),0)
override tk =
endif # tk
ifneq ($(tk),)
override x11=1
override tk=1
override ace_tkreactor=1
override tao_tkresource=1
ACE_MAKE_OPTIONS += tk
endif # tk
qt ?=
ifeq ($(qt),0)
override qt =
endif # qt
ifneq ($(qt),)
override qt=1
override ace_qtreactor=1
override tao_qtresource=1
ACE_MAKE_OPTIONS += qt
endif # qt
gtk_reactor ?=
ifeq ($(gtk_reactor),0)
override gtk_reactor =
endif # gtk_reactor
ifneq ($(gtk_reactor),)
override ace_with_gtk=1
CPPFLAGS += -DACE_HAS_GTK $(PLATFORM_GTK_CPPFLAGS)
LIBS += $(PLATFORM_GTK_LIBS)
LDFLAGS += $(PLATFORM_GTK_LDFLAGS)
ACE_MAKE_OPTIONS += gtk_reactor
endif # gtk_reactor
fox ?=
ifeq ($(fox),0)
override fox =
endif # fox
ifneq ($(fox),)
override x11=1
override gl=1
override ace_foxreactor=1
override tao_foxresource=1
ACE_MAKE_OPTIONS += fox
endif #fox
QTDIR ?=
ifneq ($(QTDIR),)
MOC = ${QTDIR}/bin/moc
else
MOC = moc
endif
rapi ?=
ifeq ($(rapi),0)
override rapi =
endif #rapi
ifneq ($(rapi),)
CPPFLAGS += -DACE_HAS_RAPI $(PLATFORM_RAPI_CPPFLAGS)
LIBS += $(PLATFORM_RAPI_LIBS)
LDFLAGS += $(PLATFORM_RAPI_LDFLAGS)
ACE_MAKE_OPTIONS += rapi
endif # rapi
sctp ?=
ifeq ($(sctp),0)
override sctp =
endif #rapi
# if any sctp implementation is present then add
ifneq ($(sctp),)
CPPFLAGS += -DACE_HAS_SCTP $(PLATFORM_SCTP_CPPFLAGS)
LDFLAGS += $(PLATFORM_SCTP_LDFLAGS)
LIBS += $(PLATFORM_SCTP_LIBS)
ACE_MAKE_OPTIONS += sctp
endif
gl ?=
ifeq ($(gl),0)
override gl =
endif # gl
ifneq ($(gl),)
ACE_MAKE_OPTIONS += gl
endif # gl
ssl ?= 0
ifeq ($(ssl),0)
override ssl =
else
ifneq ($(SSL_ROOT), /usr)
ifneq ($(SSL_ROOT),)
PLATFORM_SSL_CPPFLAGS += -I$(SSL_ROOT)/include
PLATFORM_SSL_LDFLAGS += -L$(SSL_ROOT)/lib
endif
endif
PLATFORM_SSL_LIBS ?= -lssl -lcrypto
ACE_MAKE_OPTIONS += ssl
endif
## These are related to MPC. When 'requires' is used in a project
## it controls whether or not the project is generated. There is also
## a second level of control in platform macros and thus requires
## some features to be set here as well.
ec_typed_events ?= 1
zlib ?= 1
valgrind ?=
ifeq ($(valgrind),1)
CPPFLAGS += -DACE_HAS_VALGRIND
endif
profile ?=
ifeq ($(profile),0)
override profile =
endif # profile
ifneq ($(profile),)
CFLAGS += $(PCFLAGS)
CCFLAGS += $(PCCFLAGS)
endif # profile
inline ?= 1
ifeq ($(inline),0)
CPPFLAGS += -DACE_NO_INLINE
else
ifeq ($(inline),1)
CPPFLAGS += -D__ACE_INLINE__
endif # inline eq 1
endif # inline eq 0
ifeq ($(shared_libs),0)
override shared_libs =
endif # shared_libs
ifeq ($(static_libs),0)
override static_libs =
endif # static_libs
shared_libs_only ?=
ifeq ($(shared_libs_only),0)
override shared_libs_only =
endif # shared_libs_only
static_libs_only ?=
ifeq ($(static_libs_only),0)
override static_libs_only =
endif # static_libs_only
ifdef shared_libs_only
ifdef static_libs_only
$(error Both static_libs_only and shared_libs_only defined.)
else
override shared_libs = 1
override static_libs =
endif
endif # shared_libs_only
ifdef static_libs_only
override shared_libs =
override static_libs = 1
endif # static_libs_only
ifdef shared_libs
ifndef static_libs
override shared_libs_only = 1
endif
ACE_MAKE_OPTIONS += shared_libs
endif
ifdef static_libs
ifndef shared_libs
override static_libs_only = 1
endif
ACE_MAKE_OPTIONS += static_libs
endif
ACE_SHLIBS ?=
ifdef shared_libs
ifdef SHLIBA
LDLIBS := $(LDLIBS:-l%=-l%shr)
ACE_SHLIBS := $(ACE_SHLIBS:-l%=-l%shr)
endif # SHLIBA
else # ! shared_libs
ifdef static_libs
#### Don't build shared libs.
PIC =
SHLIB =
SOEXT = o
VSHDIR = $(VDIR)
VLDLIBS = $(LDLIBS:%.so=%.o)
endif # static_libs
endif # shared_libs
VLDLIBS = $(LDLIBS) $(LIBS)
probe ?=
ifeq ($(probe),0)
override probe =
endif # probe
ifeq ($(probe),1)
CPPFLAGS += -DACE_COMPILE_TIMEPROBES
endif # probe
purify ?=
ifeq ($(purify),0)
override purify =
endif # purify
ifdef purify
PURE_CACHE_BASE_DIR = /tmp/purifycache
PURE_CACHE_DIR = $(PURE_CACHE_BASE_DIR)-$(LOGNAME)-$(notdir $(CXX) )
#### Pick up Purify directory from the users PATH.
ACE_PURIFY_DIR := \
$(shell type purify | sed -e 's/.* is //' -e 's%/purify$$%%')
#### You might want to adjust the Purify options below.
#### -best-effort is undocumented but supported, and seems
#### to help avoid occasional link failure.
PURELINK += purify -best-effort -cache-dir=$(PURE_CACHE_DIR) \
-chain-length=20 -fds-inuse-at-exit=no \
-inuse-at-exit -max_threads=100 $(PLATFORM_PURIFY_OPTIONS)
CPPFLAGS += -DACE_HAS_PURIFY -I$(ACE_PURIFY_DIR)
endif # purify
quantify ?=
ifeq ($(quantify),0)
override quantify =
endif # quantify
ifdef quantify
#### Pick up Quantify directory from the users PATH.
ACE_QUANTIFY_DIR := \
$(shell type quantify | sed -e 's/.* is //' -e 's%/quantify$$%%')
#### You might want to adjust the Quantify options below.
#### -best-effort is undocumented but supported, and seems
#### to help avoid occasional link failure.
PURELINK += quantify -best-effort -cache-dir=$(PURE_CACHE_DIR) \
-max_threads=100 $(PLATFORM_QUANTIFY_OPTIONS)
CPPFLAGS += -DACE_HAS_QUANTIFY -I$(ACE_QUANTIFY_DIR)
ifeq ($(shell uname -p),sparc)
PURELINK += -record-register-window-traps
endif # sparc
endif # quantify
repo ?=
ifeq ($(repo),0)
override repo =
endif # repo
ifdef repo
#### Remove -fno-implicit-templates from, and add -frepo to, CCFLAGS.
CCFLAGS := $(strip $(subst -fno-implicit-templates,,$(CCFLAGS)))
CCFLAGS += -frepo
CPPFLAGS += -DACE_HAS_GNU_REPO
# ace_lib_prelink := 1
endif # repo
# If pipes is not set, we default to 0
pipes ?= 0
# If pipes is set to 1 then add the compiler flag -pipe. This uses pipe instead
# of intermediate files. This can be disabled by setting pipes to 0 in the
# platform_macros.GNU file.
ifeq ($(pipes),1)
CFLAGS += -pipe
CCFLAGS += -pipe
endif # pipes
# RMCast is turned on by default
rmcast ?= 1
ifeq ($(rmcast),1)
ACE_MAKE_OPTIONS += rmcast
endif
# If not explicitly is set that we don't have rwho, assume we have it.
rwho ?= 1
# If not explicitly is set that we don't have stlport, assume we
# don't have it.
stlport ?= 0
ifeq ($(stlport),1)
CPPFLAGS += -DACE_HAS_STLPORT $(PLATFORM_STLPORT_CPPFLAGS)
CCFLAGS += $(PLATFORM_STLPORT_CCFLAGS)
LDFLAGS += $(PLATFORM_STLPORT_LDFLAGS)
LIBS += $(PLATFORM_STLPORT_LIBS)
endif
# If not explicitly is set that we have wfmo, assume we don't have it.
wfmo ?= 0
# If not explicitly is set that we have winregistry, assume we don't have it.
winregistry ?= 0
# If not explicitly is set that we have winnt, assume we don't have it.
winnt ?= 0
# In MPC, these are now features that are enabled by default.
ace_other ?= 1
ace_codecs ?= 1
ace_token ?= 1
ace_svcconf ?= 1
ace_uuid ?= 1
ace_filecache ?= 1
acexml ?= 1
# Icecream distributed compilation support
ifeq ($(icecream),1)
# check availability of icecc
ifneq ($(ICECC_ROOT),)
ICECC_PROG := $(ICECC_ROOT)/icecc
else
ICECC_PROG := $(shell which icecc 2>/dev/null)
endif
ICECC_VERTEST := $(shell test -x "$(ICECC_PROG)" && $(ICECC_PROG) --version)
ifneq (ICECC,$(findstring ICECC,$(ICECC_VERTEST)))
# not good, try alternative install location
ICECC_PROG := /opt/icecream/bin/icecc
ICECC_VERTEST := $(shell test -x "$(ICECC_PROG)" && $(ICECC_PROG) --version)
ifneq (ICECC,$(findstring ICECC,$(ICECC_VERTEST)))
override icecream := 0
$(error Cannot locate valid Icecream compiler.)
endif
endif
ifeq ($(icecream),1)
# force LD and DLD to be 'normal' tools
override LD := $(LD)
override DLD := $(DLD)
# define tools that icecc should call for local jobs
ICECC_CC := $(CC)
ICECC_CXX := $(CXX)
export ICECC_CC ICECC_CXX
# let all compilation go through icecc
CC := $(ICECC_PROG)
CXX := $(ICECC_PROG)
endif
endif
#----------------------------------------------------------------------------
# Conditional macro definitions
#----------------------------------------------------------------------------
PTDIRS ?=
PRELINK ?=
POSTLINK ?=
PURELINK ?=
TEMPLATES_FLAG ?=
MVCMD ?=
COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c
COMPILE.cc = $(CXX) $(CCFLAGS) $(CPPFLAGS) $(PTDIRS) -c
RC ?=
COMPILE.rc = $(RC) $(RCFLAGS)
COMPILE-NO_DASH_G.cc = `echo $(COMPILE.cc) | sed 's/-g //'`
# 960905 Marius Kjeldahl <marius@funcom.com>
# Added the line below to be used for compiling executable shared objects
COMPILEESO.cc = $(CXX) $(CCFLAGS) $(CPPFLAGS) $(PTDIRS)
ifeq ($(LINK.c),override)
LINK.c = $(LINK.c.override)
else
LINK.c = $(PURELINK) $(PRELINK) $(LD) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) \
$(LDLIBS) $(LIBS)
endif # LINK.c.override
ifeq ($(LINK.cc),override)
LINK.cc = $(LINK.cc.override)
else
LINK.cc = $(PURELINK) $(PRELINK) $(LD) $(CCFLAGS) $(CPPFLAGS) $(PTDIRS)
endif # LINK.cc.override
ifeq ($(SOLINK.cc),override)
SOLINK.cc = $(SOLINK.cc.override)
else
SOLINK.cc = $(PRELINK) $(DLD) $(SOFLAGS)
endif # SOLINK.cc.override