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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
|
#----------------------------------------------------------------------------
#
# $Id$
#
#----------------------------------------------------------------------------
ifndef TAO_ROOT
TAO_ROOT = $(ACE_ROOT)/TAO
endif # ! TAO_ROOT
MAKEFILE = Makefile
#----------------------------------------------------------------------------
# Include macros and targets
#----------------------------------------------------------------------------
include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
include $(ACE_ROOT)/include/makeinclude/macros.GNU
include $(TAO_ROOT)/rules.tao.GNU
include $(TAO_ROOT)/taoconfig.mk
#----------------------------------------------------------------------------
# Define local macros
#---------------------------------------------------------------------------
ifndef TAO_ORBSVCS
#### Please see docs/configurations.html#orbsvcs for documentation of
#### TAO_ORBSVCS.
TAO_ORBSVCS = Naming \
Time \
Property \
Sched
ifeq ($(corba_messaging),1)
TAO_ORBSVCS += RTEvent \
NativeCosEvent \
CosEvent \
RTOLDEvent \
RTSchedEvent \
EventLog \
RTEventLog \
NotifyLog
endif #corba_messaging
TAO_ORBSVCS += Concurrency \
Trader \
AV \
Log
ifeq ($(minimum_corba),0)
ifneq (Compilers 4.2,$(findstring Compilers 4.2,$(CC_VERSION)))
ifeq ($(LYNXTARGET),)
TAO_ORBSVCS += IFRService
endif # LYNXTARGET
endif # findstring Compilers 4.2
endif # minimum_corba
ifeq ($(minimum_corba),0)
# Trader uses DynAny which is disabled when compiling with minimum
# CORBA support. LifeCycle, Log, AV and Notify depend on Trader
# so don't build them either, with minimum CORBA.
TAO_ORBSVCS += LifeCycle
ifeq ($(corba_messaging),1)
TAO_ORBSVCS += FaultTolerance
TAO_ORBSVCS += FTORB
TAO_ORBSVCS += RTCORBAEvent
endif #corba_messaging
# The PortableGroup library requires several methods in the POA,
# which are disabled by Minimum CORBA. Further it also needs AMI
# support
ifeq ($(ami),1)
TAO_ORBSVCS += PortableGroup
ifeq ($(interceptors),1)
# The Load Balancer requires AMI and Interceptor support.
TAO_ORBSVCS += CosLoadBalancing
endif #interceptors
endif #ami
TAO_ORBSVCS += ImplRepo
endif # minimum_corba
ifeq ($(ssl),1)
ifeq ($(corba_messaging),1)
ifeq ($(interceptors),1)
TAO_ORBSVCS += Security SSLIOP
endif # interceptors
endif #corba_messaging
endif # ssl
TAO_ORBSVCS += Notify
ifeq ($(rt_corba),1)
TAO_ORBSVCS += RT_Notify
endif #rt_corba
ifeq ($(metrics),1)
TAO_ORBSVCS += Metrics
endif # metrics
endif # TAO_ORBSVCS
# The order in this list is important as some libraries depend on
# others, please keep that in mind when adding or changing libraries.
MKLIST = Makefile.Svc_Utils
ifneq (,$(findstring Naming,$(TAO_ORBSVCS)))
MKLIST += Makefile.CosNaming
endif
ifneq (,$(findstring Time, $(TAO_ORBSVCS)))
MKLIST += Makefile.CosTime
endif
ifneq (,$(findstring CosLoadBalancing, $(TAO_ORBSVCS)))
MKLIST += \
Makefile.CosNaming \
Makefile.PortableGroup \
Makefile.CosLoadBalancing
endif
ifneq (,$(findstring Concurrency, $(TAO_ORBSVCS)))
MKLIST += Makefile.CosConcurrency
endif
ifneq (,$(findstring Property, $(TAO_ORBSVCS)))
MKLIST += Makefile.CosProperty
endif
ifneq (,$(findstring AV, $(TAO_ORBSVCS)))
# AV service depends on CosNaming and CosProperty
ifeq (,$(findstring Naming,$(TAO_ORBSVCS)))
MKLIST += Makefile.CosNaming
TAO_ORBSVCS += Naming
endif
ifeq (,$(findstring Property, $(TAO_ORBSVCS)))
MKLIST += Makefile.CosProperty
TAO_ORBSVCS += Property
endif
MKLIST += Makefile.av
endif
ifneq (,$(findstring LifeCycle, $(TAO_ORBSVCS)))
MKLIST += Makefile.CosLifeCycle
endif
ifneq (,$(findstring RTEvent, $(TAO_ORBSVCS)))
ifeq (,$(findstring Makefile.RTEvent, $(MKLIST)))
MKLIST += Makefile.RTEvent
endif
endif
ifneq (,$(findstring Sched, $(TAO_ORBSVCS)))
MKLIST += Makefile.RTSched
endif
ifneq (,$(findstring Event, $(TAO_ORBSVCS)))
ifeq (,$(findstring Makefile.RTEvent, $(MKLIST)))
MKLIST += Makefile.RTEvent
endif
ifeq (,$(findstring Makefile.RTSched, $(MKLIST)))
MKLIST += Makefile.RTSched
endif
ifeq (,$(findstring Makefile.RTOLDEvent, $(MKLIST)))
MKLIST += Makefile.RTOLDEvent
endif
endif
ifneq (,$(findstring RTOLDEvent, $(TAO_ORBSVCS)))
ifeq (,$(findstring Makefile.RTOLDEvent, $(MKLIST)))
MKLIST += Makefile.RTOLDEvent
endif
endif
ifneq (,$(findstring RTSchedEvent, $(TAO_ORBSVCS)))
MKLIST += Makefile.RTSchedEvent
endif
ifneq (,$(findstring RTCORBAEvent, $(TAO_ORBSVCS)))
MKLIST += Makefile.RTCORBAEvent
endif
ifneq (,$(findstring CosEvent, $(TAO_ORBSVCS)))
MKLIST += Makefile.CosEvent
endif
ifneq (,$(findstring NativeCosEvent, $(TAO_ORBSVCS)))
ifeq (,$(findstring Makefile.CosEvent, $(MKLIST)))
MKLIST += Makefile.CosEvent
endif
endif
ifneq (,$(findstring Trader, $(TAO_ORBSVCS)))
MKLIST += Makefile.CosTrading
endif
ifneq (,$(findstring Notify, $(TAO_ORBSVCS)))
MKLIST += Makefile.ETCL Makefile.CosNotification
endif
ifneq (,$(findstring Log, $(TAO_ORBSVCS)))
MKLIST += Makefile.ETCL Makefile.Svc_Utils Makefile.DsLogAdmin
endif
ifneq (,$(findstring EventLog, $(TAO_ORBSVCS)))
# The EventLog service depends on the CosEvent service.
ifeq (,$(findstring CosEvent, $(TAO_ORBSVCS)))
MKLIST += Makefile.CosEvent Makefile.DsLogAdmin
endif
MKLIST += Makefile.DsEventLogAdmin
endif
ifneq (,$(findstring NotifyLog, $(TAO_ORBSVCS)))
# The NotifyLog service depends on the Notification service.
ifeq (,$(findstring Notify, $(TAO_ORBSVCS)))
MKLIST += \
Makefile.ETCL \
Makefile.CosNotification \
Makefile.DsLogAdmin \
Makefile.DsEventLogAdmin
endif
MKLIST += Makefile.DsNotifyLogAdmin
endif
ifneq (,$(findstring RTEventLog, $(TAO_ORBSVCS)))
# The RTEventLog service depends on the RTEvent service.
ifeq (,$(findstring RTEvent, $(TAO_ORBSVCS)))
MKLIST += Makefile.RTEvent Makefile.DsLogAdmin
endif
MKLIST += Makefile.RTEventLogAdmin
endif
ifneq (,$(findstring Security, $(TAO_ORBSVCS)))
MKLIST += Makefile.Security
endif
ifneq (,$(findstring SSLIOP, $(TAO_ORBSVCS)))
# SSLIOP depends on the Security Service library
ifeq (,$(findstring Security, $(TAO_ORBSVCS)))
MKLIST += Makefile.Security
endif
MKLIST += Makefile.SSLIOP
endif
ifneq (,$(findstring FTORB, $(TAO_ORBSVCS)))
MKLIST += Makefile.FTORB
endif
ifneq (,$(findstring FaultTolerance, $(TAO_ORBSVCS)))
MKLIST += Makefile.FTORB Makefile.FaultTolerance
endif
ifneq (,$(findstring PortableGroup, $(TAO_ORBSVCS)))
MKLIST += Makefile.CosNaming Makefile.PortableGroup
endif
ifneq (,$(findstring IFRService, $(TAO_ORBSVCS)))
MKLIST += Makefile.IFRService
endif
ifneq (,$(findstring RT_Notify, $(TAO_ORBSVCS)))
MKLIST += Makefile.ETCL Makefile.CosNotification Makefile.RT_Notification
endif
ifneq (,$(findstring Metrics, $(TAO_ORBSVCS)))
MKLIST += Makefile.Metrics
endif
#----------------------------------------------------------------------------
# Local rules
#----------------------------------------------------------------------------
## If parallel makes (-j) are invoked , we want to make sure that the order
## of the Makefiles invoked from this Makefile is preserved.
## Recursively invoked makes from this file will still be run in parallel.
.NOTPARALLEL:
all: ORBSVCS_COMPONENTS
realclean: ORBSVCS_COMPONENTS_realclean
## Makefile.Svc_Utils.mkfile is a dummy target which will cause
## $(MAKE) -f Makefile.Svc_Utils to be invoked
%.mkfile: %
@echo $(MAKE) -f $< $(MKFILE_TARGET)
@$(MAKE) -f $< $(MKFILE_TARGET)
# This rule invokes make again with the list of .mkfile targets as a
# parameter. For example, if the all target is being made, make is invoked
# as follows:
#
# make -f Makefile MKFILE_TARGET=all Makefile.Svc_Utils.mkfile \
# Makefile.CosNaming.mkfile .....
all debug profile install deinstall clean clobber depend rcs_info idl_stubs realclean:
ifneq ($(MKLIST),)
@echo $(MAKE) -f $(MAKEFILE) MKFILE_TARGET=$@ $(addsuffix .mkfile, $(MKLIST))
@$(MAKE) -f $(MAKEFILE) MKFILE_TARGET=$@ $(addsuffix .mkfile, $(MKLIST))
endif
.PHONY: ORBSVCS_COMPONENTS
ORBSVCS_COMPONENTS:
@sh $(ACE_ROOT)/bin/ace_components --orbsvcs --set ' $(TAO_ORBSVCS) '
.PHONY: ORBSVCS_COMPONENTS_realclean
ORBSVCS_COMPONENTS_realclean:
-$(RM) ORBSVCS_COMPONENTS.list
#----------------------------------------------------------------------------
# Dependencies
#----------------------------------------------------------------------------
# DO NOT DELETE THIS LINE -- g++dep uses it.
# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
|