blob: e942a49cc8cb2bcb40d40a881c154bd3ce9be933 [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
4LIBVERSION=19:0:0
5
Pau Espin Pedrol88955fb2023-01-18 18:54:00 +01006AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_builddir)
Pau Espin Pedrold4c3dc82023-01-18 17:04:04 +01007AM_CFLAGS = -Wall $(TALLOC_CFLAGS) $(PTHREAD_CFLAGS) $(LIBSCTP_CFLAGS) $(LIBMNL_CFLAGS)
8
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) \
21 $(NULL)
22
23libosmocore_la_SOURCES = \
24 application.c \
25 backtrace.c \
26 base64.c \
27 bits.c \
28 bitvec.c \
29 bitcomp.c \
30 context.c \
31 conv.c \
32 conv_acc.c \
33 conv_acc_generic.c \
34 counter.c \
35 crc16.c \
36 crc8gen.c \
37 crc16gen.c \
38 crc32gen.c \
39 crc64gen.c \
40 exec.c \
41 fsm.c \
42 gsmtap_util.c \
43 isdnhdlc.c \
44 it_q.c \
45 logging.c \
46 logging_syslog.c \
47 logging_gsmtap.c \
48 loggingrb.c \
49 macaddr.c \
50 msgb.c \
Pau Espin Pedrol9d0321d2023-01-24 17:33:06 +010051 netdev.c \
Pau Espin Pedrol8a5014b2023-01-19 16:54:47 +010052 netns.c \
Pau Espin Pedrol1162a242023-01-18 17:28:17 +010053 panic.c \
54 prbs.c \
55 prim.c \
56 rate_ctr.c \
57 rbtree.c \
58 select.c \
59 sercomm.c \
60 signal.c \
61 sockaddr_str.c \
62 socket.c \
63 stat_item.c \
64 stats.c \
65 stats_statsd.c \
66 stats_tcp.c \
67 strrb.c \
68 tdef.c \
69 thread.c \
70 time_cc.c \
71 timer.c \
72 timer_gettimeofday.c \
73 timer_clockgettime.c \
Pau Espin Pedrol51e9dde2023-01-24 17:34:34 +010074 tun.c \
Pau Espin Pedrol1162a242023-01-18 17:28:17 +010075 use_count.c \
76 utils.c \
77 write_queue.c \
78 probes.d \
79 $(NULL)
Pau Espin Pedrold4c3dc82023-01-18 17:04:04 +010080
81if HAVE_SSSE3
82libosmocore_la_SOURCES += conv_acc_sse.c
83if HAVE_SSE4_1
84conv_acc_sse.lo : AM_CFLAGS += -mssse3 -msse4.1
85else
86conv_acc_sse.lo : AM_CFLAGS += -mssse3
87endif
88
89if HAVE_AVX2
90libosmocore_la_SOURCES += conv_acc_sse_avx.c
91if HAVE_SSE4_1
92conv_acc_sse_avx.lo : AM_CFLAGS += -mssse3 -mavx2 -msse4.1
93else
94conv_acc_sse_avx.lo : AM_CFLAGS += -mssse3 -mavx2
95endif
96endif
97endif
98
99if HAVE_NEON
100libosmocore_la_SOURCES += conv_acc_neon.c
101# conv_acc_neon.lo : AM_CFLAGS += -mfpu=neon no, could as well be vfp with neon
102endif
103
104BUILT_SOURCES = crc8gen.c crc16gen.c crc32gen.c crc64gen.c
105
106EXTRA_DIST = \
107 conv_acc_sse_impl.h \
108 conv_acc_neon_impl.h \
109 crcXXgen.c.tpl \
110 stat_item_internal.h \
111 $(NULL)
112
113libosmocore_la_LDFLAGS = -version-info $(LIBVERSION) -no-undefined
114
115if ENABLE_PLUGIN
116libosmocore_la_SOURCES += plugin.c
117libosmocore_la_LIBADD += $(LIBRARY_DLOPEN)
118endif
119
120if ENABLE_MSGFILE
121libosmocore_la_SOURCES += msgfile.c
122endif
123
124if ENABLE_SERIAL
125libosmocore_la_SOURCES += serial.c
126endif
127
128if ENABLE_SYSTEMD_LOGGING
129libosmocore_la_SOURCES += logging_systemd.c
130libosmocore_la_LIBADD += $(SYSTEMD_LIBS)
131endif
132
133if ENABLE_LIBMNL
134libosmocore_la_SOURCES += mnl.c
135libosmocore_la_LIBADD += $(LIBMNL_LIBS)
136endif
137
138if ENABLE_SYSTEMTAP
139probes.h: probes.d
140 $(DTRACE) -C -h -s $< -o $@
141
142probes.lo: probes.d
143 $(LIBTOOL) --mode=compile $(AM_V_lt) --tag=CC env CFLAGS="$(CFLAGS)" $(DTRACE) -C -G -s $< -o $@
144
145BUILT_SOURCES += probes.h probes.lo
146libosmocore_la_LIBADD += probes.lo
147endif
148
149crc%gen.c: crcXXgen.c.tpl
150 $(AM_V_GEN)sed -e's/XX/$*/g' $< > $@