source: packages/net/asterisk-1.6.x/Makefile @ 21447

Last change on this file since 21447 was 21447, checked in by zandbelt, 6 years ago

[packages] asterisk-1.6.x: add a bunch of modules through templating

File size: 15.0 KB
Line 
1#
2# Copyright (C) 2008-2009 OpenWrt.org
3#
4# This is free software, licensed under the GNU General Public License v2.
5# See /LICENSE for more information.
6#
7
8include $(TOPDIR)/rules.mk
9
10PKG_NAME:=asterisk
11PKG_VERSION:=1.6.2.6
12PKG_RELEASE:=1
13
14PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
15PKG_SOURCE_URL:=http://downloads.digium.com/pub/asterisk/releases/
16PKG_MD5SUM:=f068ef2433eebdc7f6dd635986f36d77
17
18include $(INCLUDE_DIR)/package.mk
19
20define Package/asterisk16/Default
21  SUBMENU:=asterisk16 (Complete Open Source PBX), v1.6.x
22  SECTION:=net
23  CATEGORY:=Network
24  URL:=http://www.asterisk.org/
25  MAINTAINER:=Hans Zandbelt <hans.zandbelt@gmail.com>
26endef
27
28define Package/asterisk16/Default/description
29 Asterisk is a complete PBX in software. It provides all of the features
30 you would expect from a PBX and more. Asterisk does voice over IP in three
31 protocols, and can interoperate with almost all standards-based telephony
32 equipment using relatively inexpensive hardware.
33endef
34
35
36define Package/asterisk16
37$(call Package/asterisk16/Default)
38  TITLE:=Complete open source PBX
39  DEPENDS:= +libopenssl +libncurses +libpopt +libpthread +zlib @!TARGET_avr32 @!PACKAGE_asterisk14
40endef
41
42define Package/asterisk16/description
43$(call Package/asterisk16/Default/description)
44endef
45
46define Package/asterisk16-sounds
47$(call Package/asterisk16/Default)
48  TITLE:=Sound files
49  DEPENDS:= +asterisk16
50endef
51
52define Package/asterisk16-sounds/description
53$(call Package/asterisk16/Default/description)
54 This package contains sound files for Asterisk.
55endef
56
57
58define Package/asterisk16-voicemail
59$(call Package/asterisk16/Default)
60  TITLE:=Voicemail support
61  DEPENDS:= +asterisk16
62endef
63
64define Package/asterisk16-voicemail/description
65$(call Package/asterisk16/Default/description)
66 This package contains voicemail related modules for Asterisk.
67endef
68
69define Package/asterisk16-app-meetme
70$(call Package/asterisk16/Default)
71  TITLE:=conferencing support
72  DEPENDS:= +asterisk16 +dahdi-tools-libtonezone +kmod-dahdi-linux
73endef
74
75define Package/asterisk16-app-meetme/description
76$(call Package/asterisk16/Default/description)
77 This package provides the MeetMe application driver Conferencing support to
78 Asterisk.
79endef
80
81define Package/asterisk16-chan-iax2
82$(call Package/asterisk16/Default)
83  TITLE:=IAX support
84  DEPENDS:= +asterisk16
85endef
86
87define Package/asterisk16-chan-iax2/description
88$(call Package/asterisk16/Default/description)
89 This package provides IAX support to
90 Asterisk.
91endef
92
93define Package/asterisk16-cdr
94$(call Package/asterisk16/Default)
95  TITLE:=CDR support
96  DEPENDS:= +asterisk16
97endef
98
99define Package/asterisk16-cdr/description
100$(call Package/asterisk16/Default/description)
101 This package provides Call Detail Record support to
102 Asterisk.
103endef
104
105define Package/asterisk16-res-musiconhold
106$(call Package/asterisk16/Default)
107  TITLE:=MOH support
108  DEPENDS:= +asterisk16
109endef
110
111define Package/asterisk16-res-musiconhold/description
112$(call Package/asterisk16/Default/description)
113 This package provides Music On Hold support to
114 Asterisk.
115endef
116
117define Package/asterisk16-chan-gtalk
118$(call Package/asterisk16/Default)
119  TITLE:=GTalk support
120  DEPENDS:= +asterisk16 +libiksemel
121endef
122
123define Package/asterisk16-chan-gtalk/description
124$(call Package/asterisk16/Default/description)
125 This package provides the channel chan_gtalk and res_jabber for GTalk
126 support to Asterisk.
127endef
128 
129CONFIGURE_ARGS+= \
130        --without-curl \
131        --without-curses \
132        --with-gsm=internal \
133        --without-gtk \
134        --without-gtk2 \
135        --without-isdnnet \
136        --without-kde \
137        --without-misdn \
138        --without-nbs \
139        --with-ncurses="$(STAGING_DIR)/usr" \
140        --without-netsnmp \
141        --without-newt \
142        --without-odbc \
143        --without-ogg \
144        --without-osptk \
145        --with-popt="$(STAGING_DIR)/usr" \
146        --without-pri \
147        --without-qt \
148        --without-radius \
149        --without-sdl \
150        --without-spandsp \
151        --without-suppserv \
152        --without-tds \
153        --without-termcap \
154        --without-tinfo \
155        --without-vorbis \
156        --without-vpb \
157        --with-z="$(STAGING_DIR)/usr" \
158        --disable-xmldoc \
159
160ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk16-app-meetme),)
161  CONFIGURE_ARGS+= \
162        --with-dahdi="$(STAGING_DIR)/usr"
163else
164  CONFIGURE_ARGS+= \
165        --without-dahdi
166endif
167
168ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk16-chan-gtalk),)
169  CONFIGURE_ARGS+= \
170        --with-gnutls="$(STAGING_DIR)/usr" \
171        --with-iksemel="$(STAGING_DIR)/usr"
172  SITE_VARS+= \
173        ac_cv_lib_iksemel_iks_start_sasl=yes \
174        ac_cv_lib_gnutls_gnutls_bye=yes
175else
176  CONFIGURE_ARGS+= \
177        --without-gnutls \
178        --without-iksemel
179endif
180
181EXTRA_CFLAGS:= $(TARGET_CPPFLAGS)
182EXTRA_LDFLAGS:= $(TARGET_LDFLAGS)
183
184define Build/Configure
185        -rm $(PKG_BUILD_DIR)/menuselect.makeopts
186        $(call Build/Configure/Default,,$(SITE_VARS))
187endef
188
189define Build/Compile
190        $(MAKE) -C "$(PKG_BUILD_DIR)" \
191                include/asterisk/version.h \
192                include/asterisk/buildopts.h defaults.h \
193                makeopts.embed_rules
194        ASTCFLAGS="$(EXTRA_CFLAGS) -DLOW_MEMORY $(TARGET_CFLAGS)" \
195        ASTLDFLAGS="$(EXTRA_LDFLAGS)" \
196        $(MAKE) -C "$(PKG_BUILD_DIR)" \
197                ASTVARLIBDIR="/usr/lib/asterisk" \
198                NOISY_BUILD="1" \
199                DEBUG="" \
200                OPTIMIZE="" \
201                DESTDIR="$(PKG_INSTALL_DIR)" \
202                all install samples
203        $(SED) 's|/var/lib/asterisk|/usr/lib/asterisk|g' $(PKG_INSTALL_DIR)/etc/asterisk/musiconhold.conf
204endef
205
206#define Build/InstallDev
207#       $(INSTALL_DIR) $(1)/usr/include/asterisk/
208#       $(CP) $(PKG_INSTALL_DIR)/usr/include/asterisk/*.h $(1)/usr/include/asterisk/
209#       $(CP) $(PKG_INSTALL_DIR)/usr/include/asterisk.h $(1)/usr/include/
210#endef
211
212define Package/asterisk16/conffiles
213/etc/asterisk/asterisk.conf
214/etc/asterisk/modules.conf
215/etc/asterisk/extensions.conf
216/etc/asterisk/sip.conf
217/etc/asterisk/sip_notify.conf
218/etc/asterisk/features.conf
219/etc/asterisk/indications.conf
220/etc/asterisk/logger.conf
221/etc/asterisk/manager.conf
222/etc/asterisk/rtp.conf
223/etc/default/asterisk
224/etc/init.d/asterisk
225endef
226
227define Package/asterisk16/install
228        $(INSTALL_DIR) $(1)/etc/asterisk
229        for f in asterisk extensions features \
230                indications logger manager modules \
231                sip sip_notify rtp; do \
232                $(CP) $(PKG_INSTALL_DIR)/etc/asterisk/$$$$f.conf $(1)/etc/asterisk/ ; \
233        done
234        $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
235        for f in app_dial app_echo app_playback app_macro \
236                chan_sip \
237                codec_ulaw codec_gsm \
238                format_gsm format_pcm format_wav format_wav_gsm \
239                pbx_config \
240                func_strings func_timeout func_callerid; do \
241                $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
242        done
243        $(INSTALL_DIR) $(1)/usr/sbin
244        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/asterisk $(1)/usr/sbin/
245        $(INSTALL_DIR) $(1)/etc/default
246        $(INSTALL_DATA)  ./files/asterisk.default $(1)/etc/default/asterisk
247        $(INSTALL_DIR) $(1)/etc/init.d
248        $(INSTALL_BIN)  ./files/asterisk.init $(1)/etc/init.d/asterisk
249endef
250
251define Package/asterisk16-sounds/install
252        $(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds/
253        $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/sounds/en/* $(1)/usr/lib/asterisk/sounds/
254        rm -f $(1)/usr/lib/asterisk/sounds/vm-*
255        rm -f $(1)/usr/lib/asterisk/sounds/conf-*
256endef
257
258
259define Package/asterisk16-voicemail/conffiles
260/etc/asterisk/voicemail.conf
261endef
262
263define Package/asterisk16-voicemail/install
264        $(INSTALL_DIR) $(1)/etc/asterisk
265        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/voicemail.conf $(1)/etc/asterisk/
266        $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
267        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/*voicemail.so $(1)/usr/lib/asterisk/modules/
268        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_adsi.so $(1)/usr/lib/asterisk/modules/
269        $(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds/
270        $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/sounds/en/vm-*.gsm $(1)/usr/lib/asterisk/sounds/
271endef
272
273define Package/asterisk16-app-meetme/conffiles
274/etc/asterisk/meetme.conf
275endef
276
277define Package/asterisk16-app-meetme/install
278        $(INSTALL_DIR) $(1)/etc/asterisk
279        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/meetme.conf $(1)/etc/asterisk/
280        $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
281        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/app_meetme.so $(1)/usr/lib/asterisk/modules/
282        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_dahdi.so $(1)/usr/lib/asterisk/modules/
283        $(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds/
284        $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/sounds/en/conf-*.gsm $(1)/usr/lib/asterisk/sounds/
285endef
286
287define Package/asterisk16-chan-iax2/conffiles
288/etc/asterisk/iax.conf
289/etc/asterisk/iaxprov.conf
290endef
291
292define Package/asterisk16-cdr/conffiles
293/etc/asterisk/cdr.conf
294/etc/asterisk/cdr_custom.conf
295/etc/asterisk/cdr_manager.conf
296/etc/asterisk/cdr_odbc.conf
297/etc/asterisk/cdr_pgsql.conf
298/etc/asterisk/cdr_tds.conf
299endef
300
301define Package/asterisk16-res-musiconhold/conffiles
302/etc/asterisk/musiconhold.conf
303endef
304
305define Package/asterisk16-chan-iax2/install
306        $(INSTALL_DIR) $(1)/etc/asterisk
307        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/iax.conf $(1)/etc/asterisk/
308        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/iaxprov.conf $(1)/etc/asterisk/
309        $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
310        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_iax2.so $(1)/usr/lib/asterisk/modules/
311endef
312
313define Package/asterisk16-cdr/install
314        $(INSTALL_DIR) $(1)/etc/asterisk
315        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/cdr*.conf $(1)/etc/asterisk/
316        $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
317        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/*cdr*.so $(1)/usr/lib/asterisk/modules/
318endef
319
320define Package/asterisk16-res-musiconhold/install
321        $(INSTALL_DIR) $(1)/etc/asterisk
322        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/musiconhold.conf $(1)/etc/asterisk/
323        $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
324        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_musiconhold.so $(1)/usr/lib/asterisk/modules/
325endef
326
327define Package/asterisk16-chan-gtalk/conffiles
328/etc/asterisk/gtalk.conf
329/etc/asterisk/jabber.conf
330endef
331
332define Package/asterisk16-chan-gtalk/install
333        $(INSTALL_DIR) $(1)/etc/asterisk
334        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/gtalk.conf $(1)/etc/asterisk/
335        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/jabber.conf $(1)/etc/asterisk/
336        $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
337        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_gtalk.so $(1)/usr/lib/asterisk/modules/
338        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_jabber.so $(1)/usr/lib/asterisk/modules/
339endef
340
341define BuildAsterisk16ModuleTemplate
342
343  define Package/asterisk16-$(subst _,-,$(1))
344  $$(call Package/asterisk16/Default)
345    TITLE:=$(2) support
346    DEPENDS:= +asterisk16
347  endef
348
349  define Package/asterisk16-$(subst _,-,$(1))/description
350  $$(call Package/asterisk16/Default/description)
351    This package provides support $(3) in Asterisk.
352  endef
353
354  define Package/asterisk16-$(subst _,-,$(1))/install
355        $(INSTALL_DIR) $$(1)/usr/lib/asterisk/modules
356        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$(1).so $$(1)/usr/lib/asterisk/modules/
357  endef
358
359  $$(eval $$(call BuildPackage,asterisk16-$(subst _,-,$(1))))
360endef
361
362$(eval $(call BuildPackage,asterisk16))
363$(eval $(call BuildPackage,asterisk16-voicemail))
364$(eval $(call BuildPackage,asterisk16-sounds))
365#$(eval $(call BuildPackage,asterisk16-app-meetme))
366$(eval $(call BuildPackage,asterisk16-chan-iax2))
367$(eval $(call BuildPackage,asterisk16-cdr))
368$(eval $(call BuildPackage,asterisk16-res-musiconhold))
369$(eval $(call BuildPackage,asterisk16-chan-gtalk))
370$(eval $(call BuildAsterisk16ModuleTemplate,app_authenticate,Authenticate,support for executing arbitrary authenticate commands))
371$(eval $(call BuildAsterisk16ModuleTemplate,app_chanisavail,Channel availability check,support for checking if a channel is available))
372$(eval $(call BuildAsterisk16ModuleTemplate,app_chanspy,Channel listen in,support for listening in on any channel))
373$(eval $(call BuildAsterisk16ModuleTemplate,app_directed_pickup,Directed call pickup,support for directed call pickup))
374$(eval $(call BuildAsterisk16ModuleTemplate,app_exec,Exec application,support for application execution))
375$(eval $(call BuildAsterisk16ModuleTemplate,app_minivm,Minimal voicemail system,a voicemail system in small building blocks working together based on the Comedian Mail voicemail system))
376$(eval $(call BuildAsterisk16ModuleTemplate,app_readexten,Extension to variable,a trivial application to read an extension into a variable))
377$(eval $(call BuildAsterisk16ModuleTemplate,app_read,Variable read,a trivial application to read a variable))
378$(eval $(call BuildAsterisk16ModuleTemplate,app_sayunixtime,Say Unix time,an application to say Unix time))
379$(eval $(call BuildAsterisk16ModuleTemplate,app_sms,SMS,SMS support (ETSI ES 201 912 protocol 1)))
380$(eval $(call BuildAsterisk16ModuleTemplate,app_stack,Stack applications, stack applications Gosub Return etc.))
381$(eval $(call BuildAsterisk16ModuleTemplate,app_system,System exec,support for executing system commands))
382$(eval $(call BuildAsterisk16ModuleTemplate,app_talkdetect,File playback with audio detect,for file playback with audio detect))
383$(eval $(call BuildAsterisk16ModuleTemplate,app_waituntil,Sleep,support sleeping until the given epoch))
384$(eval $(call BuildAsterisk16ModuleTemplate,app_while,While loop,a while loop implementation))
385$(eval $(call BuildAsterisk16ModuleTemplate,chan_agent,Agents proxy channel, an implementation of agents proxy channel))
386$(eval $(call BuildAsterisk16ModuleTemplate,chan_local,Local proxy channel, an implementation of local proxy channel))
387$(eval $(call BuildAsterisk16ModuleTemplate,codec_ulaw,Signed linear to ulaw translation,translation between signed linear and ulaw codecs))
388$(eval $(call BuildAsterisk16ModuleTemplate,codec_a_mu,Alaw to ulaw translation,translation between alaw and ulaw codecs))
389$(eval $(call BuildAsterisk16ModuleTemplate,codec_g726,Signed linear to G.726 translation,translation between signed linear and ITU G.726-32kbps codecs))
390$(eval $(call BuildAsterisk16ModuleTemplate,format_g726,G.726,support for headerless G.726 16/24/32/40kbps data format))
391$(eval $(call BuildAsterisk16ModuleTemplate,format_g729,G.729,support for raw headerless G729 data))
392$(eval $(call BuildAsterisk16ModuleTemplate,format_sln,Raw slinear format,support for raw slinear format))
393$(eval $(call BuildAsterisk16ModuleTemplate,format_sln16,Raw slinear 16 format,support for Raw slinear 16 format))
394$(eval $(call BuildAsterisk16ModuleTemplate,func_db,Database interaction,functions for interaction with the database))
395$(eval $(call BuildAsterisk16ModuleTemplate,func_devstate,Blinky lights control,functions for manually controlled blinky lights))
396$(eval $(call BuildAsterisk16ModuleTemplate,func_vmcount,vmcount dialplan,a vmcount dialplan function))
397$(eval $(call BuildAsterisk16ModuleTemplate,func_extstate,Hinted extension state,retrieving the state of a hinted extension for dialplan control))
398$(eval $(call BuildAsterisk16ModuleTemplate,func_global,Global variable,global variable dialplan functions))
399$(eval $(call BuildAsterisk16ModuleTemplate,func_shell,Shell,support for shell execution))
400$(eval $(call BuildAsterisk16ModuleTemplate,pbx_ael,Asterisk Extension Logic,support for symbolic Asterisk Extension Logic))
401$(eval $(call BuildAsterisk16ModuleTemplate,res_ael_share,Shareable AEL code,support for shareable AEL code mainly between internal and external modules))
402$(eval $(call BuildAsterisk16ModuleTemplate,res_agi,Asterisk Gateway Interface,support for the Asterisk Gateway Interface extension))
Note: See TracBrowser for help on using the repository browser.