Newer
Older
# Copyright (C) 2010 Alfred E. Heggestad
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=baresip
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.creytiv.com/pub/
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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
baresip-mods:= \
alsa \
avcodec \
avformat \
cons \
evdev \
g711 \
g722 \
oss \
sdl \
speex \
stdio \
uuid \
v4l \
v4l2 \
PKG_CONFIG_DEPENDS:= \
$(patsubst %,CONFIG_PACKAGE_baresip-mod-%,$(baresip-mods)) \
include $(INCLUDE_DIR)/package.mk
define Package/baresip/Default
SECTION:=net
CATEGORY:=Network
SUBMENU:=Telephony
URL:=http://www.creytiv.com/
endef
define Package/baresip
$(call Package/baresip/Default)
TITLE:=Portable and modular SIP User-Agent with A/V support
DEPENDS:=+libre +librem +libpthread
endef
baresip-mod-alsa := USE_ALSA
baresip-mod-avcodec := USE_FFMPEG
baresip-mod-avformat := USE_FFMPEG_AVFORMAT
baresip-mod-cons := USE_CONS
baresip-mod-evdev := USE_EVDEV
baresip-mod-g711 := USE_G711
baresip-mod-g722 := USE_G722
baresip-mod-oss := USE_OSS
baresip-mod-sdl := USE_SDL
baresip-mod-speex := USE_SPEEX
baresip-mod-stdio := USE_STDIO
baresip-mod-uuid := USE_UUID
baresip-mod-v4l := USE_V4L
baresip-mod-v4l2 := USE_V4L2
BARESIP_MOD_OPTIONS:= \
MOD_AUTODETECT= \
$(foreach m,$(baresip-mods),$(baresip-mod-$(m))=$(if $(CONFIG_PACKAGE_baresip-mod-$(m)),1))
TARGET_CFLAGS += $(FPIC)
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) \
LIBRE_MK="$(STAGING_DIR)/usr/share/re/re.mk" \
LIBRE_INC="$(STAGING_DIR)/usr/include/re" \
LIBRE_SO="$(STAGING_DIR)/usr/lib" \
LIBREM_PATH="../rem" \
CC="$(TARGET_CC)" \
DESTDIR="$(PKG_INSTALL_DIR)" \
EXTRA_CFLAGS="$(TARGET_CFLAGS) -DOPENWRT" \
SYSROOT="$$$$($(FIND) $(TOOLCHAIN_DIR) -path '*/include/pthread.h' | sed -ne '1s#/include/pthread.h##p')" \
SYSROOT_ALT="$(STAGING_DIR)/usr" \
RELEASE=1 \
CROSS_COMPILE="$(TARGET_CROSS)" \
OS="linux" \
$(BARESIP_MOD_OPTIONS) \
all install
endef
define Package/baresip/install
$(INSTALL_DIR) $(1)/usr/bin
$(CP) $(PKG_INSTALL_DIR)/usr/bin/baresip $(1)/usr/bin/
$(INSTALL_DIR) $(1)/usr/lib/baresip/modules
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/baresip/modules/ice.so \
$(PKG_INSTALL_DIR)/usr/lib/baresip/modules/stun.so \
$(PKG_INSTALL_DIR)/usr/lib/baresip/modules/turn.so \
$(1)/usr/lib/baresip/modules/.
$(INSTALL_DIR) $(1)/usr/share/baresip
$(CP) $(PKG_INSTALL_DIR)/usr/share/baresip/* $(1)/usr/share/baresip/.
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/baresip.init $(1)/etc/init.d/baresip
endef
#
# 1. Name
# 2. Title
# 3. Files
# 4. Depends
#
define BuildPlugin
define Package/baresip-mod-$(1)
$$(call Package/baresip/Default)
TITLE:= baresip $(2) module
DEPENDS:= baresip $(4)
endef
define Package/baresip-mod-$(1)/install
[ -z "$(3)" ] || $(INSTALL_DIR) $$(1)/usr/lib/baresip/modules
for f in $(3); do \
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/baresip/modules/$$$$$$$${f}.so \
$$(1)/usr/lib/baresip/modules/ ; \
done
endef
$$(eval $$(call BuildPackage,baresip-mod-$(1)))
endef
$(eval $(call BuildPackage,baresip))
$(eval $(call BuildPlugin,alsa,ALSA audio driver,alsa,+PACKAGE_baresip-mod-alsa:alsa-lib))
$(eval $(call BuildPlugin,avcodec,FFmpeg video codecs,avcodec,+PACKAGE_baresip-mod-avcodec:libffmpeg-full))
$(eval $(call BuildPlugin,avformat,FFmpeg video source,avformat,+PACKAGE_baresip-mod-avformat:libffmpeg-full))
$(eval $(call BuildPlugin,cons,console UI,cons,))
$(eval $(call BuildPlugin,evdev,input event device UI,evdev,))
$(eval $(call BuildPlugin,g711,G.711 audio codec,g711,))
$(eval $(call BuildPlugin,g722,G.722 audio codec,g722,+PACKAGE_baresip-mod-g722:libspandsp))
$(eval $(call BuildPlugin,sdl,SDL video display,sdl,+libsdl))
$(eval $(call BuildPlugin,oss,OSS audio driver,oss,))
$(eval $(call BuildPlugin,speex,Speex audio codec,speex,+PACKAGE_baresip-mod-speex:libspeex))
$(eval $(call BuildPlugin,stdio,standard I/O UI,stdio,))
$(eval $(call BuildPlugin,uuid,UUID,uuid,+libuuid))
$(eval $(call BuildPlugin,v4l,Video4Linux video source,v4l,+PACKAGE_baresip-mod-v4l:libv4l))
$(eval $(call BuildPlugin,v4l2,Video4Linux2 video source,v4l2,+PACKAGE_baresip-mod-v4l2:libv4l))