Merge pull request #1943 from lukem/format-security-fixup
[ACE_TAO.git] / TAO / rules.tao.GNU
blobd718246f0e24ce2d8b35a60f99432ed5f9107891
1 # -*- Makefile -*-
3 #----------------------------------------------------------------------------
7 #       Common Makefile rules for all of TAO
9 #----------------------------------------------------------------------------
11 ####
12 #### Required macros for TAO.
13 ####
14 TAO_ROOT ?= $(ACE_ROOT)/TAO
15 TAO_ROOT := $(subst \,/,$(TAO_ROOT))
17 #This logically belongs in rules.dds.GNU but there are a few projects
18 #which reference $DDS_ROOT but do not include rules.dds.GNU
19 ifdef DDS_ROOT
20   DDS_ROOT := $(subst \,/,$(DDS_ROOT))
21 endif
23 ifeq ($(exceptions),0)
24   default:
25         echo "ERROR: Emulated exceptions are not safe to use anymore, see the NEWS file"
26 endif # exceptions
28 ####
29 #### Macro customization.
30 ####
31 security ?= 1
32 ifeq ($(security),1)
33   ACE_MAKE_OPTIONS += security
34 endif # security
36 ifeq ($(minimum_corba),1)
37   ifndef interceptors
38     interceptors = 0
39   endif  # ! interceptors
40   CPPFLAGS += -DTAO_HAS_MINIMUM_CORBA=1
41   ACE_MAKE_OPTIONS += minimum_corba
42 else  # minimum_corba
43   override minimum_corba = 0
44 endif # minimum_corba
46 ifeq ($(ami),0)
47   CPPFLAGS += -DTAO_HAS_AMI=0
48 else
49   override ami = 1
50   ACE_MAKE_OPTIONS += ami
51   # The following line is not needed,
52   # the $TAO_ROOT/tao/orbconf.h file defines it by default
53   # CPPFLAGS += -DTAO_HAS_AMI=1
54   ifndef ami_callback
55     ami_callback = 1
56   endif # ! ami_callback
57   ifndef ami_poller
58     ami_poller = 1
59   endif # ! ami_poller
60 endif # ami
62 ifeq ($(ami_poller),0)
63   CPPFLAGS += -DTAO_HAS_AMI_POLLER=0
64 else  # ami_poller
65   override ami_poller = 1
66   # The following line is not needed,
67   # the $TAO_ROOT/tao/orbconf.h file defines it by default
68   # CPPFLAGS += -DTAO_HAS_AMI_POLLER=1
69   ACE_MAKE_OPTIONS += ami_poller
70 endif # ami_poller
72 ifeq ($(ami_callback),0)
73   CPPFLAGS += -DTAO_HAS_AMI_CALLBACK=0
74 else  # ami_callback
75   override ami_callback = 1
76   # The following line is not needed,
77   # the $TAO_ROOT/tao/orbconf.h file defines it by default
78   # CPPFLAGS += -DTAO_HAS_AMI_CALLBACK=1
79   ACE_MAKE_OPTIONS += ami_callback
80 endif # ami_callback
82 ifeq ($(corba_messaging),0)
83   rt_corba = 0
84   CPPFLAGS += -DTAO_HAS_CORBA_MESSAGING=0
85 else  # corba_messaging
86   override corba_messaging = 1
87   # The following line is not needed,
88   # the $TAO_ROOT/tao/orbconf.h file defines it by default
89   # CPPFLAGS += -DTAO_HAS_CORBA_MESSAGING=1
90   ACE_MAKE_OPTIONS += corba_messaging
91 endif # corba_messaging
93 ifeq ($(rt_corba),0)
94   CPPFLAGS += -DTAO_HAS_RT_CORBA=0
95 else  # rt_corba
96   override rt_corba = 1
97   # The following line is not needed,
98   # the $TAO_ROOT/tao/orbconf.h file defines it by default
99   # CPPFLAGS += -DTAO_HAS_RT_CORBA=1
100   ACE_MAKE_OPTIONS += rt_corba
101 endif # rt_corba
103 ifeq ($(interceptors),0)
104   CPPFLAGS += -DTAO_HAS_INTERCEPTORS=0
105 else  # interceptors
106   override interceptors = 1
107   # The following line is not needed,
108   # the $TAO_ROOT/tao/orbconf.h file defines it by default
109   # CPPFLAGS += -DTAO_HAS_INTERCEPTORS=1
110   ACE_MAKE_OPTIONS += interceptors
111 endif # interceptors
113 # The following is more to document the transport_current,
114 # the $TAO_ROOT/tao/orbconf.h file defines it by default
115 # CPPFLAGS += -DTAO_HAS_TRANSPORT_CURRENT=1
116 transport_current ?= 1
118 build_tao_idl_be ?= 1
120 ifeq (1,$(CROSS-COMPILE))
121   ACE_MAKE_OPTIONS += cross_compile
122 else
123 endif # ! CROSS-COMPILE
125 # Turn on symbol versioning. The scheme that we follow is to allow
126 # applications dependent on libraries, with same version numbers (major,
127 # minor and beta) to run, but applications with dependencies on libraries
128 # with different minor or major or beta versions to fail.
130 ifeq (cmd,$(findstring cmd,$(SHELL)))
131 TAO_MAJOR_VERSION := $(shell awk "/TAO_MAJOR_VERSION/ { print $$3}" ${TAO_ROOT}/tao/Version.h)
132 TAO_MINOR_VERSION := $(shell awk "/TAO_MINOR_VERSION/ { print $$3}" ${TAO_ROOT}/tao/Version.h)
133 TAO_MICRO_VERSION := $(shell awk "/TAO_MICRO_VERSION/ { print $$3}" ${TAO_ROOT}/tao/Version.h)
134 TAO_BETA_VERSION := $(shell awk "/TAO_MICRO_VERSION/ { print $$3}" ${TAO_ROOT}/tao/Version.h)
135 else
136 TAO_MAJOR_VERSION := $(shell awk '/TAO_MAJOR_VERSION/ { print $$3}' ${TAO_ROOT}/tao/Version.h)
137 TAO_MINOR_VERSION := $(shell awk '/TAO_MINOR_VERSION/ { print $$3}' ${TAO_ROOT}/tao/Version.h)
138 TAO_MICRO_VERSION := $(shell awk '/TAO_MICRO_VERSION/ { print $$3}' ${TAO_ROOT}/tao/Version.h)
139 TAO_BETA_VERSION := $(shell awk '/TAO_MICRO_VERSION/ { print $$3}' ${TAO_ROOT}/tao/Version.h)
140 endif
142 GNUACE_PROJECT_VERSION ?= $(TAO_MAJOR_VERSION).$(TAO_MINOR_VERSION).$(TAO_MICRO_VERSION)