Files
openairinterface5g/openair-cn/NAS/Makefile.UE
T
2015-04-10 12:21:25 +00:00

342 lines
15 KiB
Makefile

################################################################################
# OpenAirInterface
# Copyright(c) 1999 - 2014 Eurecom
#
# OpenAirInterface is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
#
# OpenAirInterface is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenAirInterface.The full GNU General Public License is
# included in this distribution in the file called "COPYING". If not,
# see <http://www.gnu.org/licenses/>.
#
# Contact Information
# OpenAirInterface Admin: openair_admin@eurecom.fr
# OpenAirInterface Tech : openair_tech@eurecom.fr
# OpenAirInterface Dev : openair4g-devel@eurecom.fr
#
# Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
#
################################################################################
PROJDIR = $(UE_NAS_DIR)/EURECOM-NAS
include $(UE_NAS_DIR)/EURECOM-NAS/Makefile.inc
libnas_INCLUDES = \
-I$(OPENAIR2_DIR) \
-I$(UE_NAS_DIR) \
-I$(SRCDIR) \
-I$(INCDIR) \
-I$(UTILDIR) \
-I$(USERAPIDIR) \
-I$(NETAPIDIR) \
-I$(EMMDIR) \
-I$(EMMMSGDIR) \
-I$(EMMSAPDIR) \
-I$(ESMDIR) \
-I$(ESMMSGDIR) \
-I$(ESMSAPDIR) \
-I$(MMEAPIDIR) \
-I$(USIMAPIDIR) \
-I$(IESDIR) \
-I$(SECU_DIR) \
-I$(OPENAIRCN_DIR)/COMMON \
-I$(OPENAIRCN_DIR)/UTILS
OUTDIR = $(UE_NAS_DIR)/ue_objs
libnas_api_OBJS = \
EURECOM-NAS/src/api/mme/mme_api.o \
EURECOM-NAS/src/api/network/nas_message.o
libnas_emm_OBJS = \
EURECOM-NAS/src/emm/Attach.o \
EURECOM-NAS/src/emm/Authentication.o \
EURECOM-NAS/src/emm/Detach.o \
EURECOM-NAS/src/emm/EmmCommon.o \
EURECOM-NAS/src/emm/emm_data_ctx.o \
EURECOM-NAS/src/emm/emm_main.o \
EURECOM-NAS/src/emm/EmmStatusHdl.o \
EURECOM-NAS/src/emm/Identification.o \
EURECOM-NAS/src/emm/IdleMode.o \
EURECOM-NAS/src/emm/LowerLayer.o \
EURECOM-NAS/src/emm/SecurityModeControl.o \
EURECOM-NAS/src/emm/ServiceRequestHdl.o \
EURECOM-NAS/src/emm/TrackingAreaUpdate.o
libnas_emm_msg_OBJS = \
EURECOM-NAS/src/emm/msg/AttachAccept.o \
EURECOM-NAS/src/emm/msg/AuthenticationFailure.o \
EURECOM-NAS/src/emm/msg/CsServiceNotification.o \
EURECOM-NAS/src/emm/msg/ExtendedServiceRequest.o \
EURECOM-NAS/src/emm/msg/IdentityResponse.o \
EURECOM-NAS/src/emm/msg/EmmInformation.o \
EURECOM-NAS/src/emm/msg/ServiceReject.o \
EURECOM-NAS/src/emm/msg/TrackingAreaUpdateReject.o \
EURECOM-NAS/src/emm/msg/AttachComplete.o \
EURECOM-NAS/src/emm/msg/AuthenticationReject.o \
EURECOM-NAS/src/emm/msg/DetachAccept.o \
EURECOM-NAS/src/emm/msg/GutiReallocationCommand.o \
EURECOM-NAS/src/emm/msg/emm_msg.o \
EURECOM-NAS/src/emm/msg/SecurityModeCommand.o \
EURECOM-NAS/src/emm/msg/ServiceRequest.o \
EURECOM-NAS/src/emm/msg/TrackingAreaUpdateRequest.o \
EURECOM-NAS/src/emm/msg/AttachReject.o \
EURECOM-NAS/src/emm/msg/AuthenticationRequest.o \
EURECOM-NAS/src/emm/msg/DetachRequest.o \
EURECOM-NAS/src/emm/msg/GutiReallocationComplete.o \
EURECOM-NAS/src/emm/msg/SecurityModeComplete.o \
EURECOM-NAS/src/emm/msg/TrackingAreaUpdateAccept.o \
EURECOM-NAS/src/emm/msg/UplinkNasTransport.o \
EURECOM-NAS/src/emm/msg/AttachRequest.o \
EURECOM-NAS/src/emm/msg/AuthenticationResponse.o \
EURECOM-NAS/src/emm/msg/DownlinkNasTransport.o \
EURECOM-NAS/src/emm/msg/EmmStatus.o \
EURECOM-NAS/src/emm/msg/IdentityRequest.o \
EURECOM-NAS/src/emm/msg/SecurityModeReject.o \
EURECOM-NAS/src/emm/msg/TrackingAreaUpdateComplete.o
libnas_emm_sap_OBJS = \
EURECOM-NAS/src/emm/sap/emm_as.o \
EURECOM-NAS/src/emm/sap/emm_cn.o \
EURECOM-NAS/src/emm/sap/EmmDeregisteredNoImsi.o \
EURECOM-NAS/src/emm/sap/emm_reg.o \
EURECOM-NAS/src/emm/sap/EmmRegisteredUpdateNeeded.o \
EURECOM-NAS/src/emm/sap/EmmDeregisteredNormalService.o \
EURECOM-NAS/src/emm/sap/emm_sap.o \
EURECOM-NAS/src/emm/sap/EmmDeregisteredPlmnSearch.o \
EURECOM-NAS/src/emm/sap/emm_esm.o \
EURECOM-NAS/src/emm/sap/EmmRegisteredAttemptingToUpdate.o \
EURECOM-NAS/src/emm/sap/emm_send.o \
EURECOM-NAS/src/emm/sap/EmmCommonProcedureInitiated.o \
EURECOM-NAS/src/emm/sap/EmmRegistered.o \
EURECOM-NAS/src/emm/sap/EmmDeregisteredAttachNeeded.o \
EURECOM-NAS/src/emm/sap/EmmRegisteredImsiDetachInitiated.o \
EURECOM-NAS/src/emm/sap/EmmServiceRequestInitiated.o \
EURECOM-NAS/src/emm/sap/EmmDeregisteredAttemptingToAttach.o \
EURECOM-NAS/src/emm/sap/emm_fsm.o \
EURECOM-NAS/src/emm/sap/EmmRegisteredInitiated.o \
EURECOM-NAS/src/emm/sap/EmmTrackingAreaUpdatingInitiated.o \
EURECOM-NAS/src/emm/sap/EmmDeregistered.o \
EURECOM-NAS/src/emm/sap/EmmRegisteredLimitedService.o \
EURECOM-NAS/src/emm/sap/EmmDeregisteredInitiated.o \
EURECOM-NAS/src/emm/sap/EmmNull.o \
EURECOM-NAS/src/emm/sap/EmmRegisteredNoCellAvailable.o \
EURECOM-NAS/src/emm/sap/EmmDeregisteredLimitedService.o \
EURECOM-NAS/src/emm/sap/emm_recv.o \
EURECOM-NAS/src/emm/sap/EmmRegisteredNormalService.o \
EURECOM-NAS/src/emm/sap/EmmDeregisteredNoCellAvailable.o \
EURECOM-NAS/src/emm/sap/EmmRegisteredPlmnSearch.o
libnas_esm_OBJS = \
EURECOM-NAS/src/esm/esm_ebr_context.o \
EURECOM-NAS/src/esm/PdnConnectivity.o \
EURECOM-NAS/src/esm/esm_ebr.o \
EURECOM-NAS/src/esm/EpsBearerContextDeactivation.o \
EURECOM-NAS/src/esm/DefaultEpsBearerContextActivation.o \
EURECOM-NAS/src/esm/DedicatedEpsBearerContextActivation.o \
EURECOM-NAS/src/esm/PdnDisconnect.o \
EURECOM-NAS/src/esm/EsmStatusHdl.o \
EURECOM-NAS/src/esm/esm_main.o \
EURECOM-NAS/src/esm/esm_pt.o \
EURECOM-NAS/src/esm/esm_ip.o
libnas_esm_msg_OBJS = \
EURECOM-NAS/src/esm/msg/ModifyEpsBearerContextRequest.o \
EURECOM-NAS/src/esm/msg/DeactivateEpsBearerContextRequest.o \
EURECOM-NAS/src/esm/msg/BearerResourceAllocationReject.o \
EURECOM-NAS/src/esm/msg/BearerResourceModificationRequest.o \
EURECOM-NAS/src/esm/msg/ActivateDedicatedEpsBearerContextRequest.o \
EURECOM-NAS/src/esm/msg/EsmInformationResponse.o \
EURECOM-NAS/src/esm/msg/PdnDisconnectReject.o \
EURECOM-NAS/src/esm/msg/ActivateDedicatedEpsBearerContextAccept.o \
EURECOM-NAS/src/esm/msg/PdnDisconnectRequest.o \
EURECOM-NAS/src/esm/msg/BearerResourceModificationReject.o \
EURECOM-NAS/src/esm/msg/ActivateDefaultEpsBearerContextAccept.o \
EURECOM-NAS/src/esm/msg/ActivateDedicatedEpsBearerContextReject.o \
EURECOM-NAS/src/esm/msg/ModifyEpsBearerContextAccept.o \
EURECOM-NAS/src/esm/msg/DeactivateEpsBearerContextAccept.o \
EURECOM-NAS/src/esm/msg/esm_msg.o \
EURECOM-NAS/src/esm/msg/EsmInformationRequest.o \
EURECOM-NAS/src/esm/msg/ActivateDefaultEpsBearerContextRequest.o \
EURECOM-NAS/src/esm/msg/ModifyEpsBearerContextReject.o \
EURECOM-NAS/src/esm/msg/EsmStatus.o \
EURECOM-NAS/src/esm/msg/PdnConnectivityReject.o \
EURECOM-NAS/src/esm/msg/ActivateDefaultEpsBearerContextReject.o \
EURECOM-NAS/src/esm/msg/PdnConnectivityRequest.o \
EURECOM-NAS/src/esm/msg/BearerResourceAllocationRequest.o
libnas_esm_sap_OBJS = \
EURECOM-NAS/src/esm/sap/esm_recv.o \
EURECOM-NAS/src/esm/sap/esm_send.o \
EURECOM-NAS/src/esm/sap/esm_sap.o
libnas_ies_OBJS = \
EURECOM-NAS/src/ies/UeSecurityCapability.o \
EURECOM-NAS/src/ies/SecurityHeaderType.o \
EURECOM-NAS/src/ies/RadioPriority.o \
EURECOM-NAS/src/ies/EpsAttachResult.o \
EURECOM-NAS/src/ies/ImeisvRequest.o \
EURECOM-NAS/src/ies/EmergencyNumberList.o \
EURECOM-NAS/src/ies/SupportedCodecList.o \
EURECOM-NAS/src/ies/EsmCause.o \
EURECOM-NAS/src/ies/NetworkName.o \
EURECOM-NAS/src/ies/AuthenticationResponseParameter.o \
EURECOM-NAS/src/ies/Cli.o \
EURECOM-NAS/src/ies/AccessPointName.o \
EURECOM-NAS/src/ies/DaylightSavingTime.o \
EURECOM-NAS/src/ies/LcsIndicator.o \
EURECOM-NAS/src/ies/PagingIdentity.o \
EURECOM-NAS/src/ies/EpsMobileIdentity.o \
EURECOM-NAS/src/ies/GutiType.o \
EURECOM-NAS/src/ies/NasKeySetIdentifier.o \
EURECOM-NAS/src/ies/CsfbResponse.o \
EURECOM-NAS/src/ies/PacketFlowIdentifier.o \
EURECOM-NAS/src/ies/ApnAggregateMaximumBitRate.o \
EURECOM-NAS/src/ies/EpsBearerContextStatus.o \
EURECOM-NAS/src/ies/MobileIdentity.o \
EURECOM-NAS/src/ies/AuthenticationFailureParameter.o \
EURECOM-NAS/src/ies/EpsUpdateResult.o \
EURECOM-NAS/src/ies/TimeZone.o \
EURECOM-NAS/src/ies/MessageType.o \
EURECOM-NAS/src/ies/EmmCause.o \
EURECOM-NAS/src/ies/MobileStationClassmark2.o \
EURECOM-NAS/src/ies/AuthenticationParameterRand.o \
EURECOM-NAS/src/ies/PdnAddress.o \
EURECOM-NAS/src/ies/MobileStationClassmark3.o \
EURECOM-NAS/src/ies/ServiceType.o \
EURECOM-NAS/src/ies/NasRequestType.o \
EURECOM-NAS/src/ies/PlmnList.o \
EURECOM-NAS/src/ies/EpsQualityOfService.o \
EURECOM-NAS/src/ies/NasMessageContainer.o \
EURECOM-NAS/src/ies/EsmInformationTransferFlag.o \
EURECOM-NAS/src/ies/TrafficFlowTemplate.o \
EURECOM-NAS/src/ies/LinkedEpsBearerIdentity.o \
EURECOM-NAS/src/ies/NasSecurityAlgorithms.o \
EURECOM-NAS/src/ies/LlcServiceAccessPointIdentifier.o \
EURECOM-NAS/src/ies/ShortMac.o \
EURECOM-NAS/src/ies/TrafficFlowAggregateDescription.o \
EURECOM-NAS/src/ies/PTmsiSignature.o \
EURECOM-NAS/src/ies/ProtocolDiscriminator.o \
EURECOM-NAS/src/ies/EpsBearerIdentity.o \
EURECOM-NAS/src/ies/TimeZoneAndTime.o \
EURECOM-NAS/src/ies/TrackingAreaIdentityList.o \
EURECOM-NAS/src/ies/QualityOfService.o \
EURECOM-NAS/src/ies/EpsUpdateType.o \
EURECOM-NAS/src/ies/PdnType.o \
EURECOM-NAS/src/ies/UeRadioCapabilityInformationUpdateNeeded.o \
EURECOM-NAS/src/ies/AuthenticationParameterAutn.o \
EURECOM-NAS/src/ies/EpsAttachType.o \
EURECOM-NAS/src/ies/IdentityType2.o \
EURECOM-NAS/src/ies/LcsClientIdentity.o \
EURECOM-NAS/src/ies/DetachType.o \
EURECOM-NAS/src/ies/LocationAreaIdentification.o \
EURECOM-NAS/src/ies/TrackingAreaIdentity.o \
EURECOM-NAS/src/ies/CipheringKeySequenceNumber.o \
EURECOM-NAS/src/ies/MsNetworkCapability.o \
EURECOM-NAS/src/ies/UeNetworkCapability.o \
EURECOM-NAS/src/ies/ProtocolConfigurationOptions.o \
EURECOM-NAS/src/ies/AdditionalUpdateType.o \
EURECOM-NAS/src/ies/TmsiStatus.o \
EURECOM-NAS/src/ies/EsmMessageContainer.o \
EURECOM-NAS/src/ies/Nonce.o \
EURECOM-NAS/src/ies/ProcedureTransactionIdentity.o \
EURECOM-NAS/src/ies/TransactionIdentifier.o \
EURECOM-NAS/src/ies/AdditionalUpdateResult.o \
EURECOM-NAS/src/ies/GprsTimer.o \
EURECOM-NAS/src/ies/EpsNetworkFeatureSupport.o \
EURECOM-NAS/src/ies/SsCode.o \
EURECOM-NAS/src/ies/DrxParameter.o \
EURECOM-NAS/src/ies/KsiAndSequenceNumber.o \
EURECOM-NAS/src/ies/VoiceDomainPreferenceAndUeUsageSetting.o
libnas_utils_OBJS = \
EURECOM-NAS/src/util/device.o \
EURECOM-NAS/src/util/memory.o \
EURECOM-NAS/src/util/nas_log.o \
EURECOM-NAS/src/util/nas_timer.o \
EURECOM-NAS/src/util/socket.o \
EURECOM-NAS/src/util/stty.o \
EURECOM-NAS/src/util/TLVEncoder.o \
EURECOM-NAS/src/util/TLVDecoder.o \
EURECOM-NAS/src/util/OctetString.o
libnas_user_OBJS = \
EURECOM-NAS/src/api/user/user_api.o \
EURECOM-NAS/src/api/user/user_indication.o \
EURECOM-NAS/src/api/user/at_command.o \
EURECOM-NAS/src/api/user/at_error.o \
EURECOM-NAS/src/api/user/at_response.o
libnas_usim_OBJS = \
EURECOM-NAS/src/api/usim/aka_functions.o \
EURECOM-NAS/src/api/usim/usim_api.o
libnas_OBJS = \
nas_ue_task.o \
nas_itti_messaging.o \
EURECOM-NAS/src/nas_parser.o \
EURECOM-NAS/src/nas_proc.o \
EURECOM-NAS/src/nas_user.o \
$(libnas_utils_OBJS) \
$(libnas_user_OBJS) \
$(libnas_usim_OBJS) \
$(libnas_emm_OBJS) \
$(libnas_emm_msg_OBJS) \
$(libnas_emm_sap_OBJS) \
$(libnas_esm_OBJS) \
$(libnas_esm_msg_OBJS) \
$(libnas_esm_sap_OBJS) \
$(libnas_ies_OBJS) \
$(libnas_api_OBJS)
NAS_UE_COMPILED_OBJS = $(addprefix $(OUTDIR)/,$(libnas_OBJS))
# pull in dependency info for *existing* .o files
-include $(NAS_UE_COMPILED_OBJS:.o=.d)
CFLAGS = \
-g \
-Wall \
-DNAS_UE \
-DNAS_BUILT_IN_UE \
-Wuninitialized \
-Werror=implicit-function-declaration \
$(UENAS_CFLAGS) \
$(libnas_INCLUDES)
.SECONDEXPANSION:
$(NAS_UE_COMPILED_OBJS): %.o : $$(subst $(OUTDIR), $(UE_NAS_DIR), $$*.c)
@echo "Compiling $<"
@if [ ! -d $(dir $@) ]; then mkdir -p $(dir $@); fi;
@$(CC) -c $(CFLAGS) -o $@ $<
@$(CC) -MM $(CFLAGS) $< > $(basename $@).d
@mv -f $(basename $@).d $(basename $@).d.tmp
@sed -e 's|.*:|$@:|' < $(basename $@).d.tmp > $(basename $@).d
@sed -e 's/.*://' -e 's/\\$$//' < $(basename $@).d.tmp | fmt -1 | \
sed -e 's/^ *//' -e 's/$$/:/' >> $(basename $@).d
@rm -f $(basename $@).d.tmp
$(OUTDIR)/libuenas.a: $(NAS_UE_COMPILED_OBJS)
@echo Creating UE_NAS archive
@$(AR) rcs $@ $(addprefix $(OUTDIR)/,$(libnas_OBJS))
clean:
@$(RM_F_V) -r $(OUTDIR)/*.o
@$(RM_F_V) -r $(OUTDIR)/*.d
@$(RM_F_V) $(OUTDIR)/libuenas.a
cleanall:
@$(RM_F_V) -r $(OUTDIR)
showcflags:
@echo uenas cflags: $(CFLAGS)