################################################################################ # 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)