actually build + link the asn1c generated HNBAP ASN.1

This commit is contained in:
Harald Welte 2015-08-30 23:04:23 +02:00
parent 27f9c4ab4b
commit 4d42551466
2 changed files with 324 additions and 2 deletions

View File

@ -5,7 +5,7 @@ ASN1_FILES=HNBAP-CommonDataTypes.asn
ASN1TOSTRUCT:=$(ASN1_ROOT)/utils/asn1tostruct.py
#ASN1_SRCS:=$(patsubst
CFLAGS=-g -Wall `pkg-config --cflags libosmocore libosmovty libosmogsm` -I$(ASN1_DIR)/asn1c/
CFLAGS=-g -Wall `pkg-config --cflags libosmocore libosmovty libosmogsm` -Iasn1c/
LDFLAGS=`pkg-config --libs libosmocore libosmovty libosmogsm` -lsctp
all: hnbgw
@ -14,7 +14,7 @@ all: hnbgw
hnbap_encoder.c: $(ASN1_DIR)/HNBAP-PDU-Contents.asn
$(ASN1TOSTRUCT) -f $<
hnbgw: asn1helpers.o hnbap_common.o hnbap_encoder.o hnbap_decoder.o hnbgw.o hnbgw_hnbap.o
hnbgw: asn1helpers.o hnbap_common.o hnbap_encoder.o hnbap_decoder.o hnbgw.o hnbgw_hnbap.o asn1c/libosmo-asn1-hnbap.a
$(CC) $(LDFLAGS) -o $@ $^
%.o: %.c

322
src/asn1c/Makefile.local Normal file
View File

@ -0,0 +1,322 @@
ASN_MODULE_SOURCES= \
Criticality.c \
Presence.c \
PrivateIE-ID.c \
ProcedureCode.c \
ProtocolIE-ID.c \
TriggeringMessage.c \
IE-Extensions.c \
Access-stratum-release-indicator.c \
AccessResult.c \
AltitudeAndDirection.c \
BackoffTimer.c \
BindingID.c \
Cause.c \
CauseRadioNetwork.c \
CauseTransport.c \
CauseProtocol.c \
CauseMisc.c \
CellIdentity.c \
CELL-FACHMobilitySupport.c \
Context-ID.c \
CriticalityDiagnostics.c \
CriticalityDiagnostics-IE-List.c \
CSG-ID.c \
CSG-Capability.c \
CSGMembershipStatus.c \
CGI.c \
CI.c \
CN-DomainIndicator.c \
ESN.c \
GeographicalLocation.c \
GeographicalCoordinates.c \
GTP-TEI.c \
HNBCapacity.c \
HNB-Cell-Access-Mode.c \
HNB-Cell-Identifier.c \
HNB-GWResponse.c \
HNB-RNL-Identity.c \
HNBConfigInfo.c \
ConfigurationInformation.c \
HNBConfigurationInformationProvided.c \
HNBConfigurationInformationMissing.c \
HNB-Location-Information.c \
HNB-Identity.c \
HNB-Identity-Info.c \
IMEI.c \
IMSI.c \
IMSIDS41.c \
IMSIESN.c \
IP-Address.c \
Ipv4Address.c \
Ipv6Address.c \
Iurh-Signalling-TNL-AddressList.c \
LAC.c \
LAI.c \
MacroCoverageInformation.c \
MacroCellID.c \
MuxPortNumber.c \
NeighbourCellIdentityList.c \
NeighbourIdentity.c \
NeighbourInfoList.c \
AdditionalNeighbourInfoList.c \
NeighbourInfoRequestList.c \
NeighbourInfoRequestItem.c \
PLMNidentity.c \
PSC.c \
PTMSI.c \
PTMSIRAI.c \
RAB-ID.c \
RABList.c \
RABListItem.c \
RAC.c \
RAI.c \
Registration-Cause.c \
RNC-ID.c \
SAC.c \
S-RNTIPrefix.c \
TMSILAI.c \
TMSIDS41.c \
TransportInfo.c \
TransportLayerAddress.c \
Tunnel-Information.c \
TypeOfError.c \
UDP-Port-Number.c \
UE-Capabilities.c \
UTRANCellID.c \
UE-Identity.c \
Update-cause.c \
URAIdentityList.c \
URAIdentity.c \
U-RNTI.c \
UnknownU-RNTIIndication.c \
HNBAP-PDU.c \
InitiatingMessage.c \
SuccessfulOutcome.c \
UnsuccessfulOutcome.c \
HNBRegisterRequest.c \
HNBRegisterAccept.c \
HNBRegisterReject.c \
UERegisterRequest.c \
UERegisterAccept.c \
UERegisterReject.c \
UEDe-Register.c \
HNBDe-Register.c \
ErrorIndication.c \
CSGMembershipUpdate.c \
TNLUpdateRequest.c \
TNLUpdateResponse.c \
TNLUpdateFailure.c \
HNBConfigTransferRequest.c \
HNBConfigTransferResponse.c \
RelocationComplete.c \
U-RNTIQueryRequest.c \
U-RNTIQueryResponse.c \
PrivateMessage.c \
IE.c
ASN_MODULE_HEADERS= \
Criticality.h \
Presence.h \
PrivateIE-ID.h \
ProcedureCode.h \
ProtocolIE-ID.h \
TriggeringMessage.h \
IE-Extensions.h \
Access-stratum-release-indicator.h \
AccessResult.h \
AltitudeAndDirection.h \
BackoffTimer.h \
BindingID.h \
Cause.h \
CauseRadioNetwork.h \
CauseTransport.h \
CauseProtocol.h \
CauseMisc.h \
CellIdentity.h \
CELL-FACHMobilitySupport.h \
Context-ID.h \
CriticalityDiagnostics.h \
CriticalityDiagnostics-IE-List.h \
CSG-ID.h \
CSG-Capability.h \
CSGMembershipStatus.h \
CGI.h \
CI.h \
CN-DomainIndicator.h \
ESN.h \
GeographicalLocation.h \
GeographicalCoordinates.h \
GTP-TEI.h \
HNBCapacity.h \
HNB-Cell-Access-Mode.h \
HNB-Cell-Identifier.h \
HNB-GWResponse.h \
HNB-RNL-Identity.h \
HNBConfigInfo.h \
ConfigurationInformation.h \
HNBConfigurationInformationProvided.h \
HNBConfigurationInformationMissing.h \
HNB-Location-Information.h \
HNB-Identity.h \
HNB-Identity-Info.h \
IMEI.h \
IMSI.h \
IMSIDS41.h \
IMSIESN.h \
IP-Address.h \
Ipv4Address.h \
Ipv6Address.h \
Iurh-Signalling-TNL-AddressList.h \
LAC.h \
LAI.h \
MacroCoverageInformation.h \
MacroCellID.h \
MuxPortNumber.h \
NeighbourCellIdentityList.h \
NeighbourIdentity.h \
NeighbourInfoList.h \
AdditionalNeighbourInfoList.h \
NeighbourInfoRequestList.h \
NeighbourInfoRequestItem.h \
PLMNidentity.h \
PSC.h \
PTMSI.h \
PTMSIRAI.h \
RAB-ID.h \
RABList.h \
RABListItem.h \
RAC.h \
RAI.h \
Registration-Cause.h \
RNC-ID.h \
SAC.h \
S-RNTIPrefix.h \
TMSILAI.h \
TMSIDS41.h \
TransportInfo.h \
TransportLayerAddress.h \
Tunnel-Information.h \
TypeOfError.h \
UDP-Port-Number.h \
UE-Capabilities.h \
UTRANCellID.h \
UE-Identity.h \
Update-cause.h \
URAIdentityList.h \
URAIdentity.h \
U-RNTI.h \
UnknownU-RNTIIndication.h \
HNBAP-PDU.h \
InitiatingMessage.h \
SuccessfulOutcome.h \
UnsuccessfulOutcome.h \
HNBRegisterRequest.h \
HNBRegisterAccept.h \
HNBRegisterReject.h \
UERegisterRequest.h \
UERegisterAccept.h \
UERegisterReject.h \
UEDe-Register.h \
HNBDe-Register.h \
ErrorIndication.h \
CSGMembershipUpdate.h \
TNLUpdateRequest.h \
TNLUpdateResponse.h \
TNLUpdateFailure.h \
HNBConfigTransferRequest.h \
HNBConfigTransferResponse.h \
RelocationComplete.h \
U-RNTIQueryRequest.h \
U-RNTIQueryResponse.h \
PrivateMessage.h \
IE.h
ASN_MODULE_HEADERS+=ANY.h
ASN_MODULE_SOURCES+=ANY.c
ASN_MODULE_HEADERS+=INTEGER.h
ASN_MODULE_HEADERS+=NativeEnumerated.h
ASN_MODULE_SOURCES+=INTEGER.c
ASN_MODULE_SOURCES+=NativeEnumerated.c
ASN_MODULE_HEADERS+=NativeInteger.h
ASN_MODULE_SOURCES+=NativeInteger.c
ASN_MODULE_HEADERS+=OBJECT_IDENTIFIER.h
ASN_MODULE_SOURCES+=OBJECT_IDENTIFIER.c
ASN_MODULE_HEADERS+=asn_SEQUENCE_OF.h
ASN_MODULE_SOURCES+=asn_SEQUENCE_OF.c
ASN_MODULE_HEADERS+=asn_SET_OF.h
ASN_MODULE_SOURCES+=asn_SET_OF.c
ASN_MODULE_HEADERS+=constr_CHOICE.h
ASN_MODULE_SOURCES+=constr_CHOICE.c
ASN_MODULE_HEADERS+=constr_SEQUENCE.h
ASN_MODULE_SOURCES+=constr_SEQUENCE.c
ASN_MODULE_HEADERS+=constr_SEQUENCE_OF.h
ASN_MODULE_SOURCES+=constr_SEQUENCE_OF.c
ASN_MODULE_HEADERS+=constr_SET_OF.h
ASN_MODULE_SOURCES+=constr_SET_OF.c
ASN_MODULE_HEADERS+=asn_application.h
ASN_MODULE_HEADERS+=asn_system.h
ASN_MODULE_HEADERS+=asn_codecs.h
ASN_MODULE_HEADERS+=asn_internal.h
ASN_MODULE_HEADERS+=OCTET_STRING.h
ASN_MODULE_SOURCES+=OCTET_STRING.c
ASN_MODULE_HEADERS+=BIT_STRING.h
ASN_MODULE_SOURCES+=BIT_STRING.c
ASN_MODULE_SOURCES+=asn_codecs_prim.c
ASN_MODULE_HEADERS+=asn_codecs_prim.h
ASN_MODULE_HEADERS+=ber_tlv_length.h
ASN_MODULE_SOURCES+=ber_tlv_length.c
ASN_MODULE_HEADERS+=ber_tlv_tag.h
ASN_MODULE_SOURCES+=ber_tlv_tag.c
ASN_MODULE_HEADERS+=ber_decoder.h
ASN_MODULE_SOURCES+=ber_decoder.c
ASN_MODULE_HEADERS+=der_encoder.h
ASN_MODULE_SOURCES+=der_encoder.c
ASN_MODULE_HEADERS+=constr_TYPE.h
ASN_MODULE_SOURCES+=constr_TYPE.c
ASN_MODULE_HEADERS+=constraints.h
ASN_MODULE_SOURCES+=constraints.c
ASN_MODULE_HEADERS+=xer_support.h
ASN_MODULE_SOURCES+=xer_support.c
ASN_MODULE_HEADERS+=xer_decoder.h
ASN_MODULE_SOURCES+=xer_decoder.c
ASN_MODULE_HEADERS+=xer_encoder.h
ASN_MODULE_SOURCES+=xer_encoder.c
ASN_MODULE_HEADERS+=per_support.h
ASN_MODULE_SOURCES+=per_support.c
ASN_MODULE_HEADERS+=per_decoder.h
ASN_MODULE_SOURCES+=per_decoder.c
ASN_MODULE_HEADERS+=per_encoder.h
ASN_MODULE_SOURCES+=per_encoder.c
ASN_MODULE_HEADERS+=per_opentype.h
ASN_MODULE_SOURCES+=per_opentype.c
lib_LTLIBRARIES=libsomething.la
libsomething_la_SOURCES=$(ASN_MODULE_SOURCES) $(ASN_MODULE_HEADERS)
# This file may be used as an input for make(3)
# Remove the lines below to convert it into a pure .am file
CFLAGS += -I.
OBJS=${ASN_MODULE_SOURCES:.c=.o}
all: libosmo-asn1-hnbap.a
libosmo-asn1-hnbap.a: ${OBJS}
$(AR) r $@ $^
.SUFFIXES:
.SUFFIXES: .c .o
.c.o:
$(CC) $(CFLAGS) -o $@ -c $<
clean:
rm -f libosmo-asn1-hnbap.a
rm -f $(OBJS)
regen: regenerate-from-asn1-source
regenerate-from-asn1-source:
asn1c -gen-PER -fnative-types -fskeletons-copy ../../asn1/hnbap/HNBAP-CommonDataTypes.asn ../../asn1/hnbap/HNBAP-Constants.asn ../../asn1/hnbap/HNBAP-IEs.asn ../../asn1/hnbap/HNBAP-PDU.asn