X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/841a64997f6de6f0144b07442c36c4886d61bf72..6762ea459ffb48611c603c3b1c064b0e3898dfaf:/openwrt/package/asterisk/Makefile diff --git a/openwrt/package/asterisk/Makefile b/openwrt/package/asterisk/Makefile index f42d6f847..5a4603bc9 100644 --- a/openwrt/package/asterisk/Makefile +++ b/openwrt/package/asterisk/Makefile @@ -12,74 +12,29 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) PKG_CAT:=zcat -PKG_APP:=$(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk -PKG_APP_DIR:=$(PKG_BUILD_DIR)/ipkg/asterisk - -PKG_MYSQL:=$(PACKAGE_DIR)/$(PKG_NAME)-mysql_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk -PKG_MYSQL_DIR:=$(PKG_BUILD_DIR)/ipkg/mysql - -PKG_PGSQL:=$(PACKAGE_DIR)/$(PKG_NAME)-pgsql_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk -PKG_PGSQL_DIR:=$(PKG_BUILD_DIR)/ipkg/pgsql - -PKG_SPEEX:=$(PACKAGE_DIR)/$(PKG_NAME)-codec-speex_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk -PKG_SPEEX_DIR:=$(PKG_BUILD_DIR)/ipkg/speex - -PKG_SOUNDS:=$(PACKAGE_DIR)/$(PKG_NAME)-sounds_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk -PKG_SOUNDS_DIR:=$(PKG_BUILD_DIR)/ipkg/sounds - -PKG_VOICEMAIL:=$(PACKAGE_DIR)/$(PKG_NAME)-voicemail_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk -PKG_VOICEMAIL_DIR:=$(PKG_BUILD_DIR)/ipkg/voicemail +include $(TOPDIR)/package/rules.mk +$(eval $(call PKG_template,ASTERISK,asterisk,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH))) +$(eval $(call PKG_template,ASTERISK_MYSQL,asterisk-mysql,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH))) +$(eval $(call PKG_template,ASTERISK_PGSQL,asterisk-pgsql,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH))) +$(eval $(call PKG_template,ASTERISK_VOICEMAIL,asterisk-voicemail,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH))) +$(eval $(call PKG_template,ASTERISK_SOUNDS,asterisk-sounds,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH))) +$(eval $(call PKG_template,ASTERISK_SPEEX,asterisk-codec-speex,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH))) APPS:= MODS:= -COMPILE_TARGETS:=$(PKG_APP) -INSTALL_TARGETS:=$(IPKG_STATE_DIR)/info/$(PKG_NAME).list ifneq ($(BR2_PACKAGE_ASTERISK_MYSQL),) APPS += app_sql_mysql.so MODS += cdr_mysql.so -COMPILE_TARGETS += $(PKG_MYSQL) endif ifneq ($(BR2_PACKAGE_ASTERISK_PGSQL),) APPS += app_sql_postgres.so MODS += cdr_pgsql.so -COMPILE_TARGETS += $(PKG_PGSQL) -endif -ifneq ($(BR2_PACKAGE_ASTERISK_SOUNDS),) -COMPILE_TARGETS += $(PKG_SOUNDS) endif ifneq ($(BR2_PACKAGE_ASTERISK_SPEEX),) SPEEX:=codec_speex.so -COMPILE_TARGETS += $(PKG_SPEEX) -endif -ifneq ($(BR2_PACKAGE_ASTERISK_VOICEMAIL),) -COMPILE_TARGETS += $(PKG_VOICEMAIL) -endif -ifeq ($(BR2_PACKAGE_ASTERISK_MYSQL),y) -INSTALL_TARGETS:=$(IPKG_STATE_DIR)/info/$(PKG_NAME)-mysql.list -endif -ifeq ($(BR2_PACKAGE_ASTERISK_PGSQL),y) -INSTALL_TARGETS:=$(IPKG_STATE_DIR)/info/$(PKG_NAME)-pgsql.list -endif -ifeq ($(BR2_PACKAGE_ASTERISK_VOICEMAIL),y) -INSTALL_TARGETS:=$(IPKG_STATE_DIR)/info/$(PKG_NAME)-voicemail.list -endif -ifeq ($(BR2_PACKAGE_ASTERISK_SOUNDS),y) -INSTALL_TARGETS:=$(IPKG_STATE_DIR)/info/$(PKG_NAME)-sounds.list -endif -ifeq ($(BR2_PACKAGE_ASTERISK_SPEEX),y) -INSTALL_TARGETS:=$(IPKG_STATE_DIR)/info/$(PKG_NAME)-codec-speex.list endif -$(DL_DIR)/$(PKG_SOURCE): - $(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE) $(PKG_MD5SUM) $(PKG_SOURCE_URL) - -$(PKG_BUILD_DIR)/.patched: $(DL_DIR)/$(PKG_SOURCE) - $(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - - $(PATCH) $(PKG_BUILD_DIR) ./patches - touch $(PKG_BUILD_DIR)/.patched - - -asterisk-compile: $(PKG_BUILD_DIR)/.patched +asterisk-compile: $(PKG_BUILD_DIR)/.prepared $(MAKE) -C "$(PKG_BUILD_DIR)/channels" \ CC="$(HOSTCC)" \ gentone @@ -88,24 +43,29 @@ asterisk-compile: $(PKG_BUILD_DIR)/.patched $(TARGET_CONFIGURE_OPTS) \ OPTIMIZE="$(TARGET_CFLAGS)" \ PROC="$(ARCH)" \ - CFLAGS_EXTRA="-I$(STAGING_DIR)/usr/include" \ + CFLAGS_EXTRA="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/usr/include/speex" \ LDFLAGS_EXTRA="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/usr/lib/mysql" \ CRYPTO_LIBS="-L$(STAGING_DIR)/usr/lib -Wl,-Bstatic -lssl -lcrypto -Wl,-Bdynamic" \ EXTRA_APPS="$(APPS)" \ EXTRA_MODS="$(MODS)" \ MODSPEEX="$(SPEEX)" - -$(PKG_APP): asterisk-compile - $(SCRIPT_DIR)/make-ipkg-dir.sh $(PKG_APP_DIR) control/$(PKG_NAME).control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH) + +$(PKG_BUILD_DIR)/.configured: + touch $@ + +$(PKG_BUILD_DIR)/.built: asterisk-compile + touch $@ + +$(IPKG_ASTERISK): asterisk-compile $(MAKE) -C $(PKG_BUILD_DIR) \ - DESTDIR="$(PKG_APP_DIR)" \ + DESTDIR="$(IDIR_ASTERISK)" \ install samples - rm -rf $(PKG_APP_DIR)/usr/sbin/astgenkey - rm -rf $(PKG_APP_DIR)/usr/bin - rm -rf $(PKG_APP_DIR)/usr/share - rm -rf $(PKG_APP_DIR)/usr/include - rm -rf $(PKG_APP_DIR)/var - (cd $(PKG_APP_DIR)/usr/lib/asterisk; \ + rm -rf $(IDIR_ASTERISK)/usr/sbin/astgenkey + rm -rf $(IDIR_ASTERISK)/usr/bin + rm -rf $(IDIR_ASTERISK)/usr/share + rm -rf $(IDIR_ASTERISK)/usr/include + rm -rf $(IDIR_ASTERISK)/var + (cd $(IDIR_ASTERISK)/usr/lib/asterisk; \ rm -rf agi-bin/*; \ rm -rf firmware; \ rm -rf images; \ @@ -117,94 +77,53 @@ $(PKG_APP): asterisk-compile *mp3* *nbscat* *mysql* *postgres* *pgsql* *voicemail* *speex* \ *musiconhold* *zapateller* *jpeg*; \ ) - (cd $(PKG_APP_DIR)/etc/asterisk; \ + (cd $(IDIR_ASTERISK)/etc/asterisk; \ rm -f *odbc* *mysql* *postgres* *pgsql* *voicemail* *adsi* *oss* *alsa* \ *festival* *modem* *meetme* *phone* *tds* *vofr* *rpt* *vpb* \ *zapata* *musiconhold*; \ ) - -$(STRIP) $(PKG_APP_DIR)/usr/sbin/asterisk - -$(STRIP) $(PKG_APP_DIR)/usr/lib/asterisk/modules/* - cp -a ./files/* $(PKG_APP_DIR)/ - find $(PKG_APP_DIR) -name CVS | xargs rm -rf - chmod +x $(PKG_APP_DIR)/etc/init.d/* - mkdir -p $(PACKAGE_DIR) - $(IPKG_BUILD) $(PKG_APP_DIR) $(PACKAGE_DIR) - -$(IPKG_STATE_DIR)/info/$(PKG_NAME).list: $(PKG_APP) - $(IPKG) install $(PKG_APP) - -$(PKG_MYSQL): asterisk-compile - $(SCRIPT_DIR)/make-ipkg-dir.sh $(PKG_MYSQL_DIR) control/$(PKG_NAME)-mysql.control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH) - mkdir -p $(PKG_MYSQL_DIR)/usr/lib/asterisk/modules - mkdir -p $(PKG_MYSQL_DIR)/etc/asterisk - cp $(PKG_BUILD_DIR)/apps/app_sql_mysql.so $(PKG_MYSQL_DIR)/usr/lib/asterisk/modules/ - cp $(PKG_BUILD_DIR)/cdr/cdr_mysql.so $(PKG_MYSQL_DIR)/usr/lib/asterisk/modules/ - $(STRIP) $(PKG_MYSQL_DIR)/usr/lib/asterisk/modules/* - echo /etc/asterisk/cdr_mysql.conf > $(PKG_MYSQL_DIR)/CONTROL/conffiles - cp $(PKG_BUILD_DIR)/configs/cdr_mysql.conf.sample $(PKG_MYSQL_DIR)/etc/asterisk/cdr_mysql.conf - mkdir -p $(PACKAGE_DIR) - $(IPKG_BUILD) $(PKG_MYSQL_DIR) $(PACKAGE_DIR) - -$(IPKG_STATE_DIR)/info/$(PKG_NAME)-mysql.list: $(PKG_MYSQL) - $(IPKG) install $(PKG_MYSQL) - -$(PKG_PGSQL): asterisk-compile - $(SCRIPT_DIR)/make-ipkg-dir.sh $(PKG_PGSQL_DIR) control/$(PKG_NAME)-pgsql.control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH) - mkdir -p $(PKG_PGSQL_DIR)/usr/lib/asterisk/modules - mkdir -p $(PKG_PGSQL_DIR)/etc/asterisk - cp $(PKG_BUILD_DIR)/apps/app_sql_postgres.so $(PKG_PGSQL_DIR)/usr/lib/asterisk/modules/ - cp $(PKG_BUILD_DIR)/cdr/cdr_pgsql.so $(PKG_PGSQL_DIR)/usr/lib/asterisk/modules/ - $(STRIP) $(PKG_PGSQL_DIR)/usr/lib/asterisk/modules/* - echo /etc/asterisk/cdr_pgsql.conf > $(PKG_PGSQL_DIR)/CONTROL/conffiles - cp $(PKG_BUILD_DIR)/configs/cdr_pgsql.conf.sample $(PKG_PGSQL_DIR)/etc/asterisk/cdr_pgsql.conf - mkdir -p $(PACKAGE_DIR) - $(IPKG_BUILD) $(PKG_PGSQL_DIR) $(PACKAGE_DIR) - -$(IPKG_STATE_DIR)/info/$(PKG_NAME)-pgsql.list: $(PKG_PGSQL) - $(IPKG) install $(PKG_PGSQL) - -$(PKG_SOUNDS): asterisk-compile - $(SCRIPT_DIR)/make-ipkg-dir.sh $(PKG_SOUNDS_DIR) control/$(PKG_NAME)-sounds.control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH) - mkdir -p $(PKG_SOUNDS_DIR)/usr/lib/asterisk/sounds - cp -a $(PKG_BUILD_DIR)/sounds/* $(PKG_SOUNDS_DIR)/usr/lib/asterisk/sounds/ - rm -f $(PKG_SOUNDS_DIR)/usr/lib/asterisk/sounds/*.mp3 - rm -f $(PKG_SOUNDS_DIR)/usr/lib/asterisk/sounds/vm-* - mkdir -p $(PACKAGE_DIR) - $(IPKG_BUILD) $(PKG_SOUNDS_DIR) $(PACKAGE_DIR) - -$(IPKG_STATE_DIR)/info/$(PKG_NAME)-sounds.list: $(PKG_SOUNDS) - $(IPKG) install $(PKG_SOUNDS) - -$(PKG_SPEEX): asterisk-compile - $(SCRIPT_DIR)/make-ipkg-dir.sh $(PKG_SPEEX_DIR) control/$(PKG_NAME)-codec-speex.control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH) - mkdir -p $(PKG_SPEEX_DIR)/usr/lib/asterisk/modules - cp $(PKG_BUILD_DIR)/codecs/*speex.so $(PKG_SPEEX_DIR)/usr/lib/asterisk/modules - $(STRIP) $(PKG_SPEEX_DIR)/usr/lib/asterisk/modules/* - mkdir -p $(PACKAGE_DIR) - $(IPKG_BUILD) $(PKG_SPEEX_DIR) $(PACKAGE_DIR) - -$(IPKG_STATE_DIR)/info/$(PKG_NAME)-speex.list: $(PKG_SPEEX) - $(IPKG) install $(PKG_SPEEX) - -$(PKG_VOICEMAIL): asterisk-compile - $(SCRIPT_DIR)/make-ipkg-dir.sh $(PKG_VOICEMAIL_DIR) control/$(PKG_NAME)-voicemail.control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH) - echo /etc/asterisk/voicemail.conf > $(PKG_VOICEMAIL_DIR)/CONTROL/conffiles - mkdir -p $(PKG_VOICEMAIL_DIR)/etc/asterisk - cp $(PKG_BUILD_DIR)/configs/voicemail.conf.sample $(PKG_VOICEMAIL_DIR)/etc/asterisk/voicemail.conf - mkdir -p $(PKG_VOICEMAIL_DIR)/usr/lib/asterisk/modules - cp $(PKG_BUILD_DIR)/apps/*voicemail.so $(PKG_VOICEMAIL_DIR)/usr/lib/asterisk/modules - $(STRIP) $(PKG_VOICEMAIL_DIR)/usr/lib/asterisk/modules/* - mkdir -p $(PACKAGE_DIR) - $(IPKG_BUILD) $(PKG_VOICEMAIL_DIR) $(PACKAGE_DIR) - -$(IPKG_STATE_DIR)/info/$(PKG_NAME)-voicemail.list: $(PKG_VOICEMAIL) - $(IPKG) install $(PKG_VOICEMAIL) - -source: $(DL_DIR)/$(PKG_SOURCE) -prepare: $(PKG_BUILD_DIR)/.patched -compile: $(COMPILE_TARGETS) -install: $(INSTALL_TARGETS) - -clean: - rm -rf $(PKG_BUILD_DIR) - rm -f $(PKG_APP) + -$(STRIP) $(IDIR_ASTERISK)/usr/sbin/asterisk + -$(STRIP) $(IDIR_ASTERISK)/usr/lib/asterisk/modules/* + cp -a ./files/* $(IDIR_ASTERISK)/ + find $(IDIR_ASTERISK) -name CVS | xargs rm -rf + chmod +x $(IDIR_ASTERISK)/etc/init.d/* + $(IPKG_BUILD) $(IDIR_ASTERISK) $(PACKAGE_DIR) + +$(IPKG_ASTERISK_MYSQL): asterisk-compile + mkdir -p $(IDIR_ASTERISK_MYSQL)/usr/lib/asterisk/modules + mkdir -p $(IDIR_ASTERISK_MYSQL)/etc/asterisk + cp $(PKG_BUILD_DIR)/apps/app_sql_mysql.so $(IDIR_ASTERISK_MYSQL)/usr/lib/asterisk/modules/ + cp $(PKG_BUILD_DIR)/cdr/cdr_mysql.so $(IDIR_ASTERISK_MYSQL)/usr/lib/asterisk/modules/ + $(STRIP) $(IDIR_ASTERISK_MYSQL)/usr/lib/asterisk/modules/* + cp $(PKG_BUILD_DIR)/configs/cdr_mysql.conf.sample $(IDIR_ASTERISK_MYSQL)/etc/asterisk/cdr_mysql.conf + $(IPKG_BUILD) $(IDIR_ASTERISK_MYSQL) $(PACKAGE_DIR) + +$(IPKG_ASTERISK_PGSQL): asterisk-compile + mkdir -p $(IDIR_ASTERISK_PGSQL)/usr/lib/asterisk/modules + mkdir -p $(IDIR_ASTERISK_PGSQL)/etc/asterisk + cp $(PKG_BUILD_DIR)/apps/app_sql_postgres.so $(IDIR_ASTERISK_PGSQL)/usr/lib/asterisk/modules/ + cp $(PKG_BUILD_DIR)/cdr/cdr_pgsql.so $(IDIR_ASTERISK_PGSQL)/usr/lib/asterisk/modules/ + $(STRIP) $(IDIR_ASTERISK_PGSQL)/usr/lib/asterisk/modules/* + cp $(PKG_BUILD_DIR)/configs/cdr_pgsql.conf.sample $(IDIR_ASTERISK_PGSQL)/etc/asterisk/cdr_pgsql.conf + $(IPKG_BUILD) $(IDIR_ASTERISK_PGSQL) $(PACKAGE_DIR) + +$(IPKG_ASTERISK_SOUNDS): asterisk-compile + mkdir -p $(IDIR_ASTERISK_SOUNDS)/usr/lib/asterisk/sounds + cp -a $(PKG_BUILD_DIR)/sounds/* $(IDIR_ASTERISK_SOUNDS)/usr/lib/asterisk/sounds/ + rm -f $(IDIR_ASTERISK_SOUNDS)/usr/lib/asterisk/sounds/*.mp3 + rm -f $(IDIR_ASTERISK_SOUNDS)/usr/lib/asterisk/sounds/vm-* + $(IPKG_BUILD) $(IDIR_ASTERISK_SOUNDS) $(PACKAGE_DIR) + +$(IPKG_ASTERISK_SPEEX): asterisk-compile + mkdir -p $(IDIR_ASTERISK_SPEEX)/usr/lib/asterisk/modules + cp $(PKG_BUILD_DIR)/codecs/*speex.so $(IDIR_ASTERISK_SPEEX)/usr/lib/asterisk/modules + $(STRIP) $(IDIR_ASTERISK_SPEEX)/usr/lib/asterisk/modules/* + $(IPKG_BUILD) $(IDIR_ASTERISK_SPEEX) $(PACKAGE_DIR) + +$(IPKG_ASTERISK_VOICEMAIL): asterisk-compile + mkdir -p $(IDIR_ASTERISK_VOICEMAIL)/etc/asterisk + cp $(PKG_BUILD_DIR)/configs/voicemail.conf.sample $(IDIR_ASTERISK_VOICEMAIL)/etc/asterisk/voicemail.conf + mkdir -p $(IDIR_ASTERISK_VOICEMAIL)/usr/lib/asterisk/modules + cp $(PKG_BUILD_DIR)/apps/*voicemail.so $(IDIR_ASTERISK_VOICEMAIL)/usr/lib/asterisk/modules + $(STRIP) $(IDIR_ASTERISK_VOICEMAIL)/usr/lib/asterisk/modules/* + $(IPKG_BUILD) $(IDIR_ASTERISK_VOICEMAIL) $(PACKAGE_DIR)