blob: 2c73af66d55810df2906bc0a5c001a9e7641c8f6 [file] [log] [blame]
Harald Welte3cae0392010-02-20 21:09:24 +01001# This is _NOT_ the library release version, it's an API version.
Max4e72ee02016-12-13 18:41:17 +01002# Please read chapter "Library interface versions" of the libtool documentation
3# before making any modifications: https://www.gnu.org/software/libtool/manual/html_node/Versioning.html
Pau Espin Pedrola1584d22022-06-28 17:00:51 +02004LIBVERSION=19:0:0
Harald Welte3cae0392010-02-20 21:09:24 +01005
Jan Engelhardt9ffeb972013-06-03 01:59:25 +02006AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include
Harald Welte53a2fde2020-12-01 22:21:14 +01007AM_CFLAGS = -Wall $(TALLOC_CFLAGS) $(PTHREAD_CFLAGS) $(LIBSCTP_CFLAGS) $(LIBMNL_CFLAGS)
Harald Welte3cae0392010-02-20 21:09:24 +01008
Harald Welte898ffef2017-05-15 21:37:34 +02009if ENABLE_PSEUDOTALLOC
10AM_CPPFLAGS += -I$(top_srcdir)/src/pseudotalloc
11endif
12
Harald Welte3cae0392010-02-20 21:09:24 +010013lib_LTLIBRARIES = libosmocore.la
14
Pau Espin Pedrol3f464fc2019-10-10 17:38:35 +020015libosmocore_la_LIBADD = $(BACKTRACE_LIB) $(TALLOC_LIBS) $(LIBRARY_RT) $(PTHREAD_LIBS) $(LIBSCTP_LIBS)
Harald Welte2d906112019-03-18 17:17:43 +010016libosmocore_la_SOURCES = context.c timer.c timer_gettimeofday.c timer_clockgettime.c \
Pau Espin Pedrol87fade82018-02-26 19:42:22 +010017 select.c signal.c msgb.c bits.c \
Harald Welte216338c2017-10-15 19:46:19 +020018 bitvec.c bitcomp.c counter.c fsm.c \
Harald Welte33cb71a2011-05-21 18:54:32 +020019 write_queue.c utils.c socket.c \
Harald Welteaa00f992016-12-02 15:30:02 +010020 logging.c logging_syslog.c logging_gsmtap.c rate_ctr.c \
Pablo Neira Ayusofba495e2011-03-23 18:08:08 +010021 gsmtap_util.c crc16.c panic.c backtrace.c \
Katerina Barone-Adesi3309a432013-02-21 05:16:29 +000022 conv.c application.c rbtree.c strrb.c \
Harald Welte40d56f92014-08-18 19:03:40 +020023 loggingrb.c crc8gen.c crc16gen.c crc32gen.c crc64gen.c \
Tom Tsou35536802016-11-24 19:24:32 +070024 macaddr.c stat_item.c stats.c stats_statsd.c prim.c \
Philipp Maierb1ef8f52021-12-06 16:31:02 +010025 stats_tcp.c \
Harald Welte9da77ab2018-05-11 17:39:21 +020026 conv_acc.c conv_acc_generic.c sercomm.c prbs.c \
Neels Hofmeyr0fd615f2019-01-26 20:36:12 +010027 isdnhdlc.c \
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +010028 tdef.c \
Pau Espin Pedrol88e40582021-02-17 17:46:02 +010029 thread.c \
Neels Hofmeyr25c97412021-11-13 23:19:33 +010030 time_cc.c \
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +010031 sockaddr_str.c \
Neels Hofmeyr0e8df1c2019-02-11 20:32:25 +010032 use_count.c \
Harald Weltec6a86972019-12-16 23:14:45 +010033 exec.c \
Harald Weltee4cd2672019-08-06 19:56:16 +020034 it_q.c \
Harald Welte433005c2020-09-26 11:51:32 +020035 probes.d \
Harald Welte292f9e72021-09-17 08:35:32 +020036 base64.c \
Neels Hofmeyr0c7826e2019-02-25 02:45:06 +010037 $(NULL)
Harald Welteb9ce51c2010-06-30 19:43:11 +020038
Harald Welteb93f60f2017-11-17 11:41:34 +010039if HAVE_SSSE3
Vadim Yanitskiye4fe71c2017-06-19 17:59:48 +070040libosmocore_la_SOURCES += conv_acc_sse.c
Vadim Yanitskiy0d49f472017-05-28 18:20:02 +070041if HAVE_SSE4_1
Harald Welteb93f60f2017-11-17 11:41:34 +010042conv_acc_sse.lo : AM_CFLAGS += -mssse3 -msse4.1
Vadim Yanitskiy0d49f472017-05-28 18:20:02 +070043else
Harald Welteb93f60f2017-11-17 11:41:34 +010044conv_acc_sse.lo : AM_CFLAGS += -mssse3
Vadim Yanitskiy0d49f472017-05-28 18:20:02 +070045endif
46
47if HAVE_AVX2
Vadim Yanitskiye4fe71c2017-06-19 17:59:48 +070048libosmocore_la_SOURCES += conv_acc_sse_avx.c
Vadim Yanitskiy0d49f472017-05-28 18:20:02 +070049if HAVE_SSE4_1
Harald Welteb93f60f2017-11-17 11:41:34 +010050conv_acc_sse_avx.lo : AM_CFLAGS += -mssse3 -mavx2 -msse4.1
Vadim Yanitskiy0d49f472017-05-28 18:20:02 +070051else
Harald Welteb93f60f2017-11-17 11:41:34 +010052conv_acc_sse_avx.lo : AM_CFLAGS += -mssse3 -mavx2
Vadim Yanitskiy0d49f472017-05-28 18:20:02 +070053endif
54endif
Tom Tsou34e228a2017-04-29 00:16:43 +070055endif
56
Eric3afc1d12020-07-23 02:16:46 +020057if HAVE_NEON
58libosmocore_la_SOURCES += conv_acc_neon.c
59# conv_acc_neon.lo : AM_CFLAGS += -mfpu=neon no, could as well be vfp with neon
60endif
61
Diego Elio Pettenòa1ed2f02012-06-29 13:01:21 -070062BUILT_SOURCES = crc8gen.c crc16gen.c crc32gen.c crc64gen.c
Neels Hofmeyre90c7172021-09-14 14:37:38 +020063
64EXTRA_DIST = \
65 conv_acc_sse_impl.h \
66 conv_acc_neon_impl.h \
67 crcXXgen.c.tpl \
68 stat_item_internal.h \
69 $(NULL)
Diego Elio Pettenòa1ed2f02012-06-29 13:01:21 -070070
Maxba1059c2017-10-30 13:19:58 +010071libosmocore_la_LDFLAGS = -version-info $(LIBVERSION) -no-undefined
72
Harald Welteb9ce51c2010-06-30 19:43:11 +020073if ENABLE_PLUGIN
74libosmocore_la_SOURCES += plugin.c
Pau Espin Pedrolcacaa4a2018-05-04 19:21:58 +020075libosmocore_la_LIBADD += $(LIBRARY_DLOPEN)
Harald Weltecbb29f72010-03-07 20:24:30 +010076endif
Holger Hans Peter Freytherc87f2662010-10-07 00:00:15 +080077
78if ENABLE_MSGFILE
79libosmocore_la_SOURCES += msgfile.c
80endif
Sylvain Munautfe28ded2011-09-02 22:18:24 +020081
82if ENABLE_SERIAL
83libosmocore_la_SOURCES += serial.c
84endif
Sylvain Munaut2749c0b2011-09-16 22:59:18 +020085
Vadim Yanitskiye7bf4352020-09-09 03:36:48 +070086if ENABLE_SYSTEMD_LOGGING
87libosmocore_la_SOURCES += logging_systemd.c
88libosmocore_la_LIBADD += $(SYSTEMD_LIBS)
89endif
90
Harald Welte53a2fde2020-12-01 22:21:14 +010091if ENABLE_LIBMNL
92libosmocore_la_SOURCES += mnl.c
93libosmocore_la_LIBADD += $(LIBMNL_LIBS)
94endif
95
Harald Welte433005c2020-09-26 11:51:32 +020096if ENABLE_SYSTEMTAP
97probes.h: probes.d
98 $(DTRACE) -C -h -s $< -o $@
99
100probes.lo: probes.d
101 $(LIBTOOL) --mode=compile $(AM_V_lt) --tag=CC env CFLAGS="$(CFLAGS)" $(DTRACE) -C -G -s $< -o $@
102
103BUILT_SOURCES += probes.h probes.lo
104libosmocore_la_LIBADD += probes.lo
105endif
106
Sylvain Munaut2749c0b2011-09-16 22:59:18 +0200107crc%gen.c: crcXXgen.c.tpl
Diego Elio Pettenòf5df9ab2012-06-29 13:01:20 -0700108 $(AM_V_GEN)sed -e's/XX/$*/g' $< > $@