summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-01-25 19:53:46 +0000
committerlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-01-25 19:53:46 +0000
commit78ac89a29b2fde0dd15b0996dd3989c237f69382 (patch)
tree7f5203b3c6e243896685af83d62d3546c401dd46
parentde6ebd1807bcba0a470e2357a68520cbf643de47 (diff)
downloadATCD-78ac89a29b2fde0dd15b0996dd3989c237f69382.tar.gz
added TAO_ORBSVCS support for subsetting the liborbsvcs build
-rw-r--r--TAO/orbsvcs/orbsvcs/Makefile246
-rw-r--r--TAO/rules.tao.GNU58
2 files changed, 192 insertions, 112 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Makefile b/TAO/orbsvcs/orbsvcs/Makefile
index 2f4d9055779..3b01460e403 100644
--- a/TAO/orbsvcs/orbsvcs/Makefile
+++ b/TAO/orbsvcs/orbsvcs/Makefile
@@ -24,132 +24,160 @@ endif
# On non-Windows environment, we should at least define
# the export_include IDL flag.
override TAO_IDLFLAGS += \
- -Wb,export_macro=TAO_ORBSVCS_Export \
- -Wb,export_include=orbsvcs_export.h \
- $(TAO_LACKS_EVENT_CHANNEL_ANY)
+ -Wb,export_macro=TAO_ORBSVCS_Export \
+ -Wb,export_include=orbsvcs_export.h \
+ $(TAO_LACKS_EVENT_CHANNEL_ANY)
-IDL_SRCS= \
- CosConcurrencyControl \
- CosNaming \
- CosTimeBase \
- TimeService \
- CosLifeCycle \
- CosPropertyService \
- Logger \
- RtecEventComm \
- RtecScheduler \
- RtecEventChannelAdmin \
- RtecUDPAdmin \
- LifeCycleService \
- CosTrading \
- AVStreams \
- Null_MediaCtrl \
- CosEventComm \
- CosEventChannelAdmin \
- sfp \
- ImplRepo \
- Ping
+VPATH=.:Naming:Time:Log:Concurrency:Property:Trader:Sched:Event:CosEvent:AV:
-IDL_FILES = \
- $(addsuffix S, $(IDL_SRCS)) \
- $(addsuffix C, $(IDL_SRCS))
+LIBS += -lTAO -lACE
+
+#----------------------------------------------------------------------------
+# 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
+
+####
+#### TAO_ORBSVCS support.
+####
+ifneq (,$(findstring Naming,$(TAO_ORBSVCS)))
+ IDL_SRCS += CosNaming
+ TAO_ORBSVCS_SRCS += \
+ IOR_Multicast \
+ Naming/CosNaming_i \
+ Naming/Entries \
+ Naming/Naming_Utils
+endif # Naming
+
+ifneq (,$(findstring Time,$(TAO_ORBSVCS)))
+ IDL_SRCS += CosTimeBase TimeService
+ TAO_ORBSVCS_SRCS += \
+ Time_Utilities \
+ Time/TAO_Time_Service_Server \
+ Time/TAO_Time_Service_Clerk \
+ Time/TAO_UTO \
+ Time/TAO_TIO \
+ Time/Timer_Helper
+endif # Time
+
+ifneq (,$(findstring Log,$(TAO_ORBSVCS)))
+ IDL_SRCS += Logger
+ TAO_ORBSVCS_SRCS += \
+ Log/Logger_i
+endif # Log
-FILES= $(IDL_FILES) \
- Event_Utilities \
- Scheduler_Factory \
- Runtime_Scheduler \
- Scheduler_Utilities \
- Time_Utilities \
- IOR_Multicast \
- \
- Naming/CosNaming_i \
- Naming/Entries \
- Naming/Naming_Utils \
- \
- Time/TAO_Time_Service_Server \
- Time/TAO_Time_Service_Clerk \
- Time/TAO_UTO \
- Time/TAO_TIO \
- Time/Timer_Helper \
- \
- Event/BCU \
- Event/Dispatching_Modules \
- Event/Event_Channel \
- Event/Event_Manip \
- Event/Local_ESTypes \
- Event/Memory_Pools \
- Event/RT_Task \
- Event/ReactorTask \
- Event/Timer_Module \
- Event/EC_Gateway \
- Event/EC_Gateway_UDP \
- Event/EC_UDP_Admin \
- Event/Module_Factory \
- \
- CosEvent/ConsumerAdmin_i \
- CosEvent/SupplierAdmin_i \
- CosEvent/EventChannel_i \
- CosEvent/ProxyPushConsumer_i \
- CosEvent/ProxyPushSupplier_i \
- \
- Sched/Config_Scheduler \
- Sched/DynSched \
- Sched/SchedEntry \
- Sched/Scheduler \
- Sched/Scheduler_Generic \
- \
- Concurrency/CC_Lock \
- Concurrency/CC_LockSet \
- Concurrency/CC_LockSetFactory \
- Concurrency/Concurrency_Utils \
- \
- Sched/Strategy_Scheduler \
- \
+ifneq (,$(findstring Concurrency,$(TAO_ORBSVCS)))
+ IDL_SRCS += CosConcurrencyControl
+ TAO_ORBSVCS_SRCS += \
+ Concurrency/CC_Lock \
+ Concurrency/CC_LockSet \
+ Concurrency/CC_LockSetFactory \
+ Concurrency/Concurrency_Utils
+endif # Concurrency
+
+ifneq (,$(findstring LifeCycle,$(TAO_ORBSVCS)))
+ IDL_SRCS += CosLifeCycle LifeCycleService
+ TAO_ORBSVCS_SRCS +=
+endif # LifeCycle
+
+ifneq (,$(findstring ImplRepo,$(TAO_ORBSVCS)))
+ IDL_SRCS += Ping ImplRepo
+ TAO_ORBSVCS_SRCS +=
+endif # ImplRepo
+
+ifneq (,$(findstring Property,$(TAO_ORBSVCS)))
+ IDL_SRCS += CosPropertyService
+ TAO_ORBSVCS_SRCS += \
+ Property/CosPropertyService_i
+endif # Property
+
+ifneq (,$(findstring Trader,$(TAO_ORBSVCS)))
+ IDL_SRCS += CosTrading
+ TAO_ORBSVCS_SRCS += \
Trader/Constraint_Interpreter \
Trader/Constraint_Nodes \
- Trader/Constraint_Visitors \
- Trader/Constraint_l \
- Trader/Constraint_y \
- Trader/Offer_Database \
+ Trader/Constraint_Visitors \
+ Trader/Constraint_l \
+ Trader/Constraint_y \
+ Trader/Offer_Database \
Trader/Offer_Iterators \
Trader/Offer_Iterators_T \
Trader/Service_Type_Repository \
Trader/Trader \
- Trader/Trader_Interfaces \
+ Trader/Trader_Interfaces \
Trader/Trader_T \
- Trader/Trader_Utils \
- \
- Property/CosPropertyService_i \
- \
- Log/Logger_i \
- \
- tmplinst-orbsvcs \
- AV/AVStreams_i \
- AV/Endpoint_Strategy \
- AV/Endpoint_Strategy_T
+ Trader/Trader_Utils
+endif # Trader
-VPATH=.:Naming:Time:Event:CosEvent:Sched:AV:Property:Trader:Concurrency:Log:
+ifneq (,$(findstring Sched,$(TAO_ORBSVCS)))
+ IDL_SRCS += RtecScheduler
+ TAO_ORBSVCS_SRCS += \
+ Scheduler_Factory \
+ Runtime_Scheduler \
+ Scheduler_Utilities \
+ Sched/Config_Scheduler \
+ Sched/DynSched \
+ Sched/SchedEntry \
+ Sched/Scheduler \
+ Sched/Scheduler_Generic \
+ Sched/Strategy_Scheduler
+endif # Sched
-DEFS = $(addsuffix .h,$(FILES))
-LSRC = $(addsuffix .cpp,$(FILES))
+ifneq (,$(findstring Event,$(TAO_ORBSVCS)))
+ IDL_SRCS += RtecEventComm RtecEventChannelAdmin RtecUDPAdmin
+ TAO_ORBSVCS_SRCS += \
+ Event_Utilities \
+ Event/BCU \
+ Event/Dispatching_Modules \
+ Event/Event_Channel \
+ Event/Event_Manip \
+ Event/Local_ESTypes \
+ Event/Memory_Pools \
+ Event/RT_Task \
+ Event/ReactorTask \
+ Event/Timer_Module \
+ Event/EC_Gateway \
+ Event/EC_Gateway_UDP \
+ Event/EC_UDP_Admin \
+ Event/Module_Factory
+endif # Event
-LIBS += -lTAO -lACE
+ifneq (,$(findstring CosEvent,$(TAO_ORBSVCS)))
+ IDL_SRCS += CosEventComm CosEventChannelAdmin
+ TAO_ORBSVCS_SRCS += \
+ CosEvent/ConsumerAdmin_i \
+ CosEvent/SupplierAdmin_i \
+ CosEvent/EventChannel_i \
+ CosEvent/ProxyPushConsumer_i \
+ CosEvent/ProxyPushSupplier_i
+endif # CosEvent
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
+ifneq (,$(findstring AV,$(TAO_ORBSVCS)))
+ IDL_SRCS += AVStreams Null_MediaCtrl sfp
+ TAO_ORBSVCS_SRCS += \
+ AV/AVStreams_i \
+ AV/Endpoint_Strategy \
+ AV/Endpoint_Strategy_T
+endif # AV
-include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
-include $(ACE_ROOT)/include/makeinclude/macros.GNU
-include $(TAO_ROOT)/rules.tao.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+IDL_FILES = \
+ $(addsuffix S, $(IDL_SRCS)) \
+ $(addsuffix C, $(IDL_SRCS))
+FILES = $(IDL_FILES) $(TAO_ORBSVCS_SRCS) tmplinst-orbsvcs
+DEFS = $(addsuffix .h,$(FILES))
+LSRC = $(addsuffix .cpp,$(FILES))
+
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
#----------------------------------------------------------------------------
-# Local targets (and local hacks)
+# Local targets (and local hacks)
#----------------------------------------------------------------------------
LDFLAGS += -L$(TAO_ROOT)/tao
diff --git a/TAO/rules.tao.GNU b/TAO/rules.tao.GNU
index 4055d62fb9b..20492f75c5e 100644
--- a/TAO/rules.tao.GNU
+++ b/TAO/rules.tao.GNU
@@ -6,15 +6,58 @@
#
#----------------------------------------------------------------------------
+####
+#### Required macros for TAO.
+####
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+
ifndef TAO_IDL
TAO_IDL = $(TAO_ROOT)/TAO_IDL/tao_idl
endif
-.SUFFIXES: S.h C.h S.i C.i S.cpp C.cpp
-%S.h %Ser.h %C.h %Cli.h %S.i %Ser.i %C.i %Cli.i %S.cpp %Ser.cpp %C.cpp %Cli.cpp: %.idl $(TAO_IDL)
- $(TAO_IDL) $(TAO_IDLFLAGS) $<
+####
+#### Build customization.
+####
+ifndef TAO_ORBSVCS
+ #### The following default definition of TAO_ORBSVCS builds all of TAO's
+ #### orbsvcs. If you'd like to not build some components, then define
+ #### your TAO_ORBSVCS appropriately. You can do that either in:
+ #### 1) your $(ACE_ROOT)/include/makeinclude/platform_macros.GNU file,
+ #### 2) on the make command line, e.g.,
+ #### make TAO_ORBSVCS=Naming
+ #### or
+ #### 3) by setting (and exporting) your TAO_ORBSVCS environment variable.
+ ####
+ #### NOTE: We currently don't check for interdependencies between
+ #### services. For example, if you build the CosEvent service, you
+ #### must also explicitly specify the Sched and Event services, at least.
+ ####
+ #### NOTE: It would be nice to customize tmplinst-orbsvcs based on the
+ #### value of TAO_ORBSVCS.
+ ####
+ #### NOTE: We currently don't check this macro in each of the orbsvcs
+ #### Makefiles, or in their tests. We'll add those checks soon.
+ TAO_ORBSVCS = Naming \
+ Time \
+ Log \
+ Concurrency \
+ LifeCycle \
+ ImplRepo \
+ Property \
+ Trader \
+ Sched \
+ Event \
+ CosEvent \
+ AV
+endif # TAO_ORBSVCS
+
+####
+#### Macro customization.
+####
ifeq ($(findstring g++,$(CXX)),g++)
CCFLAGS += -Wno-unused
@@ -25,3 +68,12 @@ ifeq ($(findstring g++,$(CXX)),g++)
CCFLAGS += -Wno-uninitialized
endif # egcs 2.91.x
endif # g++
+
+
+####
+#### Build rules.
+####
+.SUFFIXES: S.h C.h S.i C.i S.cpp C.cpp
+
+%S.h %Ser.h %C.h %Cli.h %S.i %Ser.i %C.i %Cli.i %S.cpp %Ser.cpp %C.cpp %Cli.cpp: %.idl $(TAO_IDL)
+ $(TAO_IDL) $(TAO_IDLFLAGS) $<