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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
|
# **********************************************************************
#
# Copyright (c) 2003-2017 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.
#
# **********************************************************************
#
# Select an installation base directory. The directory will be created
# if it does not exist.
#
prefix ?= /opt/Ice-$(version)
#
# The "root directory" for runpath embedded in executables. Can be set
# to change the runpath added to Ice executables.
#
# If not set, a runpath relative to the path of the executable is
# embedded (using @loader_path on macOS and $ORIGIN on Linux).
#
#embedded_runpath_prefix ?= /opt/Ice-$(mmversion)
#
# Define embedded_runpath as no if you don't want any runpath added to
# the executables. If not set, defaults to to "yes"
#
embedded_runpath ?= yes
#
# Define new_dtags as yes if you want the linker to enable the new style
# dtags, this will cause the linker to add a runpath entry instead of
# a rpath entry. This only aplly to gcc builds on Linux
#
new_dtags ?= no
#
# Define OPTIMIZE as no if you want to build with debug iformation and
# without optimizations. Otherwise Ice is build with optimizations and
# without debug information.
#
OPTIMIZE ?= yes
#
# Default Mutex protocol: one of PrioNone or PrioInherit.
#
#DEFAULT_MUTEX_PROTOCOL ?= PrioNone
#
# Define PLATFORMS to the list of platforms to build. This defaults
# to the first supported platform for this system.
#
# Run `make print V=supported-platforms' to see the list of supported
# platforms on this system.
#
PLATFORMS ?= $(firstword $(supported-platforms))
#
# Configurations to build. This defaults to the first supported
# configuration.
#
# Run `make print V=supported-configs` to see the list of supported
# configurations.
#
CONFIGS ?= $(firstword $(supported-configs))
#
# List of binary distributions to build against. Defaults to undefined,
# i.e. build all source distributions. This is useful for building
# a language mapping or tests against a binary distribution.
#
#ICE_BIN_DIST ?=
#
# Third-party libraries (Ice for C++)
#
# If a third-party library is not installed in a standard location
# where the compiler can find it, set the corresponding variable
# below to the installation directory of the library.
#
#MCPP_HOME ?= /opt/mcpp
#ICONV_HOME ?= /opt/iconv
#EXPAT_HOME ?= /opt/expat
#BZ2_HOME ?= /opt/bz2
#LMDB_HOME ?= /opt/lmdb
# ----------------------------------------------------------------------
# Don't change anything below this line!
# ----------------------------------------------------------------------
os ?= $(shell uname)
include $(top_srcdir)/config/Make.rules.$(os)
include $(top_srcdir)/config/Make.project.rules
include $(top_srcdir)/config/Make.tests.rules
ifneq ($(ICE_BIN_DIST),)
prefix := $(or $(ICE_HOME),$(if $(filter Darwin,$(os)),/usr/local,/usr))
bindir = $(install_bindir)
libdir = $(install_libdir)
slicedir = $(install_slicedir)
includedir = $(install_includedir)
else
bindir = $(call mappingdir,$(or $1,$(currentdir)),bin)
libdir = $(call mappingdir,$(or $1,$(currentdir)),lib)
slicedir = $(top_srcdir)/slice
includedir = $(call mappingdir,$(or $1,$(currentdir)),include)
endif
srcdir = $(call mappingdir,$(or $1,$(currentdir)),src)
usr_dir_install := $(or $(filter yes,$(USR_DIR_INSTALL)),$(filter /usr%,$(prefix)))
install_bindir ?= $(prefix)/bin
install_libdir ?= $(prefix)/lib
install_slicedir ?= $(prefix)$(if $(usr_dir_install),/share/ice)/slice
install_includedir ?= $(prefix)/include
install_docdir ?= $(prefix)$(if $(usr_dir_install),/share/ice)
install_mandir ?= $(prefix)$(if $(usr_dir_install),/share)/man
install_configdir ?= $(prefix)$(if $(usr_dir_install),/share/ice,/config)
version = 3.7b0
mmversion = 3.7
soversion = 37b0
#
# The compatversion is the lowest patch release with the same API.
# For example, if 3.7.2 introduces no new API compared to 3.7.1, we
# would set version to 3.7.2 and compatversion to 3.7.1.
# Used for macOS libraries.
#
compatversion = $(version)
#
# Support for 3rd party libraries
#
thirdparties := mcpp iconv expat bz2 lmdb
mcpp_home := $(MCPP_HOME)
iconv_home := $(ICONV_HOME)
expat_home := $(EXPAT_HOME)
bz2_home := $(BZ2_HOME)
lmdb_home := $(LMDB_HOME)
$(foreach l,$(thirdparties),$(eval $(call make-lib,$l)))
#
# Languages, platforms and configurations to build
#
supported-languages ?= cpp java java-compat python js ruby php
supported-configs ?= shared
|