binutils: allow static linking
[openadk.git] / package / asterisk / Makefile
blob5d9f10881d5cacbba915f45c8ed866dc843122a1
1 # This file is part of the OpenADK project. OpenADK is copyrighted
2 # material, please see the LICENCE file in the top-level directory.
4 include $(ADK_TOPDIR)/rules.mk
6 PKG_NAME:= asterisk
7 PKG_VERSION:= 20.11.1
8 PKG_RELEASE:= 1
9 PKG_HASH:= 5ad25c136c7772f0ad10ae02d59f19b32c0cf64027278e3de6a6314ee24d5ff9
10 PKG_DESCR:= open source pbx
11 PKG_SECTION:= net/voip
12 PKG_DEPENDS:= libncurses libcurl libopenssl libedit libuuid libjansson
13 PKG_DEPENDS+= libxml2 libsqlite libxslt
14 PKG_BUILDDEP:= ncurses zlib curl popt openssl libedit util-linux libjansson
15 PKG_BUILDDEP+= libxml2 sqlite libxslt
16 PKG_NEEDS:= threads c++
17 PKG_URL:= http://www.asterisk.org/
18 PKG_SITES:= http://downloads.asterisk.org/pub/telephony/asterisk/releases/
20 DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
22 PKG_LIBC_DEPENDS:= uclibc-ng glibc
24 PKG_SUBPKGS:= ASTERISK ASTERISK_VOICEMAIL ASTERISK_SOUNDS
25 PKG_SUBPKGS+= ASTERISK_CHAN_IAX2 ASTERISK_CODEC_SPEEX ASTERISK_CODEC_GSM
26 PKG_SUBPKGS+= ASTERISK_PBX_DUNDI ASTERISK_RES_AGI
27 PKGSD_ASTERISK_VOICEMAIL:= voicemail support
28 PKGSN_ASTERISK_VOICEMAIL:= asterisk
29 PKGSD_ASTERISK_CODEC_GSM:= GSM codec support
30 PKGSN_ASTERISK_CODEC_GSM:= asterisk
31 PKGSD_ASTERISK_PBX_DUNDI:= PBX dundi support
32 PKGSN_ASTERISK_PBX_DUNDI:= asterisk
33 PKGSD_ASTERISK_RES_AGI:= res agi support
34 PKGSN_ASTERISK_RES_AGI:= asterisk
35 PKGSD_ASTERISK_CHAN_IAX2:= support for the Inter Asterisk Protocol
36 PKGSN_ASTERISK_CHAN_IAX2:= asterisk
37 PKGSD_ASTERISK_CODEC_SPEEX:= speex/PCM16 Codec translator
38 PKGSB_ASTERISK_CODEC_SPEEX:= speex
39 PKGSN_ASTERISK_CODEC_SPEEX:= asterisk
40 PKGSD_ASTERISK_SOUNDS:= various soundfiles in GSM format
41 PKGSN_ASTERISK_SOUNDS:= asterisk
42 PKGSS_ASTERISK_SOUNDS:= asterisk-codec-gsm
44 include $(ADK_TOPDIR)/mk/package.mk
46 $(eval $(call PKG_template,ASTERISK,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
47 $(eval $(call PKG_template,ASTERISK_VOICEMAIL,asterisk-voicemail,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_ASTERISK_VOICEMAIL},${PKG_SECTION}))
48 $(eval $(call PKG_template,ASTERISK_SOUNDS,asterisk-sounds,$(PKG_VERSION)-${PKG_RELEASE},${PKGSS_ASTERISK_SOUNDS},${PKGSD_ASTERISK_SOUNDS},${PKG_SECTION}))
49 $(eval $(call PKG_template,ASTERISK_CHAN_IAX2,asterisk-chan-iax2,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_ASTERISK_CHAN_IAX2},${PKG_SECTION}))
50 $(eval $(call PKG_template,ASTERISK_CODEC_SPEEX,asterisk-codec-speex,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_ASTERISK_CODEC_SPEEX},${PKG_SECTION}))
51 $(eval $(call PKG_template,ASTERISK_CODEC_GSM,asterisk-codec-gsm,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_ASTERISK_CODEC_GSM},${PKG_SECTION}))
52 $(eval $(call PKG_template,ASTERISK_PBX_DUNDI,asterisk-pbx-dundi,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_ASTERISK_PBX_DUNDI},${PKG_SECTION}))
53 $(eval $(call PKG_template,ASTERISK_RES_AGI,asterisk-res-agi,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_ASTERISK_RES_AGI},${PKG_SECTION}))
55 CONFIGURE_ARGS= --with-z=${STAGING_TARGET_DIR}/usr \
56 --with-libedit=${STAGING_TARGET_DIR}/usr \
57 --with-jansson=${STAGING_TARGET_DIR}/usr \
58 --with-ssl=${STAGING_TARGET_DIR}/usr \
59 --disable-xmldoc \
60 --without-tonezone \
61 --without-asound \
62 --without-gtk2 \
63 --without-iksemel \
64 --without-imap \
65 --without-netsnmp \
66 --without-newt \
67 --without-osptk \
68 --without-popt \
69 --without-portaudio \
70 --without-pri \
71 --without-tds \
72 --without-postgres
74 ifneq (${ADK_PACKAGE_ASTERISK_CODEC_GSM},)
75 CONFIGURE_ARGS+= --with-gsm=internal
76 else
77 CONFIGURE_ARGS+= --without-gsm
78 endif
79 ifneq (${ADK_PACKAGE_ASTERISK_CODEC_SPEEX},)
80 CONFIGURE_ARGS+= --with-speex=${STAGING_TARGET_DIR}/usr
81 EXTRA_CFLAGS+= -I$(STAGING_TARGET_DIR)/usr/include/speex
82 endif
83 ifneq (${ADK_PACKAGE_ASTERISK_FORMAT_VORBIS},)
84 CONFIGURE_ARGS+= --with-ogg=${STAGING_TARGET_DIR}/usr \
85 --with-vorbis=${STAGING_TARGET_DIR}/usr
86 TARGET_LDFLAGS+= -logg
87 endif
88 ifneq (${ADK_PACKAGE_ASTERISK_CURL},)
89 CONFIGURE_ARGS+= --with-libcurl=${STAGING_TARGET_DIR}/usr
90 else
91 CONFIGURE_ARGS+= --without-libcurl
92 endif
94 INSTALL_STYLE:= manual
96 TARGET_LDFLAGS+= -lm -ltinfo -ldl -lpthread
97 MAKE_ENV:= PATH="$(HOST_PATH)" \
98 ASTCFLAGS="${TARGET_CPPFLAGS} -DHAVE_STRTOQ" \
99 ASTLDFLAGS="${TARGET_LDFLAGS} -z muldefs"
100 MAKE_FLAGS+= DESTDIR="$(WRKINST)" \
101 OPTIMIZE="${TARGET_CFLAGS}" \
102 NOISY_BUILD=1
103 ALL_TARGET:= all install samples
105 pre-configure:
106 cd "$(WRKBUILD)/menuselect"; PATH="$(HOST_PATH)" ./configure
108 pre-build:
109 PATH="$(HOST_PATH)" $(MAKE) -C $(WRKBUILD)/menuselect
111 #post-build:
112 # cd ${WRKBUILD}/sounds ; \
113 # tar xzf asterisk-core-sounds-en-gsm-1.4.25.tar.gz ; \
114 # rm asterisk-core-sounds-en-gsm-1.4.25.tar.gz
116 do-install:
117 $(CP) $(WRKINST)/* $(IDIR_ASTERISK)
118 rm -rf $(IDIR_ASTERISK)/usr/sbin/astgenkey
119 rm -rf $(IDIR_ASTERISK)/usr/bin
120 rm -rf $(IDIR_ASTERISK)/usr/share
121 rm -rf $(IDIR_ASTERISK)/usr/include
122 rm -rf $(IDIR_ASTERISK)/var
123 (cd $(IDIR_ASTERISK)/usr/lib/asterisk; \
124 rm -rf agi-bin; \
125 rm -rf images; \
126 rm -rf keys/*; \
127 rm -rf mohmp3/*.mp3; \
128 rm -rf sounds/*; \
129 ln -s /tmp sounds/priv-callerintros; \
130 cd modules; \
131 rm -rf *adsi* *festival* *modem* *meetme* *oss* \
132 *phone* *intercom* *mp3* *nbscat* *mysql* \
133 *postgres* *pgsql* *voicemail* *speex* \
134 *zapateller* *jpeg*; \
135 rm -f chan_bluetooth.so ; \
136 rm -f chan_h323.so ; \
137 rm -f chan_iax2.so ; \
138 rm -f chan_mgcp.so ; \
139 rm -f chan_skinny.so ; \
140 rm -f {codec,format}_ilbc.so ; \
141 rm -f codec_gsm.so ; \
142 rm -f codec_lpc10.so ; \
143 rm -f pbx_dundi.so ; \
144 rm -f res_agi.so ; \
146 (cd $(IDIR_ASTERISK)/etc/asterisk; \
147 rm -f *iax* *odbc* *mysql* *postgres* *pgsql* \
148 *voicemail* *adsi* *oss* *alsa* \
149 *festival* *modem* *meetme* *phone* *tds* \
150 *vofr* *rpt* *vpb* \
151 *zapata*; \
152 rm -f bluetooth.conf ; \
153 rm -f mgcp.conf ; \
154 rm -f gtalk.conf ; \
155 rm -f skinny.conf ; \
156 rm -f dundi.conf ; \
157 $(SED) '/^astdatadir /s#/var/#/usr/#' asterisk.conf ; \
158 $(SED) '/^\[directories\]/s/(!)//' asterisk.conf ; \
160 ${INSTALL_DATA} ./files/modules.conf $(IDIR_ASTERISK)/etc/asterisk/
161 $(SED) 's|/var/lib/asterisk|/usr/lib/asterisk|g' \
162 $(WRKINST)/etc/asterisk/musiconhold.conf
164 asterisk-sounds-install:
165 ${INSTALL_DIR} $(IDIR_ASTERISK_SOUNDS)/usr/lib/asterisk/sounds
166 $(CP) $(WRKBUILD)/sounds/* \
167 $(IDIR_ASTERISK_SOUNDS)/usr/lib/asterisk/sounds/
168 (cd $(IDIR_ASTERISK_SOUNDS)/usr/lib/asterisk/sounds; \
169 rm -f *.mp3 vm-*; \
170 rm -f CHANGES* CREDITS* LICENSE* *.txt ; \
171 rm -f *.tar.gz Makefile ; \
174 asterisk-voicemail-install:
175 ${INSTALL_DIR} $(IDIR_ASTERISK_VOICEMAIL)/etc/asterisk
176 ${INSTALL_DIR} $(IDIR_ASTERISK_VOICEMAIL)/usr/lib/asterisk/modules
177 ${INSTALL_DATA} $(WRKBUILD)/configs/samples/voicemail.conf.sample \
178 $(IDIR_ASTERISK_VOICEMAIL)/etc/asterisk/voicemail.conf
179 ${CP} $(WRKBUILD)/apps/*voicemail.so \
180 $(IDIR_ASTERISK_VOICEMAIL)/usr/lib/asterisk/modules/
181 ${INSTALL_BIN} $(WRKBUILD)/res/res_adsi.so \
182 $(IDIR_ASTERISK_VOICEMAIL)/usr/lib/asterisk/modules/
184 asterisk-chan-iax2-install:
185 ${INSTALL_DIR} $(IDIR_ASTERISK_CHAN_IAX2)/etc/asterisk
186 ${INSTALL_DIR} $(IDIR_ASTERISK_CHAN_IAX2)/usr/lib/asterisk/modules
187 ${INSTALL_DATA} $(WRKBUILD)/configs/samples/iax.conf.sample \
188 $(IDIR_ASTERISK_CHAN_IAX2)/etc/asterisk/iax.conf
189 ${INSTALL_DATA} $(WRKBUILD)/configs/samples/iaxprov.conf.sample \
190 $(IDIR_ASTERISK_CHAN_IAX2)/etc/asterisk/iaxprov.conf
191 ${INSTALL_BIN} $(WRKBUILD)/channels/chan_iax2.so \
192 $(IDIR_ASTERISK_CHAN_IAX2)/usr/lib/asterisk/modules/
194 asterisk-codec-speex-install:
195 ${INSTALL_DIR} $(IDIR_ASTERISK_CODEC_SPEEX)/usr/lib/asterisk/modules
196 ${INSTALL_BIN} $(WRKBUILD)/codecs/codec_speex.so \
197 $(IDIR_ASTERISK_CODEC_SPEEX)/usr/lib/asterisk/modules/
199 asterisk-codec-gsm-install:
200 ${INSTALL_DIR} $(IDIR_ASTERISK_CODEC_GSM)/usr/lib/asterisk/modules/
201 ${INSTALL_BIN} $(WRKBUILD)/codecs/codec_gsm.so \
202 $(IDIR_ASTERISK_CODEC_GSM)/usr/lib/asterisk/modules/
204 asterisk-pbx-dundi-install:
205 ${INSTALL_DIR} $(IDIR_ASTERISK_PBX_DUNDI)/etc/asterisk
206 ${INSTALL_DATA} $(WRKBUILD)/configs/samples/dundi.conf.sample \
207 $(IDIR_ASTERISK_PBX_DUNDI)/etc/asterisk/dundi.conf
208 ${INSTALL_DIR} $(IDIR_ASTERISK_PBX_DUNDI)/usr/lib/asterisk/modules
209 ${INSTALL_BIN} $(WRKBUILD)/pbx/pbx_dundi.so \
210 $(IDIR_ASTERISK_PBX_DUNDI)/usr/lib/asterisk/modules/
212 asterisk-res-agi-install:
213 ${INSTALL_DIR} $(IDIR_ASTERISK_RES_AGI)/usr/lib/asterisk/agi-bin
214 ${INSTALL_DIR} $(IDIR_ASTERISK_RES_AGI)/usr/lib/asterisk/modules
215 ${INSTALL_BIN} $(WRKBUILD)/res/res_agi.so \
216 $(IDIR_ASTERISK_RES_AGI)/usr/lib/asterisk/modules/
218 asterisk-meetme-install:
219 ${INSTALL_DIR} ${IDIR_ASTERISK_MEETME}/etc/asterisk/
220 ${INSTALL_DIR} ${IDIR_ASTERISK_MEETME}/usr/lib/asterisk/modules
221 ${INSTALL_DATA} ${WRKBUILD}/configs/samples/meetme.conf.sample \
222 ${IDIR_ASTERISK_MEETME}/etc/asterisk/meetme.conf
223 ${INSTALL_BIN} ${WRKBUILD}/apps/app_meetme.so \
224 ${IDIR_ASTERISK_MEETME}/usr/lib/asterisk/modules
226 include ${ADK_TOPDIR}/mk/pkg-bottom.mk