1# 2# %CopyrightBegin% 3# 4# Copyright Ericsson AB 1997-2016. All Rights Reserved. 5# 6# Licensed under the Apache License, Version 2.0 (the "License"); 7# you may not use this file except in compliance with the License. 8# You may obtain a copy of the License at 9# 10# http://www.apache.org/licenses/LICENSE-2.0 11# 12# Unless required by applicable law or agreed to in writing, software 13# distributed under the License is distributed on an "AS IS" BASIS, 14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15# See the License for the specific language governing permissions and 16# limitations under the License. 17# 18# %CopyrightEnd% 19# 20# 21include $(ERL_TOP)/make/target.mk 22 23include $(ERL_TOP)/make/$(TARGET)/otp.mk 24 25CORBA_TOP=../../.. 26 27# ---------------------------------------------------- 28# Application version 29# ---------------------------------------------------- 30include $(CORBA_TOP)/vsn.mk 31 32# ---------------------------------------------------- 33# Release directory specification 34# ---------------------------------------------------- 35RELSYSDIR = $(RELEASE_PATH)/lib/orber-$(CORBA_VSN) 36 37# ---------------------------------------------------- 38# Target Specs 39# ---------------------------------------------------- 40 41MODULES= \ 42 orber \ 43 corba \ 44 corba_boa \ 45 corba_object \ 46 any \ 47 iop_ior \ 48 orber_tc \ 49 orber_typedefs \ 50 orber_request_number \ 51 orber_objectkeys \ 52 orber_initial_references \ 53 cdrlib \ 54 cdr_encode \ 55 cdr_decode \ 56 orber_iiop \ 57 orber_iiop_net \ 58 orber_iiop_net_accept \ 59 orber_iiop_insup \ 60 orber_iiop_inproxy \ 61 orber_iiop_inrequest \ 62 orber_iiop_pm \ 63 orber_iiop_outsup \ 64 orber_iiop_outproxy \ 65 orber_iiop_socketsup \ 66 orber_socket \ 67 orber_ifr \ 68 orber_ifr_aliasdef \ 69 orber_ifr_arraydef \ 70 orber_ifr_attributedef \ 71 orber_ifr_constantdef \ 72 orber_ifr_contained \ 73 orber_ifr_container \ 74 orber_ifr_enumdef \ 75 orber_ifr_exceptiondef \ 76 orber_ifr_idltype \ 77 orber_ifr_interfacedef \ 78 orber_ifr_irobject \ 79 orber_ifr_moduledef \ 80 orber_ifr_operationdef \ 81 orber_ifr_orb \ 82 orber_ifr_primitivedef \ 83 orber_ifr_repository \ 84 orber_ifr_sequencedef \ 85 orber_ifr_stringdef \ 86 orber_ifr_wstringdef \ 87 orber_ifr_structdef \ 88 orber_ifr_typecode \ 89 orber_ifr_typedef \ 90 orber_ifr_uniondef \ 91 orber_ifr_fixeddef \ 92 orber_ifr_utils \ 93 OrberApp_IFR_impl \ 94 orber_pi \ 95 orber_web \ 96 orber_web_server \ 97 orber_iiop_tracer \ 98 orber_iiop_tracer_silent \ 99 orber_iiop_tracer_stealth \ 100 fixed \ 101 orber_exceptions \ 102 orber_diagnostics \ 103 orber_acl \ 104 orber_env \ 105 orber_tb 106 107ASN_MODULES = OrberCSIv2 108ASN_SET = $(ASN_MODULES:%=%.set.asn) 109ASN_ASNS = $(ASN_MODULES:%=%.asn1) 110GEN_ASN_ERL = $(ASN_MODULES:%=%.erl) 111GEN_ASN_HRL = $(ASN_MODULES:%=%.hrl) 112GEN_ASN_DBS = $(ASN_MODULES:%=%.asn1db) 113GEN_ASN_TABLES = $(ASN_MODULES:%=%.table) 114 115PKIX_FILES = \ 116 OrberCSIv2.asn1 \ 117 PKIXAttributeCertificate.asn1 \ 118 PKIX1Explicit88.asn1 \ 119 PKIX1Algorithms88.asn1 \ 120 PKIX1Implicit88.asn1 \ 121 OrberCSIv2.set.asn 122 123EXTERNAL_HRL_FILES= ../include/corba.hrl \ 124 ../include/ifr_types.hrl \ 125 ../include/orber_pi.hrl 126 127INTERNAL_HRL_FILES = \ 128 orber_iiop.hrl \ 129 ifr_objects.hrl \ 130 orber_ifr.hrl 131 132ERL_FILES= $(MODULES:%=%.erl) 133 134GEN_ERL_FILES1 = \ 135 oe_erlang.erl \ 136 erlang_pid.erl \ 137 erlang_port.erl \ 138 erlang_ref.erl \ 139 erlang_binary.erl 140 141GEN_ERL_FILES2 = \ 142 oe_CORBA.erl 143 144GEN_ERL_FILES3 = \ 145 oe_OrberIFR.erl \ 146 OrberApp_IFR.erl 147 148GEN_ERL_FILES = $(GEN_ERL_FILES1) $(GEN_ERL_FILES2) \ 149 $(GEN_ERL_FILES3) \ 150# $(GEN_ASN_ERL) 151 152GEN_HRL_FILES1 = \ 153 oe_erlang.hrl \ 154 erlang.hrl 155 156GEN_HRL_FILES2 = \ 157 CORBA.hrl \ 158 oe_CORBA.hrl 159 160GEN_HRL_FILES3 = \ 161 OrberApp_IFR.hrl \ 162 oe_OrberIFR.hrl \ 163 OrberApp.hrl 164 165GEN_HRL_FILES_EXT = $(GEN_HRL_FILES1) 166 167GEN_HRL_FILES_LOC = $(GEN_HRL_FILES2) $(GEN_HRL_FILES3) \ 168# $(GEN_ASN_HRL) 169 170 171GEN_FILES = \ 172 $(GEN_ERL_FILES) \ 173 $(GEN_HRL_FILES_LOC) \ 174 $(GEN_HRL_FILES_EXT) \ 175# $(GEN_ASN_DBS) \ 176# $(GEN_ASN_TABLES) 177 178TARGET_FILES = \ 179 $(GEN_ERL_FILES:%.erl=$(EBIN)/%.$(EMULATOR)) \ 180 $(MODULES:%=$(EBIN)/%.$(EMULATOR)) 181 182APPUP_FILE = orber.appup 183APPUP_SRC = $(APPUP_FILE).src 184APPUP_TARGET = $(EBIN)/$(APPUP_FILE) 185 186APP_FILE = orber.app 187APP_SRC = $(APP_FILE).src 188APP_TARGET = $(EBIN)/$(APP_FILE) 189 190# ---------------------------------------------------- 191# FLAGS 192# ---------------------------------------------------- 193ERL_IDL_FLAGS += -pa $(CORBA_TOP)/lib/orber/ebin -pa $(CORBA_TOP)/lib/ic/ebin 194ERL_COMPILE_FLAGS += $(ERL_IDL_FLAGS) \ 195 -I../include \ 196 +'{parse_transform,sys_pre_attributes}' \ 197 +'{attribute,insert,app_vsn,"orber_$(CORBA_VSN)"}' 198 199ASN_FLAGS = -bber +der +compact_bit_string +nowarn_unused_record 200 201# ---------------------------------------------------- 202# Targets 203# ---------------------------------------------------- 204debug: 205 @${MAKE} TYPE=debug opt 206 207opt: $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) 208 209clean: 210 rm -f $(TARGET_FILES) $(GEN_FILES) $(APP_TARGET) $(APPUP_TARGET) IDL-GENERATED 211 rm -f errs core *~ 212 213$(APP_TARGET): $(APP_SRC) $(CORBA_TOP)/vsn.mk 214 $(vsn_verbose)sed -e 's;%VSN%;$(CORBA_VSN);' $< > $@ 215 216$(APPUP_TARGET): $(APPUP_SRC) $(CORBA_TOP)/vsn.mk 217 $(vsn_verbose)sed -e 's;%VSN%;$(CORBA_VSN);' $< > $@ 218 219docs: 220 221# ---------------------------------------------------- 222# Special Build Targets 223# ---------------------------------------------------- 224 225IDL-GENERATED: $(CORBA_TOP)/lib/ic/include/erlang.idl CORBA.idl OrberIFR.idl 226 $(gen_verbose)erlc $(ERL_IDL_FLAGS) $(CORBA_TOP)/lib/ic/include/erlang.idl 227 $(V_at)erlc $(ERL_IDL_FLAGS) CORBA.idl 228 $(V_at)erlc $(ERL_IDL_FLAGS) +'{this,"Orber::IFR"}' OrberIFR.idl 229 $(V_at)>IDL-GENERATED 230 231$(GEN_ERL_FILES): IDL-GENERATED 232$(TARGET_FILES): IDL-GENERATED 233 234$(GEN_ASN_ERL) $(GEN_ASN_HRL): OrberCSIv2.asn1 OrberCSIv2.set.asn 235 $(asn_verbose)erlc $(ERL_COMPILE_FLAGS) $(ASN_FLAGS) +'{inline,"OrberCSIv2"}' OrberCSIv2.set.asn 236 $(V_at)rm -f $(GEN_ASN_ERL:%.erl=%.beam) 237 238# ---------------------------------------------------- 239# Release Target 240# ---------------------------------------------------- 241include $(ERL_TOP)/make/otp_release_targets.mk 242 243 244release_spec: opt 245 $(INSTALL_DIR) "$(RELSYSDIR)/ebin" 246 $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) $(APPUP_TARGET) "$(RELSYSDIR)/ebin" 247 $(INSTALL_DIR) "$(RELSYSDIR)/src" 248 $(INSTALL_DATA) $(ERL_FILES) $(YRL_FILE) $(GEN_HRL_FILES_LOC) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" 249 $(INSTALL_DIR) "$(RELSYSDIR)/include" 250 $(INSTALL_DATA) $(EXTERNAL_HRL_FILES) $(GEN_HRL_FILES_EXT) "$(RELSYSDIR)/include" 251 252 253release_docs_spec: 254 255 256