blob: 2d078f301978c057700f26e862047a49303d99a0 [file] [log] [blame]
Daniel Willmann29b9e002015-12-15 15:10:31 +01001SUBDIRS = hnbap rua ranap tests
2
Harald Weltea95d5a52016-01-03 16:22:16 +01003# Build {hnbap,rua,ranap}_{encoder,decoder}.c using asn1tostruct
Daniel Willmann29b9e002015-12-15 15:10:31 +01004ASN1_ROOT = $(top_builddir)/asn1/
5ASN1TOSTRUCT = $(ASN1_ROOT)/utils/asn1tostruct.py
Alexander Huemer156fa392016-05-15 04:24:54 +02006BUILT_SOURCES = hnbap_decoder.c hnbap_encoder.c rua_decoder.c rua_encoder.c gen_ranap.stamp
Neels Hofmeyrc51f7352015-12-22 12:21:16 +01007
Neels Hofmeyr0de6b942016-01-05 12:59:13 +01008hnbap_encoder.c hnbap_decoder.c hnbap_ies_defs.h: $(ASN1_ROOT)/hnbap/HNBAP-PDU-Contents.asn $(ASN1TOSTRUCT)
Daniel Willmann29b9e002015-12-15 15:10:31 +01009 $(ASN1TOSTRUCT) -f $<
10
Neels Hofmeyr0de6b942016-01-05 12:59:13 +010011rua_encoder.c rua_decoder.c rua_ies_defs.h: $(ASN1_ROOT)/rua/RUA-PDU-Contents.asn $(ASN1TOSTRUCT)
Daniel Willmann29b9e002015-12-15 15:10:31 +010012 $(ASN1TOSTRUCT) -p RUA_ -f $<
13
Alexander Huemer156fa392016-05-15 04:24:54 +020014gen_ranap.stamp: $(ASN1_ROOT)/ranap/RANAP-PDU-Contents.asn $(ASN1TOSTRUCT)
Daniel Willmann29b9e002015-12-15 15:10:31 +010015 $(ASN1TOSTRUCT) -p RANAP_ -f $<
Neels Hofmeyr96979af2016-01-05 15:19:44 +010016# We also need to replace the include in the newly generated .c files:
17 sed -i 's,^#include "ranap_ies_defs.h",#include <osmocom/ranap/ranap_ies_defs.h>,' ranap_encoder.c ranap_decoder.c
Daniel Willmann8fda3622016-01-06 14:18:51 +010018 sed -i 's,^#include "ranap_common.h",#include <osmocom/ranap/ranap_common.h>,' ranap_encoder.c ranap_decoder.c ranap_ies_defs.h
19 mv ranap_ies_defs.h $(top_srcdir)/include/osmocom/ranap/
20# this is ugly ^. ranap_ies_defs.h is generated from asn1tostruct.py here, but
21# it should live in include/osmocom/ranap/.
Alexander Huemer156fa392016-05-15 04:24:54 +020022 touch $(top_builddir)/$@
Harald Weltea95d5a52016-01-03 16:22:16 +010023
Neels Hofmeyrf6780362016-02-29 14:28:00 +010024AM_CFLAGS = -I$(top_srcdir)/include $(OSMOCORE_CFLAGS) $(OSMOVTY_CFLAGS) $(OSMOGSM_CFLAGS) $(OSMONETIF_CFLAGS) $(ASN1C_CFLAGS) $(OSMOSIGTRAN_CFLAGS)
Harald Weltea95d5a52016-01-03 16:22:16 +010025COMMON_LDADD = -lsctp
26
27# build the shared RANAP library
28#
29RANAP_LIBVERSION=0:0:0
30lib_LTLIBRARIES = libosmo-ranap.la
31libosmo_ranap_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(RANAP_LIBVERSION)
32libosmo_ranap_la_LIBADD = $(OSMOCORE_LIBS) $(OSMOGSM_LIBS) $(ASN1C_LIBS) $(COMMON_LDADD) ranap/libosmo-asn1-ranap.la
Harald Welte5c6bd512016-01-05 15:05:03 +010033libosmo_ranap_la_SOURCES = ranap_common.c ranap_encoder.c ranap_decoder.c ranap_msg_factory.c iu_helpers.c \
34 ranap_common_cn.c
Harald Weltea95d5a52016-01-03 16:22:16 +010035
Harald Weltea95d5a52016-01-03 16:22:16 +010036# build the actual HomeNodeB gateway
37#
38bin_PROGRAMS = osmo-hnbgw
39
40noinst_HEADERS = hnbap_common.h hnbap_ies_defs.h \
41 rua_common.h rua_ies_defs.h \
42 context_map.h hnbgw.h hnbgw_cn.h \
Neels Hofmeyr3da86082016-03-30 12:36:15 +020043 hnbgw_hnbap.h hnbgw_rua.h hnbgw_ranap.h
Harald Weltea95d5a52016-01-03 16:22:16 +010044
45osmo_hnbgw_SOURCES = hnbap_encoder.c hnbap_decoder.c hnbap_common.c \
46 rua_encoder.c rua_decoder.c rua_common.c \
Neels Hofmeyr3da86082016-03-30 12:36:15 +020047 rua_msg_factory.c \
Harald Weltea95d5a52016-01-03 16:22:16 +010048 hnbgw.c hnbgw_hnbap.c hnbgw_rua.c hnbgw_ranap.c \
49 context_map.c hnbgw_cn.c
50
51osmo_hnbgw_LDADD = $(OSMOCORE_LIBS) $(OSMOVTY_LIBS) $(OSMOGSM_LIBS) \
52 $(ASN1C_LIBS) $(OSMOSIGTRAN_LIBS) $(COMMON_LDADD) \
Daniel Willmann6480cad2016-01-06 18:06:26 +010053 $(OSMONETIF_LIBS) \
Harald Weltea95d5a52016-01-03 16:22:16 +010054 hnbap/libosmo-asn1-hnbap.a rua/libosmo-asn1-rua.a \
55 libosmo-ranap.la
Neels Hofmeyr5aabad12016-01-04 15:23:09 +010056
57
58regen: regenerate-from-asn1-source
59
60regenerate-from-asn1-source:
Neels Hofmeyrfef2e862016-07-11 21:26:19 +020061 $(MAKE) -C hnbap regen
62 $(MAKE) -C ranap regen
63 $(MAKE) -C rua regen