Makefile 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. # $Id$
  2. #-
  3. # This file is part of the OpenADK project. OpenADK is copyrighted
  4. # material, please see the LICENCE file in the top-level directory.
  5. include $(TOPDIR)/rules.mk
  6. PKG_NAME:= asterisk
  7. PKG_VERSION:= 1.4.24.1
  8. PKG_RELEASE:= 1
  9. PKG_MD5SUM:= 2b74744350f420b3a94d5323c489426f
  10. MASTER_SITES:= http://downloads.digium.com/pub/telephony/asterisk/releases/
  11. include $(TOPDIR)/mk/package.mk
  12. $(eval $(call PKG_template,ASTERISK,asterisk,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
  13. $(eval $(call PKG_template,ASTERISK_PGSQL,asterisk-pgsql,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
  14. $(eval $(call PKG_template,ASTERISK_VOICEMAIL,asterisk-voicemail,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
  15. $(eval $(call PKG_template,ASTERISK_SOUNDS,asterisk-sounds,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
  16. $(eval $(call PKG_template,ASTERISK_CHAN_MGCP,asterisk-chan-mgcp,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
  17. $(eval $(call PKG_template,ASTERISK_CHAN_SKINNY,asterisk-chan-skinny,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
  18. $(eval $(call PKG_template,ASTERISK_CHAN_IAX2,asterisk-chan-iax2,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
  19. $(eval $(call PKG_template,ASTERISK_CODEC_SPEEX,asterisk-codec-speex,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
  20. $(eval $(call PKG_template,ASTERISK_CODEC_GSM,asterisk-codec-gsm,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
  21. $(eval $(call PKG_template,ASTERISK_PBX_DUNDI,asterisk-pbx-dundi,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
  22. $(eval $(call PKG_template,ASTERISK_RES_AGI,asterisk-res-agi,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
  23. SUB_INSTALLS-y:=
  24. SUB_INSTALLS-m:=
  25. SUB_INSTALLS-${ADK_PACKAGE_ASTERISK_PGSQL}+= asterisk-pgsql-install
  26. SUB_INSTALLS-${ADK_PACKAGE_ASTERISK_VOICEMAIL}+= asterisk-voicemail-install
  27. SUB_INSTALLS-${ADK_PACKAGE_ASTERISK_SOUNDS}+= asterisk-sounds-install
  28. SUB_INSTALLS-${ADK_PACKAGE_ASTERISK_CHAN_MGCP}+= asterisk-chan-mgcp-install
  29. SUB_INSTALLS-${ADK_PACKAGE_ASTERISK_CHAN_SKINNY}+= asterisk-chan-skinny-install
  30. SUB_INSTALLS-${ADK_PACKAGE_ASTERISK_CHAN_IAX2}+= asterisk-chan-iax2-install
  31. SUB_INSTALLS-${ADK_PACKAGE_ASTERISK_CODEC_SPEEX}+= asterisk-codec-speex-install
  32. SUB_INSTALLS-${ADK_PACKAGE_ASTERISK_CODEC_GSM}+= asterisk-codec-gsm-install
  33. SUB_INSTALLS-${ADK_PACKAGE_ASTERISK_PBX_DUNDI}+= asterisk-pbx-dundi-install
  34. SUB_INSTALLS-${ADK_PACKAGE_ASTERISK_RES_AGI}+= asterisk-res-agi-install
  35. CONFIGURE_ARGS= --with-z=${STAGING_DIR}/usr \
  36. --with-ncurses=${STAGING_DIR}/usr \
  37. --with-ssl=${STAGING_DIR}/usr \
  38. --without-zaptel \
  39. --without-tonezone \
  40. --without-asound \
  41. --without-curses \
  42. --without-gnutls \
  43. --without-h323 \
  44. --without-iksemel \
  45. --without-imap \
  46. --without-kde \
  47. --without-nbs \
  48. --without-netsnmp \
  49. --without-newt \
  50. --without-odbc \
  51. --without-osptk \
  52. --without-oss \
  53. --without-pri \
  54. --without-pwlib \
  55. --without-qt \
  56. --without-tds \
  57. --without-termcap \
  58. --without-tinfo \
  59. --without-vpb
  60. ifneq (${ADK_PACKAGE_ASTERISK_CODEC_GSM},)
  61. CONFIGURE_ARGS+= --with-gsm=internal
  62. else
  63. CONFIGURE_ARGS+= --without-gsm
  64. endif
  65. ifneq (${ADK_PACKAGE_ASTERISK_CODEC_SPEEX},)
  66. CONFIGURE_ARGS+= --with-speex=${STAGING_DIR}/usr
  67. EXTRA_CFLAGS+= -I$(STAGING_DIR)/usr/include/speex
  68. endif
  69. ifneq (${ADK_PACKAGE_ASTERISK_FORMAT_VORBIS},)
  70. CONFIGURE_ARGS+= --with-ogg=${STAGING_DIR}/usr \
  71. --with-vorbis=${STAGING_DIR}/usr
  72. TLDFLAGS+= -logg
  73. endif
  74. ifneq (${ADK_PACKAGE_ASTERISK_RADIUS},)
  75. CONFIGURE_ARGS+= --with-radius=${STAGING_DIR}/usr
  76. endif
  77. ifneq (${ADK_PACKAGE_ASTERISK_GNUTLS},)
  78. CONFIGURE_ARGS+= --with-gnutls=${STAGING_DIR}/usr
  79. endif
  80. ifneq (${ADK_PACKAGE_ASTERISK_CURL},)
  81. CONFIGURE_ARGS+= --with-curl=${STAGING_DIR}/usr
  82. else
  83. CONFIGURE_ARGS+= --without-curl
  84. endif
  85. ifneq (${ADK_PACKAGE_ASTERISK_PGSQL},)
  86. CONFIGURE_ARGS+= --with-postgres=${STAGING_DIR}/usr
  87. else
  88. CONFIGURE_ARGS+= --without-postgres
  89. endif
  90. ifneq (${ADK_PACKAGE_LIBPOPT},)
  91. CONFIGURE_ARGS+= --with-popt=${STAGING_DIR}/usr
  92. else
  93. CONFIGURE_ARGS+= --without-popt
  94. endif
  95. CONFIGURE_ARGS+= --without-misdn \
  96. --without-isdnnet \
  97. --without-suppserv
  98. CONFIGURE_STYLE:= gnu
  99. CONFIGURE_ENV+= STRIP=${STRIP}
  100. BUILD_STYLE:= auto
  101. MAKE_ENV= ASTCFLAGS="${TCPPFLAGS} ${TCFLAGS}" \
  102. ASTLDFLAGS="${TLDFLAGS}"
  103. MAKE_FLAGS+= DESTDIR="$(WRKINST)" \
  104. OPTIMIZE="${TARGET_OPTIMIZATION}" \
  105. CXX="${TARGET_CC}" \
  106. STRIP="${TARGET_CROSS}strip" \
  107. NOISY_BUILD=1
  108. ALL_TARGET:= all install samples
  109. pre-configure:
  110. rm ${WRKBUILD}/apps/app_followme.c
  111. cd "$(WRKBUILD)/menuselect"; ./configure
  112. post-build:
  113. cd ${WRKBUILD}/sounds ; \
  114. tar xzf asterisk-core-sounds-en-gsm-1.4.14.tar.gz ; \
  115. rm asterisk-core-sounds-en-gsm-1.4.9.tar.gz ; \
  116. tar xzf asterisk-moh-freeplay-wav.tar.gz ; \
  117. rm asterisk-moh-freeplay-wav.tar.gz
  118. @echo
  119. @echo "---------------> have to install ${SUB_INSTALLS-m} ${SUB_INSTALLS-y} <-------------------------"
  120. @echo
  121. do-install: ${SUB_INSTALLS-m} ${SUB_INSTALLS-y}
  122. $(CP) $(WRKINST)/* $(IDIR_ASTERISK)
  123. rm -rf $(IDIR_ASTERISK)/usr/sbin/astgenkey
  124. rm -rf $(IDIR_ASTERISK)/usr/bin
  125. rm -rf $(IDIR_ASTERISK)/usr/share
  126. rm -rf $(IDIR_ASTERISK)/usr/include
  127. rm -rf $(IDIR_ASTERISK)/var
  128. (cd $(IDIR_ASTERISK)/usr/lib/asterisk; \
  129. rm -rf agi-bin; \
  130. rm -rf images; \
  131. rm -rf keys/*; \
  132. rm -rf mohmp3/*.mp3; \
  133. rm -rf sounds/*; \
  134. cd modules; \
  135. rm -rf *adsi* *festival* *modem* *meetme* *oss* *phone* *intercom* \
  136. *mp3* *nbscat* *mysql* *postgres* *pgsql* *voicemail* *speex* \
  137. *zapateller* *jpeg*; \
  138. rm -f chan_bluetooth.so ; \
  139. rm -f chan_h323.so ; \
  140. rm -f chan_mgcp.so ; \
  141. rm -f chan_skinny.so ; \
  142. rm -f {codec,format}_ilbc.so ; \
  143. rm -f codec_gsm.so ; \
  144. rm -f codec_lpc10.so ; \
  145. rm -f pbx_dundi.so ; \
  146. rm -f res_agi.so ; \
  147. )
  148. (cd $(IDIR_ASTERISK)/etc/asterisk; \
  149. rm -f *odbc* *mysql* *postgres* *pgsql* *voicemail* *adsi* *oss* *alsa* \
  150. *festival* *modem* *meetme* *phone* *tds* *vofr* *rpt* *vpb* \
  151. *zapata*; \
  152. rm -f bluetooth.conf ; \
  153. rm -f mgcp.conf ; \
  154. rm -f skinny.conf ; \
  155. rm -f dundi.conf ; \
  156. )
  157. ${INSTALL_DATA} ./files/modules.conf $(IDIR_ASTERISK)/etc/asterisk/
  158. $(SED) 's|/var/lib/asterisk|/usr/lib/asterisk|g' $(WRKINST)/etc/asterisk/musiconhold.conf
  159. ${INSTALL_DIR} $(IDIR_ASTERISK)/etc/init.d
  160. ${INSTALL_BIN} ./files/asterisk.init $(IDIR_ASTERISK)/etc/init.d/asterisk
  161. asterisk-pgsql-install:
  162. ${INSTALL_DIR} $(IDIR_ASTERISK_PGSQL)/etc/asterisk
  163. ${INSTALL_DATA} $(WRKBUILD)/configs/cdr_pgsql.conf.sample $(IDIR_ASTERISK_PGSQL)/etc/asterisk/cdr_pgsql.conf
  164. ${INSTALL_DIR} $(IDIR_ASTERISK_PGSQL)/usr/lib/asterisk/modules
  165. ${INSTALL_BIN} $(WRKBUILD)/cdr/cdr_pgsql.so $(IDIR_ASTERISK_PGSQL)/usr/lib/asterisk/modules/
  166. asterisk-sounds-install:
  167. ${INSTALL_DIR} $(IDIR_ASTERISK_SOUNDS)/usr/lib/asterisk/sounds
  168. $(CP) $(WRKBUILD)/sounds/* $(IDIR_ASTERISK_SOUNDS)/usr/lib/asterisk/sounds/
  169. rm -f $(IDIR_ASTERISK_SOUNDS)/usr/lib/asterisk/sounds/*.mp3
  170. rm -f $(IDIR_ASTERISK_SOUNDS)/usr/lib/asterisk/sounds/vm-*
  171. asterisk-voicemail-install:
  172. ${INSTALL_DIR} $(IDIR_ASTERISK_VOICEMAIL)/etc/asterisk
  173. ${INSTALL_DIR} $(IDIR_ASTERISK_VOICEMAIL)/usr/lib/asterisk/modules
  174. ${INSTALL_DATA} $(WRKBUILD)/configs/voicemail.conf.sample $(IDIR_ASTERISK_VOICEMAIL)/etc/asterisk/voicemail.conf
  175. ${CP} $(WRKBUILD)/apps/*voicemail.so $(IDIR_ASTERISK_VOICEMAIL)/usr/lib/asterisk/modules/
  176. ${INSTALL_BIN} $(WRKBUILD)/res/res_adsi.so $(IDIR_ASTERISK_VOICEMAIL)/usr/lib/asterisk/modules/
  177. install -d -m0755 $(IDIR_ASTERISK_VOICEMAIL)/usr/lib/asterisk/sounds
  178. $(CP) $(WRKBUILD)/sounds/vm-*.gsm $(IDIR_ASTERISK_VOICEMAIL)/usr/lib/asterisk/sounds/
  179. asterisk-chan-mgcp-install:
  180. ${INSTALL_DIR} $(IDIR_ASTERISK_CHAN_MGCP)/etc/asterisk
  181. ${INSTALL_DATA} $(WRKBUILD)/configs/mgcp.conf.sample $(IDIR_ASTERISK_CHAN_MGCP)/etc/asterisk/mgcp.conf
  182. ${INSTALL_DIR} $(IDIR_ASTERISK_CHAN_MGCP)/usr/lib/asterisk/modules
  183. ${INSTALL_BIN} $(WRKBUILD)/channels/chan_mgcp.so $(IDIR_ASTERISK_CHAN_MGCP)/usr/lib/asterisk/modules/
  184. asterisk-chan-skinny-install:
  185. ${INSTALL_DIR} $(IDIR_ASTERISK_CHAN_SKINNY)/etc/asterisk
  186. ${INSTALL_DATA} $(WRKBUILD)/configs/skinny.conf.sample $(IDIR_ASTERISK_CHAN_SKINNY)/etc/asterisk/skinny.conf
  187. ${INSTALL_DIR} $(IDIR_ASTERISK_CHAN_SKINNY)/usr/lib/asterisk/modules
  188. ${INSTALL_BIN} $(WRKBUILD)/channels/chan_skinny.so $(IDIR_ASTERISK_CHAN_SKINNY)/usr/lib/asterisk/modules/
  189. asterisk-chan-iax2-install:
  190. ${INSTALL_DIR} $(IDIR_ASTERISK_CHAN_IAX2)/etc/asterisk
  191. ${INSTALL_DIR} $(IDIR_ASTERISK_CHAN_IAX2)/usr/lib/asterisk/modules
  192. ${INSTALL_DATA} $(WRKBUILD)/configs/iax.conf.sample $(IDIR_ASTERISK_CHAN_IAX2)/etc/asterisk/iax.conf
  193. ${INSTALL_DATA} $(WRKBUILD)/configs/iaxprov.conf.sample $(IDIR_ASTERISK_CHAN_IAX2)/etc/asterisk/iaxprov.conf
  194. ${INSTALL_BIN} $(WRKBUILD)/channels/chan_iax2.so $(IDIR_ASTERISK_CHAN_IAX2)/usr/lib/asterisk/modules/
  195. asterisk-codec-speex-install:
  196. ${INSTALL_DIR} $(IDIR_ASTERISK_CODEC_SPEEX)/usr/lib/asterisk/modules
  197. install -m0755 $(WRKBUILD)/codecs/codec_speex.so $(IDIR_ASTERISK_CODEC_SPEEX)/usr/lib/asterisk/modules/
  198. asterisk-codec-gsm-install:
  199. ${INSTALL_DIR} $(IDIR_ASTERISK_CODEC_GSM)/usr/lib/asterisk/modules/
  200. ${INSTALL_BIN} $(WRKBUILD)/codecs/codec_gsm.so $(IDIR_ASTERISK_CODEC_GSM)/usr/lib/asterisk/modules/
  201. asterisk-pbx-dundi-install:
  202. ${INSTALL_DIR} $(IDIR_ASTERISK_PBX_DUNDI)/etc/asterisk
  203. ${INSTALL_DATA} $(WRKBUILD)/configs/dundi.conf.sample $(IDIR_ASTERISK_PBX_DUNDI)/etc/asterisk/dundi.conf
  204. ${INSTALL_DIR} $(IDIR_ASTERISK_PBX_DUNDI)/usr/lib/asterisk/modules
  205. ${INSTALL_BIN} $(WRKBUILD)/pbx/pbx_dundi.so $(IDIR_ASTERISK_PBX_DUNDI)/usr/lib/asterisk/modules/
  206. asterisk-res-agi-install:
  207. ${INSTALL_DIR} $(IDIR_ASTERISK_RES_AGI)/usr/lib/asterisk/agi-bin
  208. ${INSTALL_DIR} $(IDIR_ASTERISK_RES_AGI)/usr/lib/asterisk/modules
  209. ${INSTALL_BIN} $(WRKBUILD)/res/res_agi.so $(IDIR_ASTERISK_RES_AGI)/usr/lib/asterisk/modules/
  210. asterisk-meetme-install:
  211. ${INSTALL_DIR} ${IDIR_ASTERISK_MEETME}/etc/asterisk/
  212. ${INSTALL_DIR} ${IDIR_ASTERISK_MEETME}/usr/lib/asterisk/modules
  213. ${INSTALL_DATA} ${WRKBUILD}/configs/meetme.conf.sample ${IDIR_ASTERISK_MEETME}/etc/asterisk/meetme.conf
  214. ${INSTALL_BIN} ${WRKBUILD}/apps/app_meetme.so ${IDIR_ASTERISK_MEETME}/usr/lib/asterisk/modules
  215. include ${TOPDIR}/mk/pkg-bottom.mk