2 # Copyright (C) 2009-2013 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
14 PKG_DISTNAME
:=$(PKG_NAME
)_
$(PKG_SOURCE_PROTO
)
15 PKG_VERSION
:=1.5.final
19 # The latest FS git hash in PKG_SOURCE_VERSION can be obtained from
20 # http://fisheye.freeswitch.org
22 FS_WITH_DEFAULT_HEAD
:=bff9aab850a911e27b316b016c62f91f657719cd
23 PKG_SOURCE_URL
:=https
://$(PKG_NAME
).org
/stash
/scm
/fs
/$(PKG_NAME
).git
24 PKG_SOURCE_VERSION
:=$(if
$(CONFIG_FS_WITH_LATEST_HEAD
),$(shell git ls-remote
$(PKG_SOURCE_URL
) HEAD|cut
-f1
),$(FS_WITH_DEFAULT_HEAD
))
25 FS_WITH_DEFAULT_HEAD_SHORT
:=$(shell echo
$(FS_WITH_DEFAULT_HEAD
)|cut
-b
-7)
26 PKG_SOURCE_VERSION_SHORT
:=$(shell echo
$(PKG_SOURCE_VERSION
)|cut
-b
-7)
27 PKG_RELEASE
:=$(PKG_SOURCE_VERSION_SHORT
)
28 PKG_SOURCE_SUBDIR
:=$(PKG_DISTNAME
)
29 PKG_SOURCE
:=$(PKG_SOURCE_SUBDIR
)-$(if
$(CONFIG_FS_WITH_LOCAL_SOURCE
),$(FS_WITH_DEFAULT_HEAD_SHORT
).
tar.xz
,$(PKG_SOURCE_VERSION_SHORT
).
tar.bz2
)
30 PKG_BUILD_DIR
:=$(BUILD_DIR
)/$(PKG_NAME
)-$(PKG_VERSION
)
33 PATCH_DIR
=.
/patches
/$(CONFIG_LIBC
)
40 PKG_LICENSE_FILES
:=COPYING
42 ifeq ($(CONFIG_DEVEL
),y
)
48 FS_WITH_MYSQL
:libmysqlclient \
49 FS_WITH_POSTGRESQL
:libpq \
50 FS_WITH_SQLITE3
:libsqlite3 \
51 FS_WITH_APR_SCTP
:sctp \
54 TAR_OPTIONS
+= --strip-components
=1 -C
$(PKG_BUILD_DIR
)
176 spidermonkey-core-db \
179 spidermonkey-socket \
180 spidermonkey-teletone \
204 PKG_CONFIG_DEPENDS
:= \
205 CONFIG_FS_WITH_ALSA \
206 CONFIG_FS_WITH_APR_CONFIG_SWITCHES \
207 CONFIG_FS_WITH_APR_IPV6 \
208 CONFIG_FS_WITH_APR_SCTP \
209 CONFIG_FS_WITH_APR_THREADS \
210 CONFIG_FS_WITH_BUILTIN_ZRTP \
211 CONFIG_FS_WITH_DEFAULT_HEAD \
212 CONFIG_FS_WITH_ERLANG \
214 CONFIG_FS_WITH_FIXED_POINT \
215 CONFIG_FS_WITH_LATEST_HEAD \
216 CONFIG_FS_WITH_LOCAL_SOURCE \
217 CONFIG_FS_WITH_LZMA \
218 CONFIG_FS_WITH_MYSQL \
219 CONFIG_FS_WITH_ODBC \
221 CONFIG_FS_WITH_OPENSSL \
222 CONFIG_FS_WITH_OPENWRT_SOURCE \
224 CONFIG_FS_WITH_POSTGRESQL \
225 CONFIG_FS_WITH_PYTHON \
226 CONFIG_FS_WITH_SILENT_RULES \
227 CONFIG_FS_WITH_SQLITE3 \
228 CONFIG_FS_WITH_SRTP \
229 CONFIG_FS_WITH_SRTP_GENERIC_AESICM \
230 CONFIG_FS_WITH_SRTP_KERNEL_LINUX \
231 CONFIG_FS_WITH_SRTP_OPENSSL \
232 CONFIG_FS_WITH_STUN \
233 CONFIG_FS_WITH_VISIBILITY \
234 $(patsubst %,CONFIG_PACKAGE_
$(PKG_NAME
)-mod-
%,$(FS_MOD_AVAILABLE
)) \
237 include $(INCLUDE_DIR
)/package.mk
238 include $(INCLUDE_DIR
)/nls.mk
241 ifneq ($(CONFIG_CCACHE
),)
242 TARGET_CC
=$(TARGET_CC_NOCACHE
)
243 TARGET_CXX
=$(TARGET_CXX_NOCACHE
)
247 ifneq ($(CONFIG_CCACHE
),)
248 TARGET_CC
=$(TARGET_CC_NOCACHE
)
249 TARGET_CXX
=$(TARGET_CXX_NOCACHE
)
253 define Package
/$(PKG_NAME
)/Default
257 URL
:=http
://www.
$(PKG_NAME
).org
/
258 MAINTAINER
:=Mazi Lo
<openwrt.mazilo@recursor.net
>
262 define Package
/$(PKG_NAME
)
263 $(call Package
/$(PKG_NAME
)/Default
)
265 TITLE
:=FreeSWITCH open source telephony platform
($(PKG_SOURCE_VERSION_SHORT
))
266 DEPENDS
:=+FS_WITH_OPENSSL
:libopenssl
+libcurl
+libdb47
+libfreetype
+libgdbm
$(ICONV_DEPENDS
) $(INTL_DEPENDS
) +libjpeg
+libncurses
+libopenldap
+libpcre
+libpng
+libpthread
+librt
+libspeex
+libspeexdsp
+FS_WITH_SQLITE3
:libsqlite3
+FS_WITH_SRTP
:libsrtp
+SSP_SUPPORT
:libssp
+libstdcpp
+libuuid
+PACKAGE_
$(PKG_NAME
)-mod-perl
:perl
+libvpx
270 define Package
/$(PKG_NAME
)/description
271 FreeSWITCH is an open source telephony platform designed to
272 facilitate the creation of voice and chat driven products
273 scaling from a soft-phone up to a soft-switch.
277 define Package
/$(PKG_NAME
)/config
278 source
"$(SOURCE)/Config.in"
282 define Package
/$(PKG_NAME
)-mod-spandsp
/config
283 config FS_WITH_FIXED_POINT
284 depends on PACKAGE_
$(PKG_NAME
)-mod-spandsp
285 bool
"Enable fixed point support for spandsp (may degrade performance)"
288 Compile spandsp package with a fixed point support. ONLY enabled this
289 option when necessary
, i.e. CPU doesn
't support floating computation.
293 define Package/$(PKG_NAME)-example-config
294 $(call Package/$(PKG_NAME)/Default)
295 TITLE:=FreeSWITCH example config (commented)
296 DEPENDS:= $(PKG_NAME)
300 define Package/$(PKG_NAME)-example-config/description
301 The default configuration included with FreeSWITCH. It is not intended to be
302 a final product, and is thus moved to /usr/share/$(PKG_NAME)/examples/conf to
303 be an example of how FreeSWITCH can be configured.
307 define Package/$(PKG_NAME)-config-upstream-defaults
308 $(call Package/$(PKG_NAME)/Default)
309 TITLE:=FreeSWITCH upstream config
310 DEPENDS:= $(PKG_NAME)
314 define Package/$(PKG_NAME)-config-upstream-defaults/description
315 The default configuration included with FreeSWITCH. It is not intended to be
316 a final product, and but is included for those who don't want to use the
317 OpenWRT configuration and
/or want to try things
as prepared by upstream.
321 define Package
/$(PKG_NAME
)-config-minimal
322 $(call Package
/$(PKG_NAME
)/Default
)
323 TITLE
:=FreeSWITCH minimal config
324 DEPENDS
:= $(PKG_NAME
)
328 define Package
/$(PKG_NAME
)-config-minimal
/description
329 A minimal configuration of FreeSWITCH for OpenWRT devices. Is what the UCI
330 configuration began with.
334 define Package
/$(PKG_NAME
)-collection-upstream-defaults
335 $(call Package
/$(PKG_NAME
)/Default
)
336 TITLE
:=FS upstream def sample conf
337 DEPENDS
:= $(PKG_NAME
) \
338 +$(PKG_NAME
)-config-upstream-defaults \
339 +$(PKG_NAME
)-mod-callcenter \
340 +$(PKG_NAME
)-mod-codec2 \
341 +$(PKG_NAME
)-mod-commands \
342 +$(PKG_NAME
)-mod-conference \
343 +$(PKG_NAME
)-mod-curl \
344 +$(PKG_NAME
)-mod-dialplan-xml \
345 +$(PKG_NAME
)-mod-dingaling \
346 +$(PKG_NAME
)-mod-dptools \
347 +$(PKG_NAME
)-mod-event-socket \
348 +$(PKG_NAME
)-mod-g723-1 \
349 +$(PKG_NAME
)-mod-g729 \
350 +$(PKG_NAME
)-mod-hash \
351 +$(PKG_NAME
)-mod-http-cache \
352 +$(PKG_NAME
)-mod-ilbc \
353 +$(PKG_NAME
)-mod-local-stream \
354 +$(PKG_NAME
)-mod-lua \
355 +$(PKG_NAME
)-mod-native-file \
356 +$(PKG_NAME
)-mod-say-en \
357 +$(PKG_NAME
)-mod-sndfile \
358 +$(PKG_NAME
)-mod-sofia \
359 +$(PKG_NAME
)-mod-syslog \
360 +$(PKG_NAME
)-mod-tone-stream \
361 +$(PKG_NAME
)-mod-xml-curl \
362 +$(PKG_NAME
)-mod-xml-rpc \
367 define Package
/$(PKG_NAME
)-collection-minimal
368 $(call Package
/$(PKG_NAME
)/Default
)
369 TITLE
:=FreeSWITCH minimal package collection
371 DEPENDS
:= $(PKG_NAME
) \
372 +$(PKG_NAME
)-config-minimal \
373 +$(PKG_NAME
)-mod-codec2 \
374 +$(PKG_NAME
)-mod-commands \
375 +$(PKG_NAME
)-mod-dialplan-xml \
376 +$(PKG_NAME
)-mod-dptools \
377 +$(PKG_NAME
)-mod-event-socket \
378 +$(PKG_NAME
)-mod-hash \
379 +$(PKG_NAME
)-mod-local-stream \
380 +$(PKG_NAME
)-mod-sndfile \
381 +$(PKG_NAME
)-mod-sofia \
382 +$(PKG_NAME
)-mod-syslog \
383 +$(PKG_NAME
)-mod-tone-stream \
388 define Package
/$(PKG_NAME
)-sounds-en-08KHz
389 $(call Package
/$(PKG_NAME
)/Default
)
390 TITLE
:=FreeSWITCH
8KHz english sounds
391 DEPENDS
:= $(PKG_NAME
)
395 define Package
/$(PKG_NAME
)-sounds-en-16KHz
396 $(call Package
/$(PKG_NAME
)/Default
)
397 TITLE
:=FreeSWITCH
16KHz english sounds
398 DEPENDS
:= +$(PKG_NAME
)-sounds-en-08KHz
402 define Package
/$(PKG_NAME
)-sounds-en-32KHz
403 $(call Package
/$(PKG_NAME
)/Default
)
404 TITLE
:=FreeSWITCH
32KHz english sounds
405 DEPENDS
:= +$(PKG_NAME
)-sounds-en-16KHz
409 define Package
/$(PKG_NAME
)-sounds-en-48KHz
410 $(call Package
/$(PKG_NAME
)/Default
)
411 TITLE
:=FreeSWITCH
48KHz english sounds
412 DEPENDS
:= +$(PKG_NAME
)-sounds-en-32KHz
416 define Package
/$(PKG_NAME
)-sounds-moh-08KHz
417 $(call Package
/$(PKG_NAME
)/Default
)
418 TITLE
:=FreeSWITCH
8KHz music-on-hold sounds
419 DEPENDS
:= $(PKG_NAME
)
423 define Package
/$(PKG_NAME
)-sounds-moh-16KHz
424 $(call Package
/$(PKG_NAME
)/Default
)
425 TITLE
:=FreeSWITCH
16KHz music-on-hold sounds
426 DEPENDS
:= +$(PKG_NAME
)-sounds-moh-08KHz
430 define Package
/$(PKG_NAME
)-sounds-moh-32KHz
431 $(call Package
/$(PKG_NAME
)/Default
)
432 TITLE
:=FreeSWITCH
32KHz music-on-hold sounds
433 DEPENDS
:= +$(PKG_NAME
)-sounds-moh-16KHz
437 define Package
/$(PKG_NAME
)-sounds-moh-48KHz
438 $(call Package
/$(PKG_NAME
)/Default
)
439 TITLE
:=FreeSWITCH
48KHz music-on-hold sounds
440 DEPENDS
:= +$(PKG_NAME
)-sounds-moh-32KHz
444 define Package
/$(PKG_NAME
)-tools
445 $(call Package
/$(PKG_NAME
)/Default
)
446 TITLE
:=FreeSWITCH control tools
447 DEPENDS
:= $(PKG_NAME
)
451 define Download
/files
454 URL
:=$(if
$(4),$(4),http
://files.
$(PKG_NAME
).org
)/$(5)
458 $(LN
) $(DL_DIR
)/$(2) $(PKG_BUILD_DIR
)/$(6)
460 $$(eval
$$(call Download
,$(1)))
464 MAKE_INSTALL_TARGETS
:=install
467 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-curl
),)
468 $(eval
$(call Download
/files
,json-cdr
,json-c-0.9.
tar.gz
,4653b3b9c568bb9c782178abfaac128d
,,downloads
/libs
/,libs
/))
472 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-event-zmq
),)
473 $(eval
$(call Download
/files
,event-zmq
,zeromq-2.1
.9.
tar.gz
,94c5e0262a79c5f82bc0b178c1f8a33d
,http
://download.zeromq.org http
://download.zeromq.org
/historic
,,libs
/))
477 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-mongo
),)
478 $(eval
$(call Download
/files
,mongo
,mongo-c-driver-0.92
.2.
tar.gz
,afab25a33abd3f1e0ba79c5a9da92651
,,downloads
/libs
/,libs
/))
482 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-en-08KHz
),)
483 $(eval
$(call Download
/files
,sounds-en-08KHz
,$(PKG_NAME
)-sounds-en-us-callie-8000-1.0
.50.
tar.gz
,14cccba7b5c56f027fea391f1e0ee2d6
,,,))
484 MAKE_INSTALL_TARGETS
+= sounds-install
488 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-en-16KHz
),)
489 $(eval
$(call Download
/files
,sounds-en-16KHz
,$(PKG_NAME
)-sounds-en-us-callie-16000-1.0
.50.
tar.gz
,261f42e310baa97cc4dcfdc51971aff8
,,,))
490 MAKE_INSTALL_TARGETS
+= hd-sounds-install
494 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-en-32KHz
),)
495 $(eval
$(call Download
/files
,sounds-en-32KHz
,$(PKG_NAME
)-sounds-en-us-callie-32000-1.0
.50.
tar.gz
,f204512fadc49a3267ff4a5e899b77a5
,,,))
496 MAKE_INSTALL_TARGETS
+= uhd-sounds-install
500 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-en-48KHz
),)
501 $(eval
$(call Download
/files
,sounds-en-48KHz
,$(PKG_NAME
)-sounds-en-us-callie-48000-1.0
.50.
tar.gz
,8622a77a5d6dcf5e47bdf30d6a33e27c
,,,))
502 MAKE_INSTALL_TARGETS
+= cd-sounds-install
506 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-moh-08KHz
),)
507 $(eval
$(call Download
/files
,sounds-moh-08KHz
,$(PKG_NAME
)-sounds-music-8000-1.0
.50.
tar.gz
,c1f62dc26360f39f8eb442d5efd0a3aa
,,,))
508 MAKE_INSTALL_TARGETS
+= moh-install
512 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-moh-16KHz
),)
513 $(eval
$(call Download
/files
,sounds-moh-16KHz
,$(PKG_NAME
)-sounds-music-16000-1.0
.50.
tar.gz
,d253e26baa85e0e2e727a1cb1cca898e
,,,))
514 MAKE_INSTALL_TARGETS
+= hd-moh-install
518 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-moh-32KHz
),)
519 $(eval
$(call Download
/files
,sounds-moh-32KHz
,$(PKG_NAME
)-sounds-music-32000-1.0
.50.
tar.gz
,0e3ee69cb4ba2813ed0d3f7811332b63
,,,))
520 MAKE_INSTALL_TARGETS
+= uhd-moh-install
524 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-moh-48KHz
),)
525 $(eval
$(call Download
/files
,sounds-moh-48KHz
,$(PKG_NAME
)-sounds-music-48000-1.0
.50.
tar.gz
,873a62df1ab3be4191eb2488156ec2c2
,,,))
526 MAKE_INSTALL_TARGETS
+= cd-moh-install
531 # XXX: -fgnu89-inline is not supported on all compiler versions, so only enable it on avr32 where it solves build issues
533 ifneq ($(CONFIG_avr32
),)
534 TARGET_CFLAGS
+= -fgnu89-inline
535 TARGET_CXXFLAGS
+= -fgnu89-inline
539 ifneq ($(CONFIG_USE_EGLIBC
),)
540 ifeq ($(CONFIG_EGLIBC_OPTION_EGLIBC_UTMP
),)
541 TARGET_CFLAGS
+= -DNO_GETLOGIN
546 ifeq ($(CONFIG_LIBC
),musl
)
547 TARGET_CFLAGS
+= -D_GNU_SOURCE
549 #FS_TARGET_CFLAGS:= $(TARGET_CFLAGS) -DLUA_USE_LINUX $(FPIC) -std=gnu99 -Wno-format -Wno-unused-variable -Wno-unused-but-set-variable -Wno-implicit-function-declaration
550 #FS_TARGET_CXXFLAGS:= $(TARGET_CXXFLAGS)
551 #FS_TARGET_CPPFLAGS:= -I. -I./lua $(TARGET_CPPFLAGS) $(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-json-cdr),-Wno-error) -I`ls -d $(PKG_BUILD_DIR)/libs/*|grep tiff`/libtiff -I$(PKG_BUILD_DIR)/libs/spandsp/src
555 # OPT_FLAGS+="$(TARGET_CFLAGS)"
559 # AR="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ar" \
560 # CC="$(TOOLCHAIN_DIR)/bin/$(TARGET_CC)" \
561 # CXX="$(TOOLCHAIN_DIR)/bin/$(TARGET_CXX)" \
562 # RANLIB="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ranlib" \
563 # CC_FOR_BUILD="$(HOSTCC)" \
567 --host
=$(GNU_TARGET_NAME
) \
568 --build
=$(GNU_HOST_NAME
) \
569 --prefix="/usr/share/$(PKG_NAME)" \
570 --bindir="/usr/bin" \
571 --libdir="/usr/lib" \
572 --srcdir="$(PKG_BUILD_DIR)" \
573 --sysconfdir
="/etc" \
574 --with-modinstdir
="/usr/lib/$(PKG_NAME)" \
575 --with-random
="/dev/urandom" \
576 --disable-core-libedit-support \
577 $(call autoconf_bool
,CONFIG_FS_WITH_BUILTIN_ZRTP
,zrtp
) \
578 $(call autoconf_bool
,CONFIG_FS_WITH_FHS
,fhs
) \
579 $(call autoconf_bool
,CONFIG_FS_WITH_APR_IPV6
,ipv6
) \
580 $(call autoconf_bool
,CONFIG_FS_WITH_LZMA
,lzma
) \
581 $(call autoconf_bool
,CONFIG_FS_WITH_ODBC
,core-odbc-support
) \
582 $(call autoconf_bool
,CONFIG_FS_WITH_OPT
,optimization
) \
583 $(call autoconf_bool
,CONFIG_FS_WITH_POSTGRESQL
,core-pgsql-pkgconfig
) \
584 $(call autoconf_bool
,CONFIG_FS_WITH_POSTGRESQL
,core-pgsql-support
) \
585 $(call autoconf_bool
,CONFIG_FS_WITH_SILENT_RULES
,silent-rules
) \
586 $(call autoconf_bool
,CONFIG_FS_WITH_SRTP
,srtp
) \
587 $(call autoconf_bool
,CONFIG_FS_WITH_SRTP_GENERIC_AESICM
,generic-aesicm
) \
588 $(call autoconf_bool
,CONFIG_FS_WITH_SRTP_KERNEL_LINUX
,kernel-linux
) \
589 $(call autoconf_bool
,CONFIG_FS_WITH_SRTP_OPENSSL
,openssl
) \
590 $(call autoconf_bool
,CONFIG_FS_WITH_STUN
,stun
) \
591 $(call autoconf_bool
,CONFIG_FS_WITH_APR_THREADS
,threads
) \
592 $(call autoconf_bool
,CONFIG_FS_WITH_VISIBILITY
,visibility
) \
593 $(call autoconf_bool
,CONFIG_PACKAGE_
$(PKG_NAME
)-mod-spandsp
&& CONFIG_FS_WITH_FIXED_POINT
,fixed-point
) \
594 $(call autoconf_bool
,CONFIG_PACKAGE_
$(PKG_NAME
)-mod-spandsp
,builtin-tiff
) \
595 $(call autoconf_bool
,CONFIG_PACKAGE_
$(PKG_NAME
)-mod-timerfd
,timerfd-wrapper
) \
596 $(if
$(CONFIG_FS_WITH_ODBC
),--with-odbc-lib
="$(STAGING_DIR)/usr/lib") \
597 $(if
$(CONFIG_FS_WITH_ODBC
),--with-odbc
="$(STAGING_DIR)/usr") \
598 $(if
$(CONFIG_FS_WITH_OGG
),--with-ogg
="$(STAGING_DIR)/usr") \
599 $(if
$(CONFIG_FS_WITH_OPENSSL
),--with-openssl
="pkg-config") \
600 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-erlang-event
),--with-erlang
="$(CONFIG_FS_WITH_ERLANG)",--without-erlang
) \
601 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-java
),--with-java
="$(STAGING_DIR)/usr",--without-java
) \
602 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-python
),--with-python
="$(CONFIG_FS_WITH_PYTHON)",--without-python
) \
603 $(if
($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-curl
)|
$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-xml-cdr
)|
$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-xml-curl
)),--with-libcurl
="$(STAGING_DIR)/usr",--without-libcurl
) \
604 --with
$(if
$(CONFIG_FS_WITH_MYSQL
),,out
)-mysql \
605 --with
$(if
$(CONFIG_FS_WITH_POSTGRESQL
),,out
)-pgsql \
606 --with
$(if
$(CONFIG_FS_WITH_SQLITE3
),,out
)-sqlite3 \
609 ifeq ($(CONFIG_TARGET_ARCH_PACKAGES
),"kirkwood")
610 CONFIGURE_ARGS
+= --enable-arm5e-asm \
615 #ifeq ($(CONFIG_LIBC),"uClibc")
616 ifeq ($(CONFIG_ARCH
),"mips")
618 ac_cv_file_dbd_apr_dbd_mysql_c
="no" \
625 # config_TARGET_CC="$(TOOLCHAIN_DIR)/bin/$(TARGET_CC)" \
626 # config_TARGET_CXX="$(TOOLCHAIN_DIR)/bin/$(TARGET_CXX)" \
627 # config_TARGET_CFLAGS="$(FS_TARGET_CPPFLAGS) $(FS_TARGET_CFLAGS)" \
628 # config_TARGET_CXXFLAGS="$(FS_TARGET_CPPFLAGS) $(FS_TARGET_CXXFLAGS)" \
629 # config_TARGET_CPPFLAGS="$(FS_TARGET_CPPFLAGS)" \
630 # config_TARGET_READLINE_INC="$(FS_TARGET_CPPFLAGS)" \
631 # config_TARGET_READLINE_LIBS="-lreadline -lncurses" \
632 # config_TARGET_LIBS="-lpthread -ldl" \
633 # config_BUILD_CC="$(HOSTCC)" \
634 # CC_FOR_BUILD="$(HOSTCC)" \
635 # BUILDTOOL_CC="$(HOSTCC)" \
636 # BUILDTOOL_CCLD="$(HOSTCC)" \
637 # CC="$(TOOLCHAIN_DIR)/bin/$(TARGET_CC)" \
638 # CXX="$(TOOLCHAIN_DIR)/bin/$(TARGET_CXX)" \
639 # AR="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ar" \
640 # RANLIB="$(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)ranlib" \
641 # CFLAGS="$(FS_TARGET_CPPFLAGS) $(FS_TARGET_CFLAGS)" \
642 # CXXFLAGS="$(FS_TARGET_CPPFLAGS) $(FS_TARGET_CXXFLAGS)" \
643 # CPPFLAGS="$(FS_TARGET_CPPFLAGS)" \
644 # LDFLAGS="-L$(STAGING_DIR)/usr/lib/perl5/$(PERL_VERSION)/CORE -Wl,-rpath-link=\"$(STAGING_DIR)/usr/lib\" -Wl,-rpath-link=\"$(STAGING_DIR)/usr/lib$(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-perl),/perl5/$(PERL_VERSION)/CORE)\" -Wl,-rpath,/usr/lib -Wl,-rpath,/usr/lib$(if $(CONFIG_PACKAGE_$(PKG_NAME)-mod-perl),/perl5/$(PERL_VERSION)/CORE -lperl -lpthread -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc)" \
645 # HOST_CC="/usr/bin/cc" \
646 # HOST_CXX="/usr/bin/g++" \
647 # CROSS_COMPILE="1" \
648 # $(if $(CONFIG_FS_WITH_APR_SCTP),ac_cv_header_netinet_sctp_h="yes") \
649 # ac_cv_file_dbd_apr_dbd_mysql_c="no" \
653 $(call Build
/Prepare
/Default
)
654 $(call Prepare
/event-zmq
)
655 $(call Prepare
/json-cdr
)
656 $(call Prepare
/mongo
)
657 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-en-08KHz
),$(call Prepare
/sounds-en-08KHz
))
658 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-en-16KHz
),$(call Prepare
/sounds-en-16KHz
))
659 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-en-32KHz
),$(call Prepare
/sounds-en-32KHz
))
660 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-en-48KHz
),$(call Prepare
/sounds-en-48KHz
))
661 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-moh-08KHz
),$(call Prepare
/sounds-moh-08KHz
))
662 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-moh-16KHz
),$(call Prepare
/sounds-moh-16KHz
))
663 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-moh-32KHz
),$(call Prepare
/sounds-moh-32KHz
))
664 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-sounds-moh-48KHz
),$(call Prepare
/sounds-moh-48KHz
))
665 ifeq ($(CONFIG_FS_WITH_LOCAL_SOURCE
),y
)
666 (cd
$(PKG_BUILD_DIR
); $(if
$(CONFIG_FS_WITH_LATEST_HEAD
),if
$(QUILT_CMD
) top
> /dev
/null
2>&1 && [ -f
$(PKG_BUILD_DIR
)/patches
/series
]; then
$(QUILT_CMD
) pop
-a
; fi
; git pull
;) if
$(QUILT_CMD
) next
> /dev
/null
2>&1; then
$(QUILT_CMD
) push
-a
; fi
)
668 (cd
$(PKG_BUILD_DIR
); $(AM_TOOL_PATHS
) .
/bootstrap.sh
)
672 define Build
/Configure
673 $(foreach m
,$(FS_MOD_AVAILABLE
),
674 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-
$(m
)),
675 $(SED
) 's|^[ #]*\([^#]*/mod_$(subst -,_,$(m))\)$$$$|\1|g' $(PKG_BUILD_DIR
)/modules.conf
677 $(SED
) 's|^\([^#]*/mod_$(subst -,_,$(m))\)$$$$|#\1|g' $(PKG_BUILD_DIR
)/modules.conf
680 $(call Build
/Configure
/Default
)
685 $(call Build
/Compile
/Default
, \
686 DESTDIR
="$(PKG_INSTALL_DIR)" \
687 all $(MAKE_INSTALL_TARGETS
) \
689 $(SED
) 's|^\([ \t]*\)\(.*\)"mod_console"\(.*\)$$$$|\1<!-- \2"mod_console"\3 -->|' $(PKG_INSTALL_DIR
)/etc
/$(PKG_NAME
)/autoload_configs
/modules.conf.xml
690 $(SED
) 's|^\([ \t]*\)<!-- *\(.*\)"mod_syslog"\(.*\) *-->\(.*\)$$$$|\1\2"mod_syslog"\3\4|' $(PKG_INSTALL_DIR
)/etc
/$(PKG_NAME
)/autoload_configs
/modules.conf.xml
694 define Package
/$(PKG_NAME
)/install
695 $(INSTALL_DIR
) $(1)/etc
/config
696 $(INSTALL_DIR
) $(1)/etc
/default
697 $(INSTALL_DIR
) $(1)/etc
/$(PKG_NAME
)
698 $(INSTALL_DIR
) $(1)/etc
/$(PKG_NAME
)/scripts
699 $(INSTALL_DIR
) $(1)/etc
/hotplug.d
/iface
700 $(INSTALL_DIR
) $(1)/etc
/init.d
701 $(INSTALL_DIR
) $(1)/usr
/bin
702 $(INSTALL_DIR
) $(1)/usr
/lib
703 $(INSTALL_DIR
) $(1)/usr
/lib
/pkgconfig
704 $(INSTALL_BIN
) .
/files
/$(PKG_NAME
).init
$(1)/etc
/init.d
/$(PKG_NAME
)
705 $(INSTALL_DATA
) .
/files
/$(PKG_NAME
).config
$(1)/etc
/config
/$(PKG_NAME
)
706 $(INSTALL_DATA
) .
/files
/$(PKG_NAME
).default
$(1)/etc
/default
/$(PKG_NAME
)
707 $(INSTALL_DATA
) .
/files
/$(PKG_NAME
).hotplug
$(1)/etc
/hotplug.d
/iface
/90-$(PKG_NAME
)
708 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/$(PKG_NAME
) $(1)/usr
/bin
/
709 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/lib
$(PKG_NAME
)* $(1)/usr
/lib
/
710 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/pkgconfig
/$(PKG_NAME
).
pc $(1)/usr
/lib
/pkgconfig
/
711 $(if
$(1)/usr
/lib
/lib
$(PKG_NAME
).la
,$(STAGING_DIR_HOST
)/bin
/sed
-i
-re
's|$(STAGING_DIR)||g;s|$(TOOLCHAIN_DIR)||g;s|$(TARGET_CROSS)|usr|g;s|$(REAL_GNU_TARGET_NAME)|usr|g;s|-L$(PKG_BUILD_DIR)(.*)libzrtp ||g;:a;s|((-[IL]/\S+\s).*)\2|\1|;ta' $(1)/usr
/lib
/lib
$(PKG_NAME
).la
)
715 define Package
/$(PKG_NAME
)-collection-upstream-defaults
/install
716 $(INSTALL_DIR
) $(1)/etc
/$(PKG_NAME
)
720 define Package
/$(PKG_NAME
)-example-config
/install
721 $(INSTALL_DIR
) $(1)/usr
/share
/$(PKG_NAME
)/examples
/conf
722 $(CP
) $(PKG_INSTALL_DIR
)/etc
/$(PKG_NAME
)/* $(1)/usr
/share
/$(PKG_NAME
)/examples
/conf
/
726 define Package
/$(PKG_NAME
)-config-upstream-defaults
/install
727 $(INSTALL_DIR
) $(1)/etc
/$(PKG_NAME
)
728 $(CP
) $(PKG_INSTALL_DIR
)/etc
/$(PKG_NAME
) $(1)/etc
732 define Package
/$(PKG_NAME
)-collection-minimal
/install
733 $(INSTALL_DIR
) $(1)/etc
/$(PKG_NAME
)
737 define Package
/$(PKG_NAME
)-collection-uci-minimal
/install
738 $(INSTALL_DIR
) $(1)/etc
/$(PKG_NAME
)
742 define Package
/$(PKG_NAME
)-config-minimal
/install
743 $(INSTALL_DIR
) $(1)/etc
/$(PKG_NAME
)/autoload_configs
746 # Copying dialplan directory jingle_profiles sip_profiles $(PKG_NAME).xml
747 # fur_elise.ttml mime.types tetris.ttml tones.conf vars.xml
749 $(foreach f
,dialplan directory jingle_profiles sip_profiles
$(PKG_NAME
).xml fur_elise.ttml mime.types tetris.ttml vars.xml
,$(if
$(PKG_BUILD_DIR
)/conf
/vanilla
/$(f
),$(CP
) $(PKG_BUILD_DIR
)/conf
/vanilla
/$(f
) $(1)/etc
/$(PKG_NAME
);))
752 # Copying acl ivr modules post_load_modules switch timezones
754 $(foreach f
,acl ivr modules post_load_modules switch timezones
,$(if
$(PKG_BUILD_DIR
)/conf
/vanilla
/autoload_configs
/$(f
).conf.xml
,$(CP
) $(PKG_BUILD_DIR
)/conf
/vanilla
/autoload_configs
/$(f
).conf.xml
$(1)/etc
/$(PKG_NAME
)/autoload_configs
;))
758 define Package
/$(PKG_NAME
)-sounds-en-08KHz
/install
762 for
dir in
`(cd $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/en/us/callie;ls)`; \
764 [ -d
$(1)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/8000 ] ||
$(INSTALL_DIR
) $(1)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/8000; \
765 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/8000/* $(1)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/8000; \
770 define Package
/$(PKG_NAME
)-sounds-en-16KHz
/install
774 for
dir in
`(cd $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/en/us/callie;ls)`; \
776 [ -d
$(1)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/16000 ] ||
$(INSTALL_DIR
) $(1)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/16000; \
777 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/16000/* $(1)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/16000; \
782 define Package
/$(PKG_NAME
)-sounds-en-32KHz
/install
786 for
dir in
`(cd $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/en/us/callie;ls)`; \
788 [ -d
$(1)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/32000 ] ||
$(INSTALL_DIR
) $(1)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/32000; \
789 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/32000/* $(1)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/32000; \
794 define Package
/$(PKG_NAME
)-sounds-en-48KHz
/install
798 for
dir in
`(cd $(PKG_INSTALL_DIR)/usr/share/$(PKG_NAME)/sounds/en/us/callie;ls)`; \
800 [ -d
$(1)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/48000 ] ||
$(INSTALL_DIR
) $(1)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/48000; \
801 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/48000/* $(1)/usr
/share
/$(PKG_NAME
)/sounds
/en
/us
/callie
/$$$${dir}/48000; \
806 define Package
/$(PKG_NAME
)-sounds-moh-08KHz
/install
810 [ -d
$(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
/8000 ] ||
$(INSTALL_DIR
) $(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
/8000;
811 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/$(PKG_NAME
)/sounds
/music
/8000 $(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
;
815 define Package
/$(PKG_NAME
)-sounds-moh-16KHz
/install
819 [ -d
$(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
/16000 ] ||
$(INSTALL_DIR
) $(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
/16000;
820 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/$(PKG_NAME
)/sounds
/music
/16000 $(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
;
824 define Package
/$(PKG_NAME
)-sounds-moh-32KHz
/install
828 [ -d
$(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
/32000 ] ||
$(INSTALL_DIR
) $(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
/32000;
829 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/$(PKG_NAME
)/sounds
/music
/32000 $(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
;
833 define Package
/$(PKG_NAME
)-sounds-moh-48KHz
/install
837 [ -d
$(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
/48000 ] ||
$(INSTALL_DIR
) $(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
/48000;
838 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/$(PKG_NAME
)/sounds
/music
/48000 $(1)/usr
/share
/$(PKG_NAME
)/sounds
/music
;
842 define Package
/$(PKG_NAME
)-tools
/install
843 $(INSTALL_DIR
) $(1)/usr
/bin
844 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/fs_cli
$(1)/usr
/bin
/
845 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/fs_encode
$(1)/usr
/bin
/
846 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/fs_ivrd
$(1)/usr
/bin
/
847 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/fsxs
$(1)/usr
/bin
/
848 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/gentls_cert
$(1)/usr
/bin
/
849 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/tone2wav
$(1)/usr
/bin
/
850 $(STAGING_DIR_HOST
)/bin
/sed
-i
-re
's|$(ICONV_LDFLAGS)||g;s|$(INTL_LDFLAGS)||g;s|$(PKG_BUILD_DIR)|/usr|g;s|$(STAGING_DIR)||g;s|$(STAGING_DIR_HOST)|/usr|g;s|$(TOOLCHAIN_DIR)||g;s|$(TARGET_CROSS)|usr|g;s|$(REAL_GNU_TARGET_NAME)|usr|g;:a;s|((-[IL]/\S+\s).*)[ ,\n]\1|\1|;ta' $(1)/usr
/bin
/fsxs
856 # 3. Selection on module configuration file
857 # 4. Files (module files include different names)
858 # 5. Files (supporting files include different names)
859 # 6. Inter module depends
863 define Package
/$(PKG_NAME
)-mod-
$(1)
864 $$(call Package
/$(PKG_NAME
)/Default
)
865 TITLE
:= FS
$(2) module
866 DEPENDS
:= $(PKG_NAME
) $(foreach m
,$(6),+$(PKG_NAME
)-mod-
$(m
)) $(7)
869 define Package
/$(PKG_NAME
)-mod-
$(1)/install
870 [ -z
"mod_$(subst -,_,$(1))" ] ||
$(INSTALL_DIR
) $$(1)/usr
/lib
/$(PKG_NAME
)
872 for f in
$$$$(realpath
$$$$(wildcard $(PKG_INSTALL_DIR
)/usr
/lib
/$(PKG_NAME
)/mod_
$(subst -,_
,$(1)).
*)) $$$$(wildcard $(PKG_INSTALL_DIR
)/usr
/lib
/$(PKG_NAME
)/$(4)_
*); \
874 $(CP
) $$$$$$$${f} $$(1)/usr
/lib
/$(PKG_NAME
)/; \
878 # mod_$(subst -,_,$(1)): $(5)
880 $(foreach f
,$(5),[ -d
$(dir $$(1)/usr
/${f}) ] ||
$(INSTALL_DIR
) $(dir $$(1)/usr
/${f});$(CP
) $$$$(wildcard $(PKG_INSTALL_DIR
)/usr
/${f}*) $(dir $$(1)/usr
/${f});)
883 # mod_$(subst -,_,$(1)): Clean installed library control files from referencig to OpenWRT PATH.
885 $(STAGING_DIR_HOST
)/bin
/sed
-i
-re
's|$(STAGING_DIR)||g;s|$(TOOLCHAIN_DIR)||g;s|$(TARGET_CROSS)|usr|g;s|$(REAL_GNU_TARGET_NAME)|usr|g;s|-L$(PKG_BUILD_DIR)(.*)libzrtp ||g;s|-L$(PKG_BUILD_DIR)(.*)libtiff ||g;:a;s|((-[IL]/\S+\s).*)\2|\1|;ta' $(foreach l
,`find $$(1)/usr/lib -name "*.la" -print`,$(l
))
888 # 1. mod_$(subst -,_,$(1)) XML configuration files from: $$$$(patsubst $(PKG_BUILD_DIR)/%,%,$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR)/conf/$(3)/autoload_configs/$(subst -,_,$(1)).conf.xml)))
890 $$$$(if
$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/conf
/$(3)/autoload_configs
/$(subst -,_
,$(1)).conf.xml
)),[ -d
$$(1)/etc
/$(PKG_NAME
)/autoload_configs
] ||
$(INSTALL_DIR
) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(CP
) $$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/conf
/$(3)/autoload_configs
/$(subst -,_
,$(1)).conf.xml
)) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(SED
) 's|/usr/local/lib|/usr/lib|g;s|/usr/local|/etc|g' $$(1)/etc
/$(PKG_NAME
)/autoload_configs
/$(subst -,_
,$(1)).conf.xml
)
893 # 2. mod_$(subst -,_,$(1)) XML configuration files from: $$$$(patsubst $(PKG_BUILD_DIR)/%,%,$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR)/$(3)/$(1)/*/$(subst -,_,$(1)).conf.xml)))
895 $$$$(if
$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/$(3)/$(1)/*/$(subst -,_
,$(1)).conf.xml
)),[ -d
$$(1)/etc
/$(PKG_NAME
)/autoload_configs
] ||
$(INSTALL_DIR
) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(CP
) $$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/$(3)/$(1)/*/$(subst -,_
,$(1)).conf.xml
)) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(SED
) 's|/usr/local/lib|/usr/lib|g;s|/usr/local|/etc|g' $$(1)/etc
/$(PKG_NAME
)/autoload_configs
/$(subst -,_
,$(1)).conf.xml
)
898 # 3. mod_$(subst -,_,$(1)) XML configuration files from: $$$$(patsubst $(PKG_BUILD_DIR)/%,%,$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR)/src/$(3)/*/mod_$(subst -,_,$(1))/conf/autoload_configs/$(subst -,_,$(1)).conf.xml)))
900 $$$$(if
$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/src
/$(3)/*/mod_
$(subst -,_
,$(1))/conf
/autoload_configs
/$(subst -,_
,$(1)).conf.xml
)),[ -d
$$(1)/etc
/$(PKG_NAME
)/autoload_configs
] ||
$(INSTALL_DIR
) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(CP
) $$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/src
/$(3)/*/mod_
$(subst -,_
,$(1))/conf
/autoload_configs
/$(subst -,_
,$(1)).conf.xml
)) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(SED
) 's|/usr/local/lib|/usr/lib|g;s|/usr/local|/etc|g' $$(1)/etc
/$(PKG_NAME
)/autoload_configs
/$(subst -,_
,$(1)).conf.xml
)
903 # 4. mod_$(subst -,_,$(1)) XML configuration files from: $$$$(patsubst $(PKG_BUILD_DIR)/%,%,$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR)/src/$(3)/*/mod_$(subst -,_,$(1))/conf*/$(subst -,_,$(1)).conf.xml)))
905 $$$$(if
$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/src
/$(3)/*/mod_
$(subst -,_
,$(1))/conf
*/$(subst -,_
,$(1)).conf.xml
)),[ -d
$$(1)/etc
/$(PKG_NAME
)/autoload_configs
] ||
$(INSTALL_DIR
) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(CP
) $$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/src
/$(3)/*/mod_
$(subst -,_
,$(1))/conf
*/$(subst -,_
,$(1)).conf.xml
)) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(SED
) 's|/usr/local/lib|/usr/lib|g;s|/usr/local|/etc|g' $$(1)/etc
/$(PKG_NAME
)/autoload_configs
/$(subst -,_
,$(1)).conf.xml
)
908 # 5. mod_$(subst -,_,$(1)) XML configuration files from: $$$$(patsubst $(PKG_BUILD_DIR)/%,%,$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR)/src/$(3)/*/mod_$(subst -,_,$(1))/$(subst -,_,$(1)).conf.xml)))
910 $$$$(if
$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/src
/$(3)/*/mod_
$(subst -,_
,$(1))/$(subst -,_
,$(1)).conf.xml
)),[ -d
$$(1)/etc
/$(PKG_NAME
)/autoload_configs
] ||
$(INSTALL_DIR
) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(CP
) $$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/src
/$(3)/*/mod_
$(subst -,_
,$(1))/$(subst -,_
,$(1)).conf.xml
)) $$(1)/etc
/$(PKG_NAME
)/autoload_configs
;$(SED
) 's|/usr/local/lib|/usr/lib|g;s|/usr/local|/etc|g' $$(1)/etc
/$(PKG_NAME
)/autoload_configs
/$(subst -,_
,$(1)).conf.xml
)
913 # 6. Additional configuration files for mod_$(subst -,_,$(1)) from: $$$$(patsubst $(PKG_BUILD_DIR)/%,%,$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR)/conf/$(3)/$(1)/*.$(1))))
915 $$$$(if
$$$$(firstword $$$$(wildcard $(PKG_BUILD_DIR
)/conf
/$(3)/$(1)/*.
$(1))),[ -d
$$(1)/etc
/$(PKG_NAME
)/$(1) ] ||
$(INSTALL_DIR
) $$(1)/etc
/$(PKG_NAME
)/$(1);$(CP
) $(PKG_BUILD_DIR
)/conf
/$(3)/$(1) $$(1)/etc
/$(PKG_NAME
))
918 define Package
/$(PKG_NAME
)-mod-
$(1)/postinst
920 sed
-i
-e
's|^\([ \t]*\)<!-- *\(.*\)"mod_$(subst -,_,$(1))"\(.*\) *-->\(.*\)$$$$|\1\2"mod_$(subst -,_,$(1))"\3\4|' $$$${IPKG_INSTROOT}/etc
/$(PKG_NAME
)/autoload_configs
/modules.conf.xml
923 define Package
/$(PKG_NAME
)-mod-
$(1)/prerm
925 sed
-i
-e
's|^\([ \t]*\)\(.*\)"mod_$(subst -,_,$(1))"\(.*\)$$$$|\1<!-- \2"mod_$(subst -,_,$(1))"\3 -->|' $$$${IPKG_INSTROOT}/etc
/$(PKG_NAME
)/autoload_configs
/modules.conf.xml
928 $$(eval
$$(call BuildPackage
,$(PKG_NAME
)-mod-
$(1)))
932 $(eval
$(call BuildPackage
,$(PKG_NAME
)))
933 $(eval
$(call BuildPackage
,$(PKG_NAME
)-collection-upstream-defaults
))
934 $(eval
$(call BuildPackage
,$(PKG_NAME
)-collection-minimal
))
935 $(eval
$(call BuildPackage
,$(PKG_NAME
)-sounds-en-08KHz
))
936 $(eval
$(call BuildPackage
,$(PKG_NAME
)-sounds-en-16KHz
))
937 $(eval
$(call BuildPackage
,$(PKG_NAME
)-sounds-en-32KHz
))
938 $(eval
$(call BuildPackage
,$(PKG_NAME
)-sounds-en-48KHz
))
939 $(eval
$(call BuildPackage
,$(PKG_NAME
)-sounds-moh-08KHz
))
940 $(eval
$(call BuildPackage
,$(PKG_NAME
)-sounds-moh-16KHz
))
941 $(eval
$(call BuildPackage
,$(PKG_NAME
)-sounds-moh-32KHz
))
942 $(eval
$(call BuildPackage
,$(PKG_NAME
)-sounds-moh-48KHz
))
943 $(eval
$(call BuildPackage
,$(PKG_NAME
)-tools
))
944 $(eval
$(call BuildPackage
,$(PKG_NAME
)-example-config
))
945 $(eval
$(call BuildPackage
,$(PKG_NAME
)-config-upstream-defaults
))
946 $(eval
$(call BuildPackage
,$(PKG_NAME
)-config-minimal
))
950 # $(eval $(call BuildPlugin,Name,Title,Selection on module Conf File,Files,Inter Depends,Extra Depends))
952 $(eval
$(call BuildPlugin
,abstraction
,An Abstraction To API Call
,vanilla
,,,,))
953 $(eval
$(call BuildPlugin
,alsa
,Alsa Endpoint
,vanilla
,,,,+FS_WITH_ALSA
:alsa-lib @FS_WITH_ALSA
))
954 $(eval
$(call BuildPlugin
,amr
,Adaptive Multi-Rate On Bandwidth Codec
,vanilla
,,,,))
955 $(eval
$(call BuildPlugin
,amrwb
,Wide Band AMR
,vanilla
,,,,))
956 $(eval
$(call BuildPlugin
,avmd
,Advanced Voice Mail Detection
,vanilla
,,,,))
957 $(eval
$(call BuildPlugin
,basic
,BASIC
,vanilla
,,,,))
958 $(eval
$(call BuildPlugin
,bert
,Naive Bit Error Rate Tester
,vanilla
,,,,))
959 $(eval
$(call BuildPlugin
,blacklist
,Blacklist
,vanilla
,,,,))
960 $(eval
$(call BuildPlugin
,bv
,BroadVoice
16/32-bit Audio Codec
,vanilla
,,,,@BROKEN
)) # Requires unsupported libbroadvoice
961 $(eval
$(call BuildPlugin
,callcenter
,Call Center
,vanilla
,,,,))
962 $(eval
$(call BuildPlugin
,cdr-csv
,CSV-CDR Handler
,mod
,,,,)) # ~/conf
963 $(eval
$(call BuildPlugin
,cdr-mongodb
,MongoDB CDR logger
,vanilla
,,,,))
964 $(eval
$(call BuildPlugin
,cdr-pg-csv
,PostgreSQL CDR Handler
,vanilla
,,,,+coreutils
+FS_WITH_POSTGRESQL
:libpq @FS_WITH_POSTGRESQL
))
965 $(eval
$(call BuildPlugin
,cdr-sqlite
,SQLite3 CDR Handler
,vanilla
,,,,@FS_WITH_SQLITE3
))
966 $(eval
$(call BuildPlugin
,celt
,CELT Ultra-Low Delay Codec
,vanilla
,,,,+libogg
))
967 $(eval
$(call BuildPlugin
,cepstral
,Cepstral Interface
,vanilla
,,,,@BROKEN
)) # needs <swift.h>
968 $(eval
$(call BuildPlugin
,cidlookup
,Data Query For CID-
>NAME Services
,mod
,,,,+libcurl
)) # ~/conf
969 $(eval
$(call BuildPlugin
,cluechoo
,Framework Demo
,vanilla
,,,,))
970 $(eval
$(call BuildPlugin
,codec2
,CoDec
2,,,,,@BROKEN
)) # Requires unsupported libcodec2
971 $(eval
$(call BuildPlugin
,commands
,API Commands
,vanilla
,,,,))
972 $(eval
$(call BuildPlugin
,conference
,Conference Room
,vanilla
,,,,))
973 $(eval
$(call BuildPlugin
,console
,Console Logger
,vanilla
,,,,))
974 $(eval
$(call BuildPlugin
,curl
,HTTP Request
,vanilla
,,,,+libcurl
))
975 $(eval
$(call BuildPlugin
,cv
,Detect Video motion
,vanilla
,,,,@BROKEN
))
976 $(eval
$(call BuildPlugin
,dahdi-codec
,DAHDI Codecs
,vanilla
,,,,))
977 $(eval
$(call BuildPlugin
,db
,Database Backend
,vanilla
,,,,+libdb47
))
978 $(eval
$(call BuildPlugin
,dialplan-asterisk
,Asterisk Dialplan Parser
,vanilla
,,,,))
979 $(eval
$(call BuildPlugin
,dialplan-directory
,Dialplan Directory
,vanilla
,,,,))
980 $(eval
$(call BuildPlugin
,dialplan-xml
,Dialplan-XML Interface
,vanilla
,,,,))
981 $(eval
$(call BuildPlugin
,dingaling
,Jabber Interface
,vanilla
,,,,+libopenssl
))
982 $(eval
$(call BuildPlugin
,directory
,Search By Name Directory IVR
,vanilla
,,,,))
983 $(eval
$(call BuildPlugin
,distributor
,Simple Robin-Round Load
,vanilla
,,,,))
984 $(eval
$(call BuildPlugin
,dptools
,Dialplan Tools
,vanilla
,,,,))
985 $(eval
$(call BuildPlugin
,easyroute
,Simple DID Routing
,vanilla
,,,,))
986 $(eval
$(call BuildPlugin
,enum
,ENUM Routing
,,,,,+libldns
))
987 $(eval
$(call BuildPlugin
,erlang-event
,Erlang Event Handler
,vanilla
,,,,+erlang
))
988 $(eval
$(call BuildPlugin
,esf
,Extra SIP Functionality
,vanilla
,,,,))
989 $(eval
$(call BuildPlugin
,event-multicast
,Multicast Event Handler
,vanilla
,,,,))
990 $(eval
$(call BuildPlugin
,event-socket
,Socket Event Handler
,vanilla
,,,,))
991 $(eval
$(call BuildPlugin
,event-zmq
,Socket Event Handler By Zero MQ
,vanilla
,,,,+libuuid
))
992 $(eval
$(call BuildPlugin
,expr
,Expression Evaluation
,vanilla
,,,,))
993 $(eval
$(call BuildPlugin
,fifo
,FIFO
,vanilla
,,,,))
994 $(eval
$(call BuildPlugin
,file-string
,Streaming Multiple Sound Files Sequentially
,vanilla
,,,,@OBSOLETE
)) # merged into dptools
995 $(eval
$(call BuildPlugin
,flite
,Festival TTS
,vanilla
,,,,+flite @
(!(armeb||avr32
)||BROKEN
))) # flite is from old package repo
996 $(eval
$(call BuildPlugin
,format-cdr
,XML CDR Module to files or curl
,vanilla
,,,,))
997 $(eval
$(call BuildPlugin
,fsk
,Bell-202
1200-Baud FSK Decoder
,vanilla
,,,,))
998 $(eval
$(call BuildPlugin
,fsv
,Video Player
/ Recorder
,vanilla
,,,,+libyuv @BROKEN
)) # Requires unsupported libyuv.
999 $(eval
$(call BuildPlugin
,g723-1
,G
.723.1 Codec
,vanilla
,,,,))
1000 $(eval
$(call BuildPlugin
,g729
,G
.729 Codec
,vanilla
,,,,))
1001 $(eval
$(call BuildPlugin
,gsmopen
,GSM Modem compatible Endpoint
,mod
,,,alsa
,+FS_WITH_ALSA
:alsa-lib
+FS_WITH_LZMA
:liblzma @FS_WITH_ALSA @BROKEN
)) # needs gsmlib
1002 $(eval
$(call BuildPlugin
,h26x
,H26X Linear Codec
,vanilla
,,,,))
1003 $(eval
$(call BuildPlugin
,h323
,H323 Endpoint
,mod
,,,,@BROKEN
)) # Req. H323Plus v1.24.x or newer
1004 $(eval
$(call BuildPlugin
,hash
,API For Manipulating A Hash Table
,vanilla
,,,,))
1005 $(eval
$(call BuildPlugin
,hiredis
,Redis DB access
,vanilla
,,,,+hiredis @BROKEN
))
1006 #$(eval $(call BuildPlugin,html5,HTML5 Endpoint Module,vanilla,,,,)) # defunct?
1007 $(eval
$(call BuildPlugin
,httapi
,HT Telephony API and HTTP Caching
,mod
,,,,)) # ~/conf
1008 $(eval
$(call BuildPlugin
,http-cache
,HTTP GET With Caching
,mod
,,,,+libcurl
)) # ~/conf
1009 $(eval
$(call BuildPlugin
,ilbc
,ILBC Codec
,vanilla
,,,,+libilbc @BROKEN
)) # Requires unsupported libilbc.
1010 $(eval
$(call BuildPlugin
,isac
,iSAC Codec
,vanilla
,,,,))
1011 $(eval
$(call BuildPlugin
,java
,Java Language Interface
,vanilla
,,,,@BROKEN
)) # needs java
1012 $(eval
$(call BuildPlugin
,json-cdr
,JSon-CDR Interface
,mod
,,,,+libcurl
))
1013 $(eval
$(call BuildPlugin
,kazoo
,Socket Controlled Event Handler
,vanilla
,,,,+erlang
))
1014 $(eval
$(call BuildPlugin
,ldap
,LDAP interface
,vanilla
,,,,+libopenldap
))
1015 $(eval
$(call BuildPlugin
,lcr
,Least Cost Routing
,vanilla
,,,,))
1016 $(eval
$(call BuildPlugin
,local-stream
,Multi-Channel On Same Stream
,vanilla
,,,,))
1017 $(eval
$(call BuildPlugin
,logfile
,File Logger
,vanilla
,,,,))
1018 $(eval
$(call BuildPlugin
,loopback
,Loopback to Dialplan Endpoint
,vanilla
,,,,))
1019 $(eval
$(call BuildPlugin
,lua
,LUA Language Interface
,vanilla
,,,,+liblua
))
1020 $(eval
$(call BuildPlugin
,managed
,Media Switching Software Library
,vanilla
,,,,+glib2 @BROKEN
)) # needs Mono
1021 $(eval
$(call BuildPlugin
,memcache
,MemCached Interface
,vanilla
,,,,+libmemcached @BROKEN
)) # Req host libmemcached
1022 $(eval
$(call BuildPlugin
,mongo
,A Document-Oriented Database
,vanilla
,,,,@BROKEN
))
1023 $(eval
$(call BuildPlugin
,mp4
,MP4 File Format Support For Video
,vanilla
,,,,@BROKEN
)) # needs host libmp4v2
1024 $(eval
$(call BuildPlugin
,mp4v
,MP4 CoDec Support For Video
,vanilla
,,,,))
1025 $(eval
$(call BuildPlugin
,native-file
,WAV Format Sound Player
,vanilla
,,,,))
1026 $(eval
$(call BuildPlugin
,nibblebill
,Credit
/ Debit Billing
,vanilla
,,,,))
1027 $(eval
$(call BuildPlugin
,opus
,Opus CoDec
,vanilla
,,,,+libopus
))
1028 $(eval
$(call BuildPlugin
,oreka
,Media Recording with Oreka
,vanilla
,,,,))
1029 $(eval
$(call BuildPlugin
,perl
,Perl Language Interface
,vanilla
,,lib
/perl5
/$(PERL_VERSION
)/$(PKG_NAME
).la lib
/perl5
/$(PERL_VERSION
)/$(PKG_NAME
).pm lib
/perl5
/$(PERL_VERSION
)/$(PKG_NAME
).so
,,+perl
+libdb47
+libgdbm @BROKEN
))
1030 $(eval
$(call BuildPlugin
,portaudio
,Portaudio To Sound Card Interface
,vanilla
,,,alsa
,+FS_WITH_ALSA
:alsa-lib @FS_WITH_ALSA @BROKEN
)) # needs portaudio
1031 $(eval
$(call BuildPlugin
,portaudio-stream
,Portaudio Streaming Interface
,vanilla
,,,alsa
,+FS_WITH_ALSA
:alsa-lib @FS_WITH_ALSA @BROKEN
)) # needs portaudio
1032 $(eval
$(call BuildPlugin
,posix-timer
,POSIX Compliant Soft Timer
,vanilla
,,,,))
1033 $(eval
$(call BuildPlugin
,python
,Python Language Interface
,vanilla
,,,,python @BROKEN
))
1034 $(eval
$(call BuildPlugin
,radius-cdr
,Radius-CDR interface
,vanilla
,,,,@BROKEN
)) # fails in freeradius-client
1035 $(eval
$(call BuildPlugin
,rayo
,Rayo server
& node implementation
,vanilla
,,,,))
1036 $(eval
$(call BuildPlugin
,redis
,Redis limit backend
,vanilla
,,,,))
1037 $(eval
$(call BuildPlugin
,rss
,RRS Feeds via TTS
,vanilla
,,,,))
1038 $(eval
$(call BuildPlugin
,rtc
,RTC endpoint
,vanilla
,,,,))
1039 $(eval
$(call BuildPlugin
,rtmp
,RTMP Protocol Handler
,vanilla
,,,,))
1040 $(eval
$(call BuildPlugin
,sangoma-codec
,Sangoma Codec
,vanilla
,,,,@BROKEN
)) # Req. Sangoma CoDec source
1041 $(eval
$(call BuildPlugin
,say-de
,German Say
,vanilla
,,,,))
1042 $(eval
$(call BuildPlugin
,say-en
,English Say
,vanilla
,,,,))
1043 $(eval
$(call BuildPlugin
,say-es
,Spanish Say
,vanilla
,,,,))
1044 $(eval
$(call BuildPlugin
,say-fa
,Persian Say
,vanilla
,,,,))
1045 $(eval
$(call BuildPlugin
,say-fr
,French Say
,vanilla
,,,,))
1046 $(eval
$(call BuildPlugin
,say-hu
,Hungarian Say
,vanilla
,,,,))
1047 $(eval
$(call BuildPlugin
,say-it
,Italian Say
,vanilla
,,,,))
1048 $(eval
$(call BuildPlugin
,say-nl
,Dutch Say
,vanilla
,,,,))
1049 $(eval
$(call BuildPlugin
,say-pt
,Portugeese Say
,vanilla
,,,,))
1050 $(eval
$(call BuildPlugin
,say-ru
,Russian Say
,vanilla
,,,,))
1051 $(eval
$(call BuildPlugin
,say-th
,Thai Say
,vanilla
,,,,))
1052 $(eval
$(call BuildPlugin
,say-zh
,Chineese Say
,vanilla
,,,,))
1053 $(eval
$(call BuildPlugin
,shell-stream
,Streaming Audio Through CLI
,vanilla
,,,,))
1054 $(eval
$(call BuildPlugin
,silk
,Skype
(TM
) SILK Codec Module
,vanilla
,,,,+libsilk @BROKEN
)) # Requires unsupported libsilk
1055 $(eval
$(call BuildPlugin
,siren
,G
.722.1 Codec
,vanilla
,,,,+libg7221 @BROKEN
)) # Requires unsupported libg7221
1056 $(eval
$(call BuildPlugin
,skel
,Template For New Module
,vanilla
,,,,))
1057 $(eval
$(call BuildPlugin
,skinny
,Skinny Call Control Protocol
(SCCP
),vanilla
,,,,))
1058 $(eval
$(call BuildPlugin
,skypopen
,Skype Compatible Endpoint
,mod
,,,,@FEATURE_drawing-backend_libX11
))
1059 $(eval
$(call BuildPlugin
,sms
,SMS
,vanilla
,,,,))
1060 $(eval
$(call BuildPlugin
,smpp
,smpp client and server implementation
,vanilla
,,,,@BROKEN
))
1061 $(eval
$(call BuildPlugin
,snapshot
,Record Audio Snapshot to File
,vanilla
,,,,))
1062 $(eval
$(call BuildPlugin
,sndfile
,Multi-Format Sound File
,vanilla
,,,,+libsndfile
))
1063 $(eval
$(call BuildPlugin
,snmp
,SNMP AgentX Subagent
,vanilla
,,,,+libnetsnmp
))
1064 $(eval
$(call BuildPlugin
,snom
,SNOM specific features
,vanilla
,,,,))
1065 $(eval
$(call BuildPlugin
,sofia
,SOFIA SIP
,mod
,,,,)) # ~/conf
1066 $(eval
$(call BuildPlugin
,sonar
,Sonar Ping Timer
,vanilla
,,,,))
1067 $(eval
$(call BuildPlugin
,spandsp
,Span DSP
,mod
,,,,+libjpeg
+FS_WITH_LZMA
:liblzma @FS_WITH_LZMA
)) # ~/conf
1068 $(eval
$(call BuildPlugin
,spidermonkey
,JavaScript
,vanilla
,,,,@BROKEN
)) # fails in js
1069 $(eval
$(call BuildPlugin
,spidermonkey-core_db
,JavaScript DB
,vanilla
,,,,@BROKEN
))
1070 $(eval
$(call BuildPlugin
,spidermonkey-curl
,JavaScript Curl
,vanilla
,,,,@BROKEN
))
1071 $(eval
$(call BuildPlugin
,spidermonkey-odbc
,JavaScript ODBC
,vanilla
,,,,@BROKEN
))
1072 $(eval
$(call BuildPlugin
,spidermonkey-socket
,JavaScript Socket
,vanilla
,,,,@BROKEN
))
1073 $(eval
$(call BuildPlugin
,spidermonkey-teletone
,JavaScript Teletone
,vanilla
,,,,@BROKEN
))
1074 $(eval
$(call BuildPlugin
,spy
,User Spy
,vanilla
,,,,))
1075 $(eval
$(call BuildPlugin
,ssml
,SSML audio rendering format
,mod
,,,rayo
,))
1076 $(eval
$(call BuildPlugin
,stress
,Voice Stress Detection
,vanilla
,,,,))
1077 $(eval
$(call BuildPlugin
,syslog
,SysLog logger
,vanilla
,,,,))
1078 $(eval
$(call BuildPlugin
,timerfd
,Linux Kernel timerfd API
,vanilla
,,,,))
1079 $(eval
$(call BuildPlugin
,tone-stream
,Tone Generation Stream
,vanilla
,,,,))
1080 $(eval
$(call BuildPlugin
,tts-commandline
,ASR TTS Command Interface
,vanilla
,,,,))
1081 $(eval
$(call BuildPlugin
,unimrcp
,UniMRCP
(MRCP Client
),vanilla
,,,,@BROKEN
))
1082 $(eval
$(call BuildPlugin
,valet-parking
,Valet Parking Application
,vanilla
,,,,))
1083 $(eval
$(call BuildPlugin
,verto
,HTML5 Verto interface
,vanilla
,,lib
/perl5
/$(PERL_VERSION
)/MCAST.so lib
/perl5
/$(PERL_VERSION
)/MCAST.la lib
/perl5
/$(PERL_VERSION
)/MCAST.pm
,perl rtc
,+perl @BROKEN
))
1084 $(eval
$(call BuildPlugin
,vmd
,VoiceMail Beep Detection
,vanilla
,,,,))
1085 $(eval
$(call BuildPlugin
,voicemail
,VoiceMail
,vanilla
,,,,))
1086 $(eval
$(call BuildPlugin
,voicemail-ivr
,VoiceMail IVR
,vanilla
,,,,))
1087 $(eval
$(call BuildPlugin
,vpx
,VP8
/9 Video Codec with transcoding
,vanilla
,,,,+libvpx
))
1088 $(eval
$(call BuildPlugin
,xml-cdr
,XML-CDR Handler
,vanilla
,,,,+libcurl
))
1089 $(eval
$(call BuildPlugin
,xml-curl
,XML-Curl Gateway
,vanilla
,,,,+libcurl
))
1090 $(eval
$(call BuildPlugin
,xml-ldap
,LDAP-XML Gateway
,vanilla
,,,,+PACKAGE_
$(PKG_NAME
)-mod-ldap
:libopenldap
))
1091 $(eval
$(call BuildPlugin
,xml-rpc
,XML-RPC Interface
,vanilla
,,,,))
1092 $(eval
$(call BuildPlugin
,xml-radius
,Radius authentication and authorization
,vanilla
,,,,+freeradius-client @BROKEN
)) # freeradius-client isn't yet supported by OpenWRT.
1093 $(eval
$(call BuildPlugin
,xml-scgi
,SCGI XML Gateway
,vanilla
,,,,))
1094 $(eval
$(call BuildPlugin
,yaml
,YAML language
,vanilla
,,,,+libyaml
))