actually build + link the asn1c generated HNBAP ASN.1
diff --git a/src/Makefile b/src/Makefile
index 9bff932..0e0f568 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -5,7 +5,7 @@
 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 @@
 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
diff --git a/src/asn1c/Makefile.local b/src/asn1c/Makefile.local
new file mode 100644
index 0000000..72554a2
--- /dev/null
+++ b/src/asn1c/Makefile.local
@@ -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
+