asterisk-1.8.x: cleanup and simplification of package Makefile
authorJiri Slachta <slachta@cesnet.cz>
Tue, 22 Jul 2014 20:52:32 +0000 (22:52 +0200)
committerJiri Slachta <slachta@cesnet.cz>
Tue, 22 Jul 2014 20:52:32 +0000 (22:52 +0200)
Signed-off-by: Jiri Slachta <slachta@cesnet.cz>
net/asterisk-1.8.x/Makefile

index c0792bedf3093611476bacedc36442c679be41fd..19d839d906a24459cac15618daf61fffafef6335 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=asterisk18
 PKG_VERSION:=1.8.29.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=asterisk-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://downloads.asterisk.org/pub/telephony/asterisk/releases/
@@ -20,204 +20,114 @@ PKG_BUILD_DIR=$(BUILD_DIR)/asterisk-$(PKG_VERSION)
 include $(INCLUDE_DIR)/ltqtapi.mk
 include $(INCLUDE_DIR)/package.mk
 
-define Package/asterisk18/Default
-  SUBMENU:=Telephony
-  SECTION:=net
-  CATEGORY:=Network
-  URL:=http://www.asterisk.org/
-endef
-
-define Package/asterisk18/Default/description
- Asterisk is a complete PBX in software. It provides all of the features
- you would expect from a PBX and more. Asterisk does voice over IP in three
- protocols, and can interoperate with almost all standards-based telephony
- equipment using relatively inexpensive hardware.
-endef
-
-define Package/asterisk18
-$(call Package/asterisk18/Default)
-  TITLE:=Complete open source PBX, v1.8x
-  MENU:=1
-  DEPENDS:= +libopenssl +libncurses +libpopt +libpthread +zlib @!TARGET_avr32
-endef
-
-define Package/asterisk18/description
-$(call Package/asterisk18/Default/description)
-endef
-
-define Package/asterisk18-sounds
-$(call Package/asterisk18/Default)
-  TITLE:=Sound files
-  DEPENDS:= asterisk18
-endef
-
-define Package/asterisk18-sounds/description
-$(call Package/asterisk18/Default/description)
- This package contains sound files for Asterisk.
-endef
-
-define Package/asterisk18-voicemail
-$(call Package/asterisk18/Default)
-  TITLE:=Voicemail support
-  DEPENDS:= asterisk18
-endef
-
-define Package/asterisk18-voicemail/description
-$(call Package/asterisk18/Default/description)
- This package contains voicemail related modules for Asterisk.
-endef
-
-define Package/asterisk18-chan-iax2
-$(call Package/asterisk18/Default)
-  TITLE:=IAX support
-  DEPENDS:= asterisk18 +asterisk18-res-crypto +asterisk18-res-timing-timerfd
-endef
-
-define Package/asterisk18-chan-iax2/description
-$(call Package/asterisk18/Default/description)
- This package provides IAX support to
- Asterisk.
-endef
-
-define Package/asterisk18-cdr
-$(call Package/asterisk18/Default)
-  TITLE:=CDR support
-  DEPENDS:= asterisk18
-endef
-
-define Package/asterisk18-cdr/description
-$(call Package/asterisk18/Default/description)
- This package provides Call Detail Record support to
- Asterisk.
-endef
-
-define Package/asterisk18-pgsql
-$(call Package/asterisk18/Default)
-  TITLE:=PostgreSQL support
-  DEPENDS:= asterisk18 +libpq
-endef
-
-define Package/asterisk18-pgsql/description
-$(call Package/asterisk18/Default/description)
- This package provides PostgreSQL support to
- Asterisk.
-endef
-
-define Package/asterisk18-res-musiconhold
-$(call Package/asterisk18/Default)
-  TITLE:=MOH support
-  DEPENDS:= asterisk18
-endef
-
-define Package/asterisk18-res-musiconhold/description
-$(call Package/asterisk18/Default/description)
- This package provides Music On Hold support to
- Asterisk.
-endef
-
-define Package/asterisk18-res-srtp
-$(call Package/asterisk18/Default)
-  TITLE:=SRTP support
-  DEPENDS:= asterisk18 libsrtp +asterisk18-res-crypto
+define Package/asterisk18/install/module
+       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/*$(2).so* $(1)/usr/lib/asterisk/modules/
 endef
 
-define Package/asterisk18-res-srtp/description
-$(call Package/asterisk18/Default/description)
- This package provides SRTP support to
- Asterisk.
+define Package/asterisk18/install/conffile
+       $(INSTALL_DIR) $(1)/etc/asterisk
+       $(CP) $(PKG_INSTALL_DIR)/etc/asterisk/*$(2)* $(1)/etc/asterisk/
 endef
 
-define Package/asterisk18-chan-gtalk
-$(call Package/asterisk18/Default)
-  TITLE:=GTalk support
-  DEPENDS:= asterisk18 +libiksemel
+define Package/asterisk18/install/lib
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/$(2).so* $(1)/usr/lib/
 endef
 
-define Package/asterisk18-chan-gtalk/description
-$(call Package/asterisk18/Default/description)
- This package provides the channel chan_gtalk and res_jabber for GTalk
- support to Asterisk.
+define Package/asterisk18/install/sbin
+       $(INSTALL_DIR) $(1)/usr/sbin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/$(2) $(1)/usr/sbin/
 endef
 
-define Package/asterisk18-chan-mobile
-$(call Package/asterisk18/Default)
-  TITLE:=Mobile channel support
-  DEPENDS:= asterisk18 +bluez-libs
+define Package/asterisk18/install/sounds
+       $(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/sounds/en/$(2) $(1)/usr/lib/asterisk/sounds/
 endef
 
-define Package/asterisk18-chan-mobile/description
-$(call Package/asterisk18/Default/description)
- This package provides the channel chan_mobile support to Asterisk.
-endef
+define BuildAsterisk18Module
+  define Package/asterisk18-$(1)
+  $$(call Package/asterisk18/Default)
+    TITLE:=$(2) support
+    DEPENDS:= asterisk18 $(patsubst +%,+PACKAGE_asterisk18-$(1):%,$(4))
+  endef
 
-define Package/asterisk18-res-timing-timerfd
-$(call Package/asterisk18/Default)
-  TITLE:= Timerfd Timing Interface
-  DEPENDS:= asterisk18
-endef
+  define Package/asterisk18-$(1)/conffiles
+$(5)
+  endef
 
-define Package/asterisk18-res-timing-pthread
-$(call Package/asterisk18/Default)
-  TITLE:= pthread Timing Interface
-  DEPENDS:= asterisk18
-endef
+  define Package/asterisk18-$(1)/description
+  $$(call Package/asterisk18/Default/description)
+This package provides support $(3) in Asterisk.
+  endef
 
-define Package/asterisk18-res-fax
-$(call Package/asterisk18/Default)
-  TITLE:=Generic FAX Resource for FAX technology resource modules
-  DEPENDS:= asterisk18 +asterisk18-res-timing-pthread
-endef
+  define Package/asterisk18-$(1)/install
+$(foreach c,$(6),$(call Package/asterisk18/install/conffile,$$(1),$(c));)
+$(foreach m,$(7),$(call Package/asterisk18/install/module,$$(1),$(m));)
+$(foreach s,$(8),$(call Package/asterisk18/install/sounds,$$(1),$(s));)
+$(foreach b,$(9),$(call Package/asterisk18/install/sbin,$$(1),$(b));)
+  endef
 
-define Package/asterisk18-res-fax-spandsp
-$(call Package/asterisk18/Default)
-  TITLE:=Spandsp T.38 and G.711 FAX Resource
-  DEPENDS:= asterisk18 +asterisk18-res-fax +libspandsp
+  $$(eval $$(call BuildPackage,asterisk18-$(1)))
 endef
 
-define Package/asterisk18-chan-mgcp
-$(call Package/asterisk18/Default)
-  TITLE:=MGCP channel support
-  DEPENDS:= asterisk18
+define Package/asterisk18/Default
+  SUBMENU:=Telephony
+  SECTION:=net
+  CATEGORY:=Network
+  URL:=http://www.asterisk.org/
+  MAINTAINER:=Jiri Slachta <slachta@cesnet.cz>
 endef
 
-define Package/asterisk18-chan-mgcp/description
-$(call Package/asterisk18/Default/description)
- This package provides the channel chan_mgcp support to Asterisk.
+define Package/asterisk18/Default/description
+ Asterisk is a complete PBX in software. It provides all of the features
+ you would expect from a PBX and more. Asterisk does voice over IP in three
+ protocols, and can interoperate with almost all standards-based telephony
+ equipment using relatively inexpensive hardware.
 endef
 
-define Package/asterisk18-chan-skinny
+define Package/asterisk18
 $(call Package/asterisk18/Default)
-  TITLE:=Skinny channel support
-  DEPENDS:= asterisk18
+  TITLE:=Complete open source PBX, v1.8.x
+  MENU:=1
+  DEPENDS:=+libopenssl +libncurses +libpopt +libpthread +zlib @!TARGET_avr32
 endef
 
-define Package/asterisk18-chan-skinny/description
+define Package/asterisk18/description
 $(call Package/asterisk18/Default/description)
- This package provides the channel chan_skinny support to Asterisk.
 endef
 
-define Package/asterisk18-curl
-$(call Package/asterisk18/Default)
-  TITLE:=CURL support
-  DEPENDS:= asterisk18 +libcurl
-endef
-
-define Package/asterisk18-curl/description
-$(call Package/asterisk18/Default/description)
- This package provides CURL
- support to Asterisk.
+define Package/asterisk18/conffiles
+/etc/asterisk/cel.conf
+/etc/asterisk/asterisk.conf
+/etc/asterisk/modules.conf
+/etc/asterisk/extensions.conf
+/etc/asterisk/sip.conf
+/etc/asterisk/sip_notify.conf
+/etc/asterisk/features.conf
+/etc/asterisk/indications.conf
+/etc/asterisk/logger.conf
+/etc/asterisk/manager.conf
+/etc/asterisk/rtp.conf
+/etc/default/asterisk
+/etc/init.d/asterisk
 endef
 
-define Package/asterisk18-mysql
-$(call Package/asterisk18/Default)
-  TITLE:=MySQL support
-  DEPENDS:= asterisk18 +PACKAGE_asterisk18-mysql:libmysqlclient
-endef
+AST_CFG_FILES:=\
+       asterisk.conf cel.conf ccss.conf extensions.conf features.conf indications.conf logger.conf manager.conf \
+       modules.conf sip.conf sip_notify.conf rtp.conf users.conf
+AST_EMB_MODULES:=\
+       app_dial app_echo app_macro app_playback codec_ulaw codec_gsm format_gsm format_pcm format_wav format_wav_gsm \
+       func_strings func_timeout func_callerid func_logic chan_sip pbx_config res_rtp_asterisk res_rtp_multicast
 
-define Package/asterisk18-mysql/description
-$(call Package/asterisk18/Default/description)
- This package provides MySQL
- support to Asterisk.
+define Package/asterisk18/install
+$(call Package/asterisk18/install/sbin,$(1),asterisk)
+$(foreach m,$(AST_CFG_FILES),$(call Package/asterisk18/install/conffile,$(1),$(m));)
+$(foreach m,$(AST_EMB_MODULES),$(call Package/asterisk18/install/module,$(1),$(m));)
+       $(INSTALL_DIR) $(1)/etc/default
+       $(INSTALL_DATA) ./files/asterisk.default $(1)/etc/default/asterisk
+       $(INSTALL_DIR) $(1)/etc/init.d
+       $(INSTALL_BIN) ./files/asterisk.init $(1)/etc/init.d/asterisk
 endef
 
 define Package/asterisk18-chan-lantiq
@@ -225,7 +135,6 @@ $(call Package/asterisk18/Default)
   TITLE:=Lantiq TAPI support
   DEPENDS:= asterisk18 $(LTQ_TAPI_DEPENDS)
   URL:=http://git.nanl.de/?p=asterisk_channel_lantiq.git
-  MAINTAINER:=Mirko Vogt <mirko@openwrt.org>
 endef
 
 define Package/asterisk18-chan-lantiq/description
@@ -233,37 +142,31 @@ $(call Package/asterisk18/Default/description)
  This package provides the channel chan_lantiq support to Asterisk.
 endef
 
-define Package/asterisk18-odbc
-$(call Package/asterisk18/Default)
-  TITLE:=ODBC support
-  DEPENDS:= asterisk18 +libpthread +libc +unixodbc
+define Package/asterisk18-chan-lantiq/conffiles
+/etc/asterisk/lantiq.conf
 endef
 
-define Package/asterisk18-odbc/description
-$(call Package/asterisk18/Default/description)
- This package provides ODBC support for Asterisk.
+define Package/asterisk18-chan-lantiq/install
+$(call Package/asterisk18/install/conffile,lantiq.conf,$(m))
+$(call Package/asterisk18/install/module,chan_lantiq,$(m))
 endef
 
-define Package/asterisk18-pbx-lua
+define Package/asterisk18-sounds
 $(call Package/asterisk18/Default)
-  TITLE:=Lua support
-  DEPENDS:= asterisk18 +libpthread +libc +liblua
+  TITLE:=Sounds support
+  DEPENDS:=asterisk18
 endef
 
-define Package/asterisk18-pbx-lua/description
+define Package/asterisk18-sounds/description
 $(call Package/asterisk18/Default/description)
- This package provides Lua resources for Asterisk.
+This package provides sounds for Asterisk.
 endef
 
-define Package/asterisk18-smsq
-$(call Package/asterisk18/Default)
-  TITLE:=SMS application helper
-  DEPENDS:= asterisk18 +libpopt +libstdcpp
-endef
-
-define Package/asterisk18-smsq/description
-$(call Package/asterisk18/Default/description)
- This package provides support for sending SMS from CLI via Asterisk.
+define Package/asterisk18-sounds/install
+       $(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/sounds/en/* $(1)/usr/lib/asterisk/sounds/
+       rm -f $(1)/usr/lib/asterisk/sounds/vm-*
+       rm -f $(1)/usr/lib/asterisk/sounds/conf-*
 endef
 
 ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk18-chan-gtalk),)
@@ -276,20 +179,20 @@ else
        --without-iksemel
 endif
 
-ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk18-curl),)
+ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk18-chan-mobile),)
   CONFIGURE_ARGS+= \
-       --with-libcurl="$(STAGING_DIR)/usr"
+       --with-bluetooth="$(STAGING_DIR)/usr"
 else
   CONFIGURE_ARGS+= \
-       --without-libcurl
+       --without-bluetooth
 endif
 
-ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk18-pgsql),)
+ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk18-curl),)
   CONFIGURE_ARGS+= \
-       --with-postgres="$(STAGING_DIR)/usr"
+       --with-libcurl="$(STAGING_DIR)/usr"
 else
   CONFIGURE_ARGS+= \
-       --without-postgres
+       --without-libcurl
 endif
 
 ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk18-mysql),)
@@ -300,39 +203,41 @@ else
        --without-mysqlclient
 endif
 
-ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk18-res-fax-spandsp),)
+ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk18-pbx-lua),)
   CONFIGURE_ARGS+= \
-    --with-spandsp="$(STAGING_DIR)/usr"
+       --with-lua="$(STAGING_DIR)/usr"
+  TARGET_LDFLAGS+=-ldl -lcrypt
 else
   CONFIGURE_ARGS+= \
-    --without-spandsp
+       --without-lua
 endif
 
-ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk18-chan-mobile),)
+ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk18-pgsql),)
   CONFIGURE_ARGS+= \
-       --with-bluetooth="$(STAGING_DIR)/usr"
+       --with-postgres="$(STAGING_DIR)/usr"
 else
   CONFIGURE_ARGS+= \
-       --without-bluetooth
+       --without-postgres
 endif
 
-ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk18-res-srtp),)
+ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk18-res-fax-spandsp),)
   CONFIGURE_ARGS+= \
-       --with-srtp="$(STAGING_DIR)/usr"
+    --with-spandsp="$(STAGING_DIR)/usr"
 else
   CONFIGURE_ARGS+= \
-       --without-srtp
+    --without-spandsp
 endif
 
-ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk18-pbx-lua),)
+ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk18-res-srtp),)
   CONFIGURE_ARGS+= \
-       --with-lua="$(STAGING_DIR)/usr"
-  TARGET_LDFLAGS+=-ldl -lcrypt
+       --with-srtp="$(STAGING_DIR)/usr"
 else
   CONFIGURE_ARGS+= \
-       --without-lua
+       --without-srtp
 endif
 
+EXTRA_CFLAGS+= $(TARGET_CPPFLAGS)
+EXTRA_LDFLAGS+= $(TARGET_LDFLAGS)
 CONFIGURE_ARGS+= \
        --without-curses \
        --with-gsm=internal \
@@ -361,9 +266,6 @@ CONFIGURE_ARGS+= \
        --with-sounds-cache="$(DL_DIR)" \
        --disable-xmldoc
 
-EXTRA_CFLAGS+= $(TARGET_CPPFLAGS)
-EXTRA_LDFLAGS+= $(TARGET_LDFLAGS)
-
 define Build/Prepare
        $(call Build/Prepare/Default)
 ifneq ($(CONFIG_TARGET_lantiq),)
@@ -400,352 +302,96 @@ define Build/InstallDev
        $(CP) $(PKG_INSTALL_DIR)/usr/include/asterisk.h $(1)/usr/include/asterisk-1.8/include/
 endef
 
-define Package/asterisk18/conffiles
-/etc/asterisk/asterisk.conf
-/etc/asterisk/modules.conf
-/etc/asterisk/extensions.conf
-/etc/asterisk/sip.conf
-/etc/asterisk/sip_notify.conf
-/etc/asterisk/features.conf
-/etc/asterisk/indications.conf
-/etc/asterisk/logger.conf
-/etc/asterisk/manager.conf
-/etc/asterisk/rtp.conf
-/etc/default/asterisk
-/etc/init.d/asterisk
-endef
-
-define Package/asterisk18/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       for f in asterisk extensions features \
-               indications logger manager modules \
-               sip sip_notify rtp; do \
-               $(CP) $(PKG_INSTALL_DIR)/etc/asterisk/$$$$f.conf $(1)/etc/asterisk/ ; \
-       done
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       for f in app_dial app_echo app_playback app_macro \
-               chan_sip res_rtp_asterisk res_rtp_multicast \
-               codec_ulaw codec_gsm \
-               format_gsm format_pcm format_wav format_wav_gsm \
-               pbx_config \
-               func_strings func_timeout func_callerid func_logic; do \
-               $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
-       done
-       $(INSTALL_DIR) $(1)/usr/sbin
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/asterisk $(1)/usr/sbin/
-       $(INSTALL_DIR) $(1)/etc/default
-       $(INSTALL_DATA)  ./files/asterisk.default $(1)/etc/default/asterisk
-       $(INSTALL_DIR) $(1)/etc/init.d
-       $(INSTALL_BIN)  ./files/asterisk.init $(1)/etc/init.d/asterisk
-endef
-
-define Package/asterisk18-sounds/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds/
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/sounds/en/* $(1)/usr/lib/asterisk/sounds/
-       rm -f $(1)/usr/lib/asterisk/sounds/vm-*
-       rm -f $(1)/usr/lib/asterisk/sounds/conf-*
-endef
-
-
-define Package/asterisk18-voicemail/conffiles
-/etc/asterisk/voicemail.conf
-endef
-
-define Package/asterisk18-voicemail/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/voicemail.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/*voicemail.so $(1)/usr/lib/asterisk/modules/
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_adsi.so $(1)/usr/lib/asterisk/modules/
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_smdi.so $(1)/usr/lib/asterisk/modules/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds/
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/sounds/en/vm-*.gsm $(1)/usr/lib/asterisk/sounds/
-endef
-
-define Package/asterisk18-chan-iax2/conffiles
-/etc/asterisk/iax.conf
-/etc/asterisk/iaxprov.conf
-endef
-
-define Package/asterisk18-cdr/conffiles
-/etc/asterisk/cdr.conf
-/etc/asterisk/cdr_custom.conf
-/etc/asterisk/cdr_manager.conf
-/etc/asterisk/cdr_syslog.conf
-endef
-
-define Package/asterisk18-res-musiconhold/conffiles
-/etc/asterisk/musiconhold.conf
-endef
-
-define Package/asterisk18-chan-iax2/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/iax.conf $(1)/etc/asterisk/
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/iaxprov.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_iax2.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk18-cdr/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/{cdr,cdr_custom,cdr_manager,cdr_syslog}.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/{app_,app_fork,func_}cdr.so $(1)/usr/lib/asterisk/modules/
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/cdr_csv.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk18-pgsql/conffiles
-/etc/asterisk/cel_pgsql.conf
-/etc/asterisk/cdr_pgsql.conf
-/etc/asterisk/res_pgsql.conf
-endef
-
-define Package/asterisk18-pgsql/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/{cel,cdr,res}_pgsql.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/{cel,cdr,res_config}_pgsql.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk18-res-musiconhold/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/musiconhold.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_musiconhold.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk18-chan-gtalk/conffiles
-/etc/asterisk/gtalk.conf
-/etc/asterisk/jabber.conf
-endef
-
-define Package/asterisk18-chan-gtalk/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/gtalk.conf $(1)/etc/asterisk/
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/jabber.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_gtalk.so $(1)/usr/lib/asterisk/modules/
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_jabber.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk18-chan-mobile/conffiles
-/etc/asterisk/chan_mobile.conf
-endef
-
-define Package/asterisk18-chan-mobile/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/chan_mobile.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_mobile.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk18-res-timing-timerfd/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_timing_timerfd.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk18-res-timing-pthread/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_timing_pthread.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk18-res-fax/conffiles
-/etc/asterisk/res_fax.conf
-endef
-
-define Package/asterisk18-res-fax/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/res_fax.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_fax.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk18-res-fax-spandsp/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_fax_spandsp.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk18-chan-mgcp/conffiles
-/etc/asterisk/mgcp.conf
-endef
-
-define Package/asterisk18-chan-mgcp/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/mgcp.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_mgcp.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk18-chan-skinny/conffiles
-/etc/asterisk/skinny.conf
-endef
-
-define Package/asterisk18-chan-skinny/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/skinny.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_skinny.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk18-curl/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/func_curl.so $(1)/usr/lib/asterisk/modules/
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_curl.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk18-mysql/conffiles
-/etc/asterisk/app_mysql.conf
-/etc/asterisk/res_config_mysql.conf
-/etc/asterisk/cdr_mysql.conf
-endef
-
-define Package/asterisk18-mysql/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/app_mysql.conf $(1)/etc/asterisk/
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/res_config_mysql.conf $(1)/etc/asterisk/
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/cdr_mysql.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/app_mysql.so $(1)/usr/lib/asterisk/modules/
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/cdr_mysql.so $(1)/usr/lib/asterisk/modules/
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_config_mysql.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk18-chan-lantiq/conffiles
-/etc/asterisk/lantiq.conf
-endef
-
-define Package/asterisk18-chan-lantiq/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/lantiq.conf $(1)/etc/asterisk/
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_lantiq.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk18-res-srtp/install
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_srtp.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk18-odbc/conffiles
-/etc/asterisk/cdr_adaptive_odbc.conf
-/etc/asterisk/cdr_odbc.conf
-/etc/asterisk/cel_odbc.conf
-/etc/asterisk/func_odbc.conf
-/etc/asterisk/res_odbc.conf
-endef
-
-define Package/asterisk18-odbc/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(CP) $(PKG_INSTALL_DIR)/etc/asterisk/{cdr_adaptive,cdr,cel,func,res}_odbc.conf $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/{cdr_adaptive,cdr,cel,func,res_config,res}_odbc.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk18-pbx-lua/install
-       $(INSTALL_DIR) $(1)/etc/asterisk
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/extensions.lua $(1)/etc/asterisk/
-       $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/pbx_lua.so $(1)/usr/lib/asterisk/modules/
-endef
-
-define Package/asterisk18-smsq/install
-       $(INSTALL_DIR) $(1)/usr/sbin/
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/smsq $(1)/usr/sbin/
-endef
-
-define Buildasterisk18ModuleTemplate
-
-  define Package/asterisk18-$(subst _,-,$(1))
-  $$(call Package/asterisk18/Default)
-    TITLE:=$(2) support
-    DEPENDS:= asterisk18 $(patsubst +%,+PACKAGE_asterisk18-$(subst _,-,$(1)):%,$(4))
-  endef
-
-  define Package/asterisk18-$(subst _,-,$(1))/description
-  $$(call Package/asterisk18/Default/description)
-    This package provides support $(3) in Asterisk.
-  endef
-
-  define Package/asterisk18-$(subst _,-,$(1))/install
-       $(INSTALL_DIR) $$(1)/usr/lib/asterisk/modules
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$(1).so $$(1)/usr/lib/asterisk/modules/
-  endef
-
-  $$(eval $$(call BuildPackage,asterisk18-$(subst _,-,$(1))))
-endef
-
 $(eval $(call BuildPackage,asterisk18))
-$(eval $(call BuildPackage,asterisk18-voicemail))
-$(eval $(call BuildPackage,asterisk18-sounds))
-$(eval $(call BuildPackage,asterisk18-chan-iax2))
-$(eval $(call BuildPackage,asterisk18-cdr))
-$(eval $(call BuildPackage,asterisk18-res-musiconhold))
-$(eval $(call BuildPackage,asterisk18-chan-gtalk))
-$(eval $(call BuildPackage,asterisk18-chan-mobile))
-$(eval $(call BuildPackage,asterisk18-odbc))
-$(eval $(call BuildPackage,asterisk18-pgsql))
-$(eval $(call BuildPackage,asterisk18-pbx-lua))
-$(eval $(call BuildPackage,asterisk18-res-fax))
-$(eval $(call BuildPackage,asterisk18-res-fax-spandsp))
-$(eval $(call BuildPackage,asterisk18-res-timing-timerfd))
-$(eval $(call BuildPackage,asterisk18-res-timing-pthread))
-$(eval $(call BuildPackage,asterisk18-chan-mgcp))
-$(eval $(call BuildPackage,asterisk18-chan-skinny))
-$(eval $(call BuildPackage,asterisk18-curl))
-$(eval $(call BuildPackage,asterisk18-mysql))
 $(eval $(call BuildPackage,asterisk18-chan-lantiq))
-$(eval $(call BuildPackage,asterisk18-res-srtp))
-$(eval $(call BuildPackage,asterisk18-smsq))
-$(eval $(call Buildasterisk18ModuleTemplate,app_authenticate,Authenticate,support for executing arbitrary authenticate commands))
-$(eval $(call Buildasterisk18ModuleTemplate,app_chanisavail,Channel availability check,support for checking if a channel is available))
-$(eval $(call Buildasterisk18ModuleTemplate,app_chanspy,Channel listen in,support for listening in on any channel))
-$(eval $(call Buildasterisk18ModuleTemplate,app_directed_pickup,Directed call pickup,support for directed call pickup))
-$(eval $(call Buildasterisk18ModuleTemplate,app_exec,Exec application,support for application execution))
-$(eval $(call Buildasterisk18ModuleTemplate,app_followme,FollowMe application,support for FollowMe functionality,+asterisk18-chan-local))
-$(eval $(call Buildasterisk18ModuleTemplate,app_minivm,Minimal voicemail system,a voicemail system in small building blocks working together based on the Comedian Mail voicemail system))
-$(eval $(call Buildasterisk18ModuleTemplate,app_readexten,Extension to variable,a trivial application to read an extension into a variable))
-$(eval $(call Buildasterisk18ModuleTemplate,app_read,Variable read,a trivial application to read a variable))
-$(eval $(call Buildasterisk18ModuleTemplate,app_sayunixtime,Say Unix time,an application to say Unix time))
-$(eval $(call Buildasterisk18ModuleTemplate,app_sms,SMS,SMS support (ETSI ES 201 912 protocol 1),+asterisk18-smsq))
-$(eval $(call Buildasterisk18ModuleTemplate,app_stack,Stack applications, stack applications Gosub Return etc., +asterisk18-res-agi))
-$(eval $(call Buildasterisk18ModuleTemplate,app_system,System exec,support for executing system commands))
-$(eval $(call Buildasterisk18ModuleTemplate,app_talkdetect,File playback with audio detect,for file playback with audio detect))
-$(eval $(call Buildasterisk18ModuleTemplate,app_waituntil,Sleep,support sleeping until the given epoch))
-$(eval $(call Buildasterisk18ModuleTemplate,app_while,While loop,a while loop implementation))
-$(eval $(call Buildasterisk18ModuleTemplate,chan_agent,Agents proxy channel, an implementation of agents proxy channel))
-$(eval $(call Buildasterisk18ModuleTemplate,chan_local,Local proxy channel, an implementation of local proxy channel))
-$(eval $(call Buildasterisk18ModuleTemplate,codec_alaw,Signed linear to alaw translation,translation between signed linear and alaw codecs))
-$(eval $(call Buildasterisk18ModuleTemplate,codec_a_mu,Alaw to ulaw translation,translation between alaw and ulaw codecs))
-$(eval $(call Buildasterisk18ModuleTemplate,codec_g722,G.722,a high bit rate 48/56/64Kbps ITU standard codec))
-$(eval $(call Buildasterisk18ModuleTemplate,codec_g726,Signed linear to G.726 translation,translation between signed linear and ITU G.726-32kbps codecs))
-$(eval $(call Buildasterisk18ModuleTemplate,format_g726,G.726,support for headerless G.726 16/24/32/40kbps data format))
-$(eval $(call Buildasterisk18ModuleTemplate,format_g729,G.729,support for raw headerless G729 data))
-$(eval $(call Buildasterisk18ModuleTemplate,format_sln,Raw slinear format,support for raw slinear format))
-$(eval $(call Buildasterisk18ModuleTemplate,format_sln16,Raw slinear 16 format,support for Raw slinear 16 format))
-$(eval $(call Buildasterisk18ModuleTemplate,func_db,Database interaction,functions for interaction with the database))
-$(eval $(call Buildasterisk18ModuleTemplate,func_devstate,Blinky lights control,functions for manually controlled blinky lights))
-$(eval $(call Buildasterisk18ModuleTemplate,func_vmcount,vmcount dialplan,a vmcount dialplan function))
-$(eval $(call Buildasterisk18ModuleTemplate,func_extstate,Hinted extension state,retrieving the state of a hinted extension for dialplan control))
-$(eval $(call Buildasterisk18ModuleTemplate,func_global,Global variable,global variable dialplan functions))
-$(eval $(call Buildasterisk18ModuleTemplate,func_groupcount,Group count,Counts the number of channels in the specified group))
-$(eval $(call Buildasterisk18ModuleTemplate,func_shell,Shell,support for shell execution))
-$(eval $(call Buildasterisk18ModuleTemplate,pbx_ael,Asterisk Extension Logic,support for symbolic Asterisk Extension Logic))
-$(eval $(call Buildasterisk18ModuleTemplate,res_ael_share,Shareable AEL code,support for shareable AEL code mainly between internal and external modules))
-$(eval $(call Buildasterisk18ModuleTemplate,pbx_spool,Call Spool,outgoing call spool support))
-$(eval $(call Buildasterisk18ModuleTemplate,res_agi,Asterisk Gateway Interface,support for the Asterisk Gateway Interface extension))
-$(eval $(call Buildasterisk18ModuleTemplate,res_crypto,Provide Crypto,Cryptographic Signature capability))
-$(eval $(call Buildasterisk18ModuleTemplate,app_alarmreceiver,Alarm receiver,Central Station Alarm receiver for Ademco Contact ID))
-$(eval $(call Buildasterisk18ModuleTemplate,app_setcallerid,Set callerid,support for setting callerid))
-$(eval $(call Buildasterisk18ModuleTemplate,app_verbose,Verbose logging,Verbose logging application))
-$(eval $(call Buildasterisk18ModuleTemplate,func_channel,Channel info,Channel info dialplan function))
-$(eval $(call Buildasterisk18ModuleTemplate,func_blacklist,Blacklist on callerid,looking up the callerid number and see if it is blacklisted))
-$(eval $(call Buildasterisk18ModuleTemplate,app_originate,Originate a call,originating an outbound call and connecting it to a specified extension or application))
-$(eval $(call Buildasterisk18ModuleTemplate,func_uri,URI encoding and decoding,Encodes and decodes URI-safe strings))
-$(eval $(call Buildasterisk18ModuleTemplate,app_disa,Direct Inward System Access,Direct Inward System Access))
-$(eval $(call Buildasterisk18ModuleTemplate,app_senddtmf,Send DTMF digits,Sends arbitrary DTMF digits))
-$(eval $(call Buildasterisk18ModuleTemplate,func_cut,CUT function,CUT function))
-$(eval $(call Buildasterisk18ModuleTemplate,res_clioriginate,Calls via CLI,Originate calls via the CLI))
-$(eval $(call Buildasterisk18ModuleTemplate,app_mixmonitor,Record a call and mix the audio,record a call and mix the audio during the recording))
-$(eval $(call Buildasterisk18ModuleTemplate,app_playtones,Playtones application,play a tone list))
-$(eval $(call Buildasterisk18ModuleTemplate,app_record,Record sound file,to record a sound file))
+$(eval $(call BuildPackage,asterisk18-sounds))
+
+################################
+# AST modules
+# Params:
+# 1 - Package subname
+# 2 - Package title
+# 3 - Module description
+# 4 - Module dependencies
+# 5 - Full path to multiple conffiles
+# 6 - conf files
+# 7 - module files
+# 8 - sound files
+# 9 - binary files
+################################
+
+$(eval $(call BuildAsterisk18Module,app-alarmreceiver,Alarm receiver,Central Station Alarm receiver for Ademco Contact ID,,,,app_alarmreceiver,))
+$(eval $(call BuildAsterisk18Module,app-authenticate,Authenticate commands,Execute arbitrary authenticate commands,,,,app_authenticate,))
+$(eval $(call BuildAsterisk18Module,app-directed_pickup,Directed call pickup,support for directed call pickup,,,,app_directed_pickup,))
+$(eval $(call BuildAsterisk18Module,app-disa,Direct Inward System Access,Direct Inward System Access,,,,app_disa,))
+$(eval $(call BuildAsterisk18Module,app-exec,Exec application,support for application execution,,,,app_exec,))
+$(eval $(call BuildAsterisk18Module,app-chanisavail,Channel availability check,support for checking if a channel is available,,,,app_chanisavail,))
+$(eval $(call BuildAsterisk18Module,app-chanspy,Channel listen in,support for listening in on any channel,,,,app_chanspy,))
+$(eval $(call BuildAsterisk18Module,app-minivm,Minimal voicemail system,a voicemail system in small building blocks working together based on the Comedian Mail voicemail,,/etc/asterisk/extensions_minivm.conf /etc/asterisk/minivm.conf,extensions_minivm.conf minivm.conf,app_minivm,))
+$(eval $(call BuildAsterisk18Module,app-mixmonitor,Record a call and mix the audio,record a call and mix the audio during the recording,,,,app_mixmonitor,))
+$(eval $(call BuildAsterisk18Module,app-originate,Originate a call,originating an outbound call and connecting it to a specified extension or application,,,,app_originate,))
+$(eval $(call BuildAsterisk18Module,app-playtones,Playtones application,play a tone list,,,,app_playtones,))
+$(eval $(call BuildAsterisk18Module,app-read,Variable read,a trivial application to read a variable,,,,app_read,))
+$(eval $(call BuildAsterisk18Module,app-readexten,Extension to variable,a trivial application to read an extension into a variable,,,,app_readexten,))
+$(eval $(call BuildAsterisk18Module,app-record,Record sound file,to record a sound file,,,,app_record,))
+$(eval $(call BuildAsterisk18Module,app-sayunixtime,Say Unix time,an application to say Unix time,,,,app_sayunixtime,))
+$(eval $(call BuildAsterisk18Module,app-senddtmf,Send DTMF digits,Sends arbitrary DTMF digits,,,,app_senddtmf,))
+$(eval $(call BuildAsterisk18Module,app-setcallerid,Set callerid,Support for setting callerid,,,,app_setcallerid,))
+$(eval $(call BuildAsterisk18Module,app-sms,SMS,SMS support (ETSI ES 201 912 protocol 1),+libpopt +libstdcpp,,,app_sms,,smsq))
+$(eval $(call BuildAsterisk18Module,app-stack,Stack applications, stack applications Gosub Return etc., +asterisk18-res-agi,,,app_stack,))
+$(eval $(call BuildAsterisk18Module,app-system,System exec,support for executing system commands,,,,app_system,))
+$(eval $(call BuildAsterisk18Module,app-talkdetect,File playback with audio detect,for file playback with audio detect,,,,app_talkdetect,))
+$(eval $(call BuildAsterisk18Module,app-verbose,Verbose logging,Verbose logging application,,,,app_verbose,))
+$(eval $(call BuildAsterisk18Module,app-waituntil,Sleep,support sleeping until the given epoch,,,,app_waituntil,))
+$(eval $(call BuildAsterisk18Module,app-while,While loop,a while loop implementation,,,,app_while,))
+$(eval $(call BuildAsterisk18Module,cdr,Provides CDR,Call Detail Record,,/etc/asterisk/cdr.conf /etc/asterisk/cdr_custom.conf /etc/asterisk/cdr_manager.conf /etc/asterisk/cdr_syslog.conf,cdr cdr_custom cdr_manager cdr_syslog,app_cdr app_forkcdr cdr_custom cdr_manager cdr_syslog func_cdr,))
+$(eval $(call BuildAsterisk18Module,cdr-csv,Provides CDR CSV,Call Detail Record with CSV support,,,,cdr_csv,))
+$(eval $(call BuildAsterisk18Module,codec-a-mu,Alaw to ulaw translation,translation between alaw and ulaw codecs,,,,codec_a_mu,))
+$(eval $(call BuildAsterisk18Module,codec-alaw,Signed linear to alaw translation,translation between signed linear and alaw codecs,,,,codec_alaw,))
+$(eval $(call BuildAsterisk18Module,codec-g722,G.722,a high bit rate 48/56/64Kbps ITU standard codec,,,,codec_g722,))
+$(eval $(call BuildAsterisk18Module,codec-g726,Signed linear to G.726 translation,translation between signed linear and ITU G.726-32kbps codecs,,,,codec_g726,))
+$(eval $(call BuildAsterisk18Module,curl,CURL,CURL support,+libcurl,,,func_curl res_curl,))
+$(eval $(call BuildAsterisk18Module,format-g726,G.726,support for headerless G.726 16/24/32/40kbps data format,,,,format_g726,))
+$(eval $(call BuildAsterisk18Module,format-g729,G.729,support for raw headerless G729 data,,,,format_g729,))
+$(eval $(call BuildAsterisk18Module,format-sln,Raw slinear format,support for raw slinear format,,,,format_sln,))
+$(eval $(call BuildAsterisk18Module,format-sln16,Raw slinear 16 format,support for raw slinear 16 format,,,,format_sln16,))
+$(eval $(call BuildAsterisk18Module,func-blacklist,Blacklist on callerid,looking up the callerid number and see if it is blacklisted,,,,func_blacklist,))
+$(eval $(call BuildAsterisk18Module,func-base64,base64 support,support of base64 function,,,,func_base64,))
+$(eval $(call BuildAsterisk18Module,func-cut,CUT function,CUT function,,,,func_cut,))
+$(eval $(call BuildAsterisk18Module,func-db,Database interaction,functions for interaction with the database,,,,func_db,))
+$(eval $(call BuildAsterisk18Module,func-devstate,Blinky lights control,functions for manually controlled blinky lights,,,,func_devstate,))
+$(eval $(call BuildAsterisk18Module,func-extstate,Hinted extension state,retrieving the state of a hinted extension for dialplan control,,,,func_extstate,))
+$(eval $(call BuildAsterisk18Module,func-global,Global variable,global variable dialplan functions,,,,func_global,))
+$(eval $(call BuildAsterisk18Module,func-groupcount,Group count,for counting number of channels in the specified group,,,,func_groupcount,))
+$(eval $(call BuildAsterisk18Module,func-channel,Channel info,Channel info dialplan function,,,,func_channel,))
+$(eval $(call BuildAsterisk18Module,func-shell,Shell,support for shell execution,,,,func_shell,))
+$(eval $(call BuildAsterisk18Module,func-uri,URI encoding and decoding,Encodes and decodes URI-safe strings,,,,func_uri,))
+$(eval $(call BuildAsterisk18Module,func-vmcount,vmcount dialplan,a vmcount dialplan function,,,,func_vmcount,))
+$(eval $(call BuildAsterisk18Module,chan-agent,Agents proxy channel,An implementation of agents proxy channel,,,,chan_agent,))
+$(eval $(call BuildAsterisk18Module,chan-iax2,IAX2 channel,An implementation of IAX2 channel,+asterisk18-res-timing-timerfd,/etc/asterisk/iax.conf /etc/asterisk/iaxprov.conf,iax.conf iaxprov.conf,chan_iax2,))
+$(eval $(call BuildAsterisk18Module,chan-local,Local proxy channel,An implementation of local proxy channel,,,,chan_local,))
+$(eval $(call BuildAsterisk18Module,chan-mgcp,MGCP channel,the channel chan_mgcp,,/etc/asterisk/mgcp.conf,mgcp.conf,chan_mgcp,))
+$(eval $(call BuildAsterisk18Module,chan-mobile,Mobile channel,the channel chan_mobile,+bluez-libs,/etc/asterisk/chan_mobile.conf,chan_mobile.conf,chan_mobile,))
+$(eval $(call BuildAsterisk18Module,chan-ooh323,ooH323 channel,the channel chan_ooh323,,/etc/asterisk/ooh323.conf,ooh323.conf,chan_ooh323,))
+$(eval $(call BuildAsterisk18Module,chan-skinny,Skinny channel,the channel chan_skinny,,/etc/asterisk/skinny.conf,skinny.conf,chan_skinny,))
+$(eval $(call BuildAsterisk18Module,mysql,MySQL,MySQL support,+libmysqlclient,/etc/asterisk/res_config_mysql.conf,res_config_mysql.conf,res_config_mysql,))
+$(eval $(call BuildAsterisk18Module,odbc,ODBC,ODBC support,+libpthread +libc +unixodbc,/etc/asterisk/cdr_adaptive_odbc.conf /etc/asterisk/cdr_odbc.conf /etc/asterisk/cel_odbc.conf /etc/asterisk/func_odbc.conf /etc/asterisk/res_odbc.conf,cdr_adaptive_odbc cdr_odbc cel_odbc func_odbc res_odbc,cdr_adaptive_odbc cdr_odbc cel_odbc func_odbc res_config_odbc res_odbc,))
+$(eval $(call BuildAsterisk18Module,pgsql,PostgreSQL,PostgreSQL support,+libpq,/etc/asterisk/cel_pgsql.conf /etc/asterisk/cdr_pgsql.conf /etc/asterisk/res_pgsql.conf,cel_pgsql.conf cdr_pgsql.conf res_pgsql.conf,cel_pgsql cdr_pgsql res_config_pgsql,))
+$(eval $(call BuildAsterisk18Module,pbx-ael,Asterisk Extension Logic,support for symbolic Asterisk Extension Logic,,,extensions.ael,pbx_ael,))
+$(eval $(call BuildAsterisk18Module,pbx-spool,Call Spool,Outgoing call spool support,,,,pbx_spool,))
+$(eval $(call BuildAsterisk18Module,pbx-lua,Lua,provides Lua resources for Asterisk,+libpthread +libc +liblua,/etc/asterisk/extensions.lua,extensions.lua,pbx_lua,))
+$(eval $(call BuildAsterisk18Module,res-ael-share,Shareable AEL code,support for shareable AEL code mainly between internal and external modules,,,,res_ael_share,))
+$(eval $(call BuildAsterisk18Module,res-agi,Asterisk Gateway Interface,support for the Asterisk Gateway Interface extension,,,,res_agi,))
+$(eval $(call BuildAsterisk18Module,res-clioriginate,Calls via CLI,Originate calls via the CLI,,,,res_clioriginate,))
+$(eval $(call BuildAsterisk18Module,res-crypto,Provides Crypto,Cryptographic Signature capability,,,,res_crypto,))
+$(eval $(call BuildAsterisk18Module,res-monitor,Provides Monitor,Cryptographic Signature capability,,,,res_monitor,))
+$(eval $(call BuildAsterisk18Module,res-phoneprov,Phone Provisioning,Phone provisioning application for the asterisk internal http server,,/etc/asterisk/phoneprov.conf,phoneprov.conf,res_phoneprov,))
+$(eval $(call BuildAsterisk18Module,res-pktccops,Provide PacketCable COPS,simple client/server model for supporting policy control over QoS signaling protocols,,/etc/asterisk/res_pktccops.conf,res_pktccops.conf,res_pktccops,))
+$(eval $(call BuildAsterisk18Module,res-smdi,Provide SMDI,Simple Message Desk Interface capability,,/etc/asterisk/smdi.conf,smdi.conf,res_smdi,))
+$(eval $(call BuildAsterisk18Module,res-fax,FAX modules,Generic FAX resource for FAX technology resource modules,+asterisk18-res-timing-pthread,/etc/asterisk/res_fax.conf /etc/asterisk/udptl.conf,udptl.conf res_fax.conf,res_fax,))
+$(eval $(call BuildAsterisk18Module,res-fax-spandsp,Spandsp T.38 and G.711,Spandsp T.38 and G.711 FAX Resource,+asterisk18-res-fax +libspandsp +libtiff,,,res_fax_spandsp,))
+$(eval $(call BuildAsterisk18Module,res-musiconhold,MOH,Music On Hold support,,/etc/asterisk/musiconhold.conf,musiconhold.conf,res_musiconhold,))
+$(eval $(call BuildAsterisk18Module,res-srtp,SRTP,Secure RTP,+libsrtp,,,res_srtp,))
+$(eval $(call BuildAsterisk18Module,res-timing-pthread,pthread Timing Interface,,,,,res_timing_pthread,))
+$(eval $(call BuildAsterisk18Module,res-timing-timerfd,Timerfd Timing Interface,,,,,res_timing_timerfd,))
+$(eval $(call BuildAsterisk18Module,voicemail,Voicemail,voicemail related modules,,/etc/asterisk/voicemail.conf,voicemail.conf,*voicemail res_adsi res_smdi,vm-*))