File: Makefile

package info (click to toggle)
rtpengine 13.5.1.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 13,676 kB
  • sloc: ansic: 86,764; perl: 59,422; python: 3,193; sh: 1,030; makefile: 693; asm: 211
file content (123 lines) | stat: -rw-r--r-- 3,468 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
TARGET=		rtpengine

export top_srcdir = ..

include ../lib/deps.Makefile

with_iptables_option ?= yes
with_transcoding ?= yes

ifeq ($(origin CFLAGS),undefined)
CFLAGS:=	-g -Wall -Wextra -Wno-sign-compare -Wno-unused-parameter -Wstrict-prototypes -Werror=return-type \
		-Wshadow
else
CFLAGS:=	$(CFLAGS)
endif
CFLAGS+=	-pthread
CFLAGS+=	-std=c11
CFLAGS+=	-I. -I../kernel-module/ -I../lib/ -I../include/
CFLAGS+=	-Iprivate
CFLAGS+=	-D_GNU_SOURCE
CFLAGS+=	$(CFLAGS_GLIB)
CFLAGS+=	$(CFLAGS_GTHREAD)
CFLAGS+=	$(CFLAGS_LIBZ)
CFLAGS+=	$(CFLAGS_OPENSSL)
CFLAGS+=	$(CFLAGS_LIBEVENT)
CFLAGS+=	$(CFLAGS_LIBPCRE)
CFLAGS+=	$(CFLAGS_LIBCURL)
CFLAGS+=	$(CFLAGS_JSON_GLIB)
CFLAGS+=	$(CFLAGS_LIBWEBSOCKETS)
CFLAGS+=	$(CFLAGS_LIBNFTNL)
CFLAGS+=	$(CFLAGS_LIBMNL)
ifeq ($(with_iptables_option),yes)
CFLAGS+=	$(CFLAGS_LIBIPTC)
CFLAGS+=	-DWITH_IPTABLES_OPTION
endif
ifeq ($(with_transcoding),yes)
CFLAGS+=	$(CFLAGS_LIBAVCODEC)
CFLAGS+=	$(CFLAGS_LIBAVFORMAT)
CFLAGS+=	$(CFLAGS_LIBAVUTIL)
CFLAGS+=	$(CFLAGS_LIBSWRESAMPLE)
CFLAGS+=	$(CFLAGS_LIBAVFILTER)
CFLAGS+=	$(CFLAGS_SPANDSP)
CFLAGS+=	$(CFLAGS_OPUS)
CFLAGS+=	-DWITH_TRANSCODING
CFLAGS+=	$(CFLAGS_MYSQL)
else
CFLAGS+=	-DWITHOUT_CODECLIB
endif
ifeq ($(without_nftables),yes)
CFLAGS+=	-DWITHOUT_NFTABLES
endif

### compile time options:
#CFLAGS+=	-DSRTCP_KEY_DERIVATION_RFC_COMPLIANCE
#CFLAGS+=	-DSTRICT_SDES_KEY_LIFETIME

LDLIBS:=	-lm -ldl
LDLIBS+=	$(LDLIBS_GLIB)
LDLIBS+=	$(LDLIBS_GTHREAD)
LDLIBS+=	$(LDLIBS_LIBZ)
LDLIBS+=	$(LDLIBS_LIBPCRE)
LDLIBS+=	$(LDLIBS_LIBCURL)
LDLIBS+=	$(LDLIBS_LIBCRYPTO)
LDLIBS+=	$(LDLIBS_OPENSSL)
LDLIBS+=	$(LDLIBS_LIBEVENT)
LDLIBS+=	$(LDLIBS_LIBPCAP)
LDLIBS+=	$(LDLIBS_LIBHIREDIS)
LDLIBS+=	$(LDLIBS_JSON_GLIB)
LDLIBS+=	$(LDLIBS_LIBWEBSOCKETS)
LDLIBS+=	$(LDLIBS_LIBNFTNL)
LDLIBS+=	$(LDLIBS_LIBMNL)
ifeq ($(with_iptables_option),yes)
LDLIBS+=	$(LDLIBS_LIBIPTC)
endif
ifeq ($(with_transcoding),yes)
LDLIBS+=	$(LDLIBS_LIBAVCODEC)
LDLIBS+=	$(LDLIBS_LIBAVFORMAT)
LDLIBS+=	$(LDLIBS_LIBAVUTIL)
LDLIBS+=	$(LDLIBS_LIBSWRESAMPLE)
LDLIBS+=	$(LDLIBS_LIBAVFILTER)
LDLIBS+=	$(LDLIBS_SPANDSP)
LDLIBS+=	$(LDLIBS_OPUS)
LDLIBS+=	$(LDLIBS_MYSQL)
endif

ifeq ($(with_transcoding),yes)
CFLAGS+=	$(CFLAGS_BCG729)
LDLIBS+=	$(LDLIBS_BCG729)

CFLAGS+=	$(CFLAGS_CODEC_CHAIN)
LDLIBS+=	$(LDLIBS_CODEC_CHAIN)
endif

CFLAGS+=	$(CFLAGS_MQTT)
LDLIBS+=	$(LDLIBS_MQTT)

SRCS=		main.c kernel.c helpers.c control_tcp.c call.c control_udp.c redis.c \
		cookie_cache.c udp_listener.c control_ng_flags_parser.c control_ng.strhash.c sdp.strhash.c stun.c rtcp.c \
		crypto.c rtp.c call_interfaces.strhash.c dtls.c log.c cli.strhash.c graphite.c ice.c \
		media_socket.c homer.c recording.c statistics.c cdr.c ssrc.c iptables.c tcp_listener.c \
		codec.c load.c dtmf.c timerthread.c media_player.c jitter_buffer.c t38.c websocket.c \
		mqtt.c janus.strhash.c audio_player.c arena.c ng_client.c
ifneq ($(without_nftables),yes)
SRCS+=		nftables.c
endif
LIBSRCS=	loglib.c auxlib.c rtplib.c str.c socket.c streambuf.c ssllib.c dtmflib.c mix_buffer.c poller.c \
		bufferpool.c bencode.c
ifeq ($(with_transcoding),yes)
LIBSRCS+=	codeclib.strhash.c resample.c
LIBASM=		mvr2s_x64_avx2.S mvr2s_x64_avx512.S mix_in_x64_avx2.S mix_in_x64_avx512bw.S mix_in_x64_sse2.S
endif
ifneq ($(have_liburing),yes)
LIBSRCS+=	uring.c
endif

MDS=		rtpengine.ronn
MANS=		$(MDS:.ronn=.8)

include ../lib/common.Makefile

install: $(TARGET) $(MANS)
	install -m 0755 -D $(TARGET) $(DESTDIR)/usr/bin/$(TARGET)
	install -m 0644 -D $(TARGET).8 $(DESTDIR)/usr/share/man/man8/$(TARGET).8