blob: 2efebd8d47ad37e15fd45710c578f3f53203c9ad [file] [log] [blame]
Pau Espin Pedrold4c3dc82023-01-18 17:04:04 +01001# This is _NOT_ the library release version, it's an API version.
2# 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 Pedrolaca2c722023-09-12 13:15:53 +02004LIBVERSION=21:0:0
Pau Espin Pedrold4c3dc82023-01-18 17:04:04 +01005
Pau Espin Pedrol88955fb2023-01-18 18:54:00 +01006AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_builddir)
Daniel Willmannf91d2aa2023-01-04 18:20:55 +01007AM_CFLAGS = -Wall $(TALLOC_CFLAGS) $(PTHREAD_CFLAGS) $(LIBSCTP_CFLAGS) $(LIBMNL_CFLAGS) $(URING_CFLAGS)
Pau Espin Pedrold4c3dc82023-01-18 17:04:04 +01008
9if ENABLE_PSEUDOTALLOC
10AM_CPPFLAGS += -I$(top_srcdir)/src/pseudotalloc
11endif
12
13lib_LTLIBRARIES = libosmocore.la
14
Pau Espin Pedrol1162a242023-01-18 17:28:17 +010015libosmocore_la_LIBADD = \
16 $(BACKTRACE_LIB) \
17 $(TALLOC_LIBS) \
18 $(LIBRARY_RT) \
19 $(PTHREAD_LIBS) \
20 $(LIBSCTP_LIBS) \
Daniel Willmannf91d2aa2023-01-04 18:20:55 +010021 $(URING_LIBS) \
Pau Espin Pedrol1162a242023-01-18 17:28:17 +010022 $(NULL)
23
24libosmocore_la_SOURCES = \
25 application.c \
26 backtrace.c \
27 base64.c \
28 bits.c \
29 bitvec.c \
30 bitcomp.c \
31 context.c \
32 conv.c \
33 conv_acc.c \
34 conv_acc_generic.c \
35 counter.c \
36 crc16.c \
37 crc8gen.c \
38 crc16gen.c \
39 crc32gen.c \
40 crc64gen.c \
41 exec.c \
42 fsm.c \
43 gsmtap_util.c \
44 isdnhdlc.c \
45 it_q.c \
46 logging.c \
47 logging_syslog.c \
48 logging_gsmtap.c \
49 loggingrb.c \
50 macaddr.c \
51 msgb.c \
Pau Espin Pedrol9d0321d2023-01-24 17:33:06 +010052 netdev.c \
Pau Espin Pedrol8a5014b2023-01-19 16:54:47 +010053 netns.c \
Harald Welte8857f3b2022-11-18 13:54:44 +010054 osmo_io.c \
55 osmo_io_poll.c \
Pau Espin Pedrol1162a242023-01-18 17:28:17 +010056 panic.c \
57 prbs.c \
58 prim.c \
59 rate_ctr.c \
60 rbtree.c \
61 select.c \
62 sercomm.c \
63 signal.c \
64 sockaddr_str.c \
65 socket.c \
Harald Weltedc023cf2022-11-29 23:15:18 +010066 soft_uart.c \
Pau Espin Pedrol1162a242023-01-18 17:28:17 +010067 stat_item.c \
68 stats.c \
69 stats_statsd.c \
70 stats_tcp.c \
71 strrb.c \
72 tdef.c \
73 thread.c \
74 time_cc.c \
75 timer.c \
76 timer_gettimeofday.c \
77 timer_clockgettime.c \
Pau Espin Pedrol51e9dde2023-01-24 17:34:34 +010078 tun.c \
Pau Espin Pedrol1162a242023-01-18 17:28:17 +010079 use_count.c \
80 utils.c \
81 write_queue.c \
82 probes.d \
83 $(NULL)
Pau Espin Pedrold4c3dc82023-01-18 17:04:04 +010084
85if HAVE_SSSE3
86libosmocore_la_SOURCES += conv_acc_sse.c
87if HAVE_SSE4_1
88conv_acc_sse.lo : AM_CFLAGS += -mssse3 -msse4.1
89else
90conv_acc_sse.lo : AM_CFLAGS += -mssse3
91endif
92
93if HAVE_AVX2
94libosmocore_la_SOURCES += conv_acc_sse_avx.c
95if HAVE_SSE4_1
96conv_acc_sse_avx.lo : AM_CFLAGS += -mssse3 -mavx2 -msse4.1
97else
98conv_acc_sse_avx.lo : AM_CFLAGS += -mssse3 -mavx2
99endif
100endif
101endif
102
103if HAVE_NEON
104libosmocore_la_SOURCES += conv_acc_neon.c
105# conv_acc_neon.lo : AM_CFLAGS += -mfpu=neon no, could as well be vfp with neon
106endif
107
108BUILT_SOURCES = crc8gen.c crc16gen.c crc32gen.c crc64gen.c
109
110EXTRA_DIST = \
111 conv_acc_sse_impl.h \
112 conv_acc_neon_impl.h \
113 crcXXgen.c.tpl \
Harald Welte8857f3b2022-11-18 13:54:44 +0100114 osmo_io_internal.h \
Pau Espin Pedrold4c3dc82023-01-18 17:04:04 +0100115 stat_item_internal.h \
Daniel Willmann213fc422023-02-03 07:44:55 +0100116 libosmocore.map \
Pau Espin Pedrold4c3dc82023-01-18 17:04:04 +0100117 $(NULL)
118
Harald Weltec9527762023-03-05 20:07:01 +0100119EXTRA_libosmocore_la_DEPENDENCIES = libosmocore.map
120
Daniel Willmann213fc422023-02-03 07:44:55 +0100121libosmocore_la_LDFLAGS = \
122 $(LTLDFLAGS_OSMOCORE) \
123 -version-info \
124 $(LIBVERSION) \
125 -no-undefined
Pau Espin Pedrold4c3dc82023-01-18 17:04:04 +0100126
127if ENABLE_PLUGIN
128libosmocore_la_SOURCES += plugin.c
129libosmocore_la_LIBADD += $(LIBRARY_DLOPEN)
130endif
131
132if ENABLE_MSGFILE
133libosmocore_la_SOURCES += msgfile.c
134endif
135
136if ENABLE_SERIAL
137libosmocore_la_SOURCES += serial.c
138endif
139
140if ENABLE_SYSTEMD_LOGGING
141libosmocore_la_SOURCES += logging_systemd.c
142libosmocore_la_LIBADD += $(SYSTEMD_LIBS)
143endif
144
145if ENABLE_LIBMNL
146libosmocore_la_SOURCES += mnl.c
147libosmocore_la_LIBADD += $(LIBMNL_LIBS)
148endif
149
150if ENABLE_SYSTEMTAP
151probes.h: probes.d
152 $(DTRACE) -C -h -s $< -o $@
153
154probes.lo: probes.d
155 $(LIBTOOL) --mode=compile $(AM_V_lt) --tag=CC env CFLAGS="$(CFLAGS)" $(DTRACE) -C -G -s $< -o $@
156
157BUILT_SOURCES += probes.h probes.lo
158libosmocore_la_LIBADD += probes.lo
159endif
160
Daniel Willmannf91d2aa2023-01-04 18:20:55 +0100161if ENABLE_URING
162libosmocore_la_SOURCES += osmo_io_uring.c
163endif
164
Pau Espin Pedrold4c3dc82023-01-18 17:04:04 +0100165crc%gen.c: crcXXgen.c.tpl
166 $(AM_V_GEN)sed -e's/XX/$*/g' $< > $@