########################################## # Asterisk package for PADS ########################################## ASTERISK_VERSION=1.4.21.2 ASTERISK_SOUNDS_VERSION=1.4.9 ASTERISK_NAME=asterisk-$(ASTERISK_VERSION) ASTERISK_SOUNDS=asterisk-core-sounds-en-ulaw-$(ASTERISK_SOUNDS_VERSION).tar.gz ASTERISK_DIR=$(BUILD_DIR)/$(ASTERISK_NAME) ASTERISK_DIR_LINK=$(BUILD_DIR)/asterisk ASTERISK_SOURCE=$(ASTERISK_NAME).tar.gz ASTERISK_SITE=http://downloads.digium.com/pub/asterisk/releases ASTERISK_SOUNDS_SITE=http://downloads.digium.com/pub/telephony/sounds/releases ASTERISK_UNZIP=zcat STAGING_INC=$(TARGET_DIR)/usr/include STAGING_LIB=$(TARGET_DIR)/usr/lib ASTERISK_CFLAGS=-g -fPIC -I$(STAGING_INC) ASTERISK_CONFIGURE_OPTS=--host=powerpc-linux --target=powerpc-linux --prefix=/usr ASTERISK_CONFIGURE_OPTS+=--exec-prefix=/usr --without-pwlib --without-curl ifeq ($(strip $(PADS_PACKAGE_ZAPTEL)),y) ASTERISK_CONFIGURE_OPTS+= --with-zaptel=$(TARGET_DIR)/usr/ ASTERISK_DEP=zaptel else ASTERISK_DEP="" endif $(DL_DIR)/$(ASTERISK_SOURCE): $(WGET) -P $(DL_DIR) $(ASTERISK_SITE)/$(ASTERISK_SOURCE) $(DL_DIR)/$(ASTERISK_SOUNDS): $(WGET) -P $(DL_DIR) $(ASTERISK_SOUNDS_SITE)/asterisk-core-sounds-en-ulaw-$(ASTERISK_SOUNDS_VERSION).tar.gz $(ASTERISK_DIR)/.asterisk_unpacked: $(DL_DIR)/$(ASTERISK_SOURCE) $(ASTERISK_UNZIP) $(DL_DIR)/$(ASTERISK_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - ln -sf $(ASTERISK_DIR) $(ASTERISK_DIR_LINK) $(PATCH_KERNEL) $(ASTERISK_DIR) package/asterisk asterisk.patch touch $(ASTERISK_DIR)/.asterisk_unpacked $(ASTERISK_DIR)/.sounds_unpacked: $(DL_DIR)/$(ASTERISK_SOUNDS) cp -vf $(DL_DIR)/asterisk-core-sounds-en-ulaw-$(ASTERISK_SOUNDS_VERSION).tar.gz $(ASTERISK_DIR)/sounds touch $(ASTERISK_DIR)/.sounds_unpacked $(ASTERISK_DIR)/.configured: $(ASTERISK_DIR)/.asterisk_unpacked $(ASTERISK_DIR)/.sounds_unpacked cd $(ASTERISK_DIR); ./configure $(ASTERISK_CONFIGURE_OPTS) touch $(ASTERISK_DIR)/.configured asterisk: $(ASTERISK_DEP) $(ASTERISK_DIR)/.configured ifeq ($(strip $(PADS_PACKAGE_ASTERISK_VERBOSE)),y) -$(MAKE1) -C $(ASTERISK_DIR) menuselect endif ASTCFLAGS="$(ASTERISK_CFLAGS)" $(MAKE1) -C $(ASTERISK_DIR) mkdir -p $(TARGET_DIR)/var/lib/asterisk/static-http for x in $(ASTERISK_DIR)/static-http/*; do \ /usr/bin/install -c -m 644 $$x $(TARGET_DIR)/var/lib/asterisk/static-http ; \ done mkdir -p $(TARGET_DIR)/var/lib/asterisk/images for x in $(ASTERISK_DIR)/images/*.jpg; do \ /usr/bin/install -c -m 644 $$x $(TARGET_DIR)/var/lib/asterisk/images ; \ done mkdir -p $(TARGET_DIR)/var/lib/asterisk/agi-bin $(MAKE1) DESTDIR="$(PERSISTENT_STORAGE)/asterisk" ASTTOPDIR="$(ASTERISK_DIR)" -C $(ASTERISK_DIR)/sounds install mkdir -p $(TARGET_DIR)/usr/lib/asterisk/modules mkdir -p $(TARGET_DIR)/bin/ mkdir -p $(PERSISTENT_STORAGE)/var/spool/asterisk mkdir -p $(PERSISTENT_STORAGE)/var/spool/asterisk/voicemail mkdir -p $(PERSISTENT_STORAGE)/var/spool/asterisk/dictate mkdir -p $(PERSISTENT_STORAGE)/var/spool/asterisk/system mkdir -p $(PERSISTENT_STORAGE)/var/spool/asterisk/tmp mkdir -p $(PERSISTENT_STORAGE)/var/spool/asterisk/meetme mkdir -p $(PERSISTENT_STORAGE)/var/spool/asterisk/monitor /usr/bin/install -c -m 755 $(ASTERISK_DIR)/main/asterisk $(TARGET_DIR)/bin/ /usr/bin/install -c -m 755 $(ASTERISK_DIR)/contrib/scripts/astgenkey $(TARGET_DIR)/bin/ /usr/bin/install -c -m 755 $(ASTERISK_DIR)/contrib/scripts/autosupport $(TARGET_DIR)/bin/ /usr/bin/install -c -d $(TARGET_DIR)/usr/include/asterisk /usr/bin/install -c -m 644 $(ASTERISK_DIR)/include/asterisk.h $(TARGET_DIR)/usr/include /usr/bin/install -c -m 644 $(ASTERISK_DIR)/include/asterisk/*.h $(TARGET_DIR)/usr/include/asterisk mkdir -p $(PERSISTENT_STORAGE)/var/log/asterisk/cdr-csv mkdir -p $(PERSISTENT_STORAGE)/var/log/asterisk/cdr-custom mkdir -p $(TARGET_DIR)/var/lib/asterisk/keys mkdir -p $(TARGET_DIR)/var/lib/asterisk/firmware mkdir -p $(TARGET_DIR)/var/lib/asterisk/firmware/iax /usr/bin/install -c -m 644 $(ASTERISK_DIR)/keys/iaxtel.pub $(TARGET_DIR)/var/lib/asterisk/keys /usr/bin/install -c -m 644 $(ASTERISK_DIR)/keys/freeworlddialup.pub $(TARGET_DIR)/var/lib/asterisk/keys if [ -f $(ASTERISK_DIR)/contrib/firmware/iax/iaxy.bin ] ; then \ /usr/bin/install -c -m 644 $(ASTERISK_DIR)/contrib/firmware/iax/iaxy.bin $(TARGET_DIR)/var/lib/asterisk/firmware/iax/iaxy.bin; \ fi $(MAKE1) DESTDIR="$(TARGET_DIR)/bin" ASTTOPDIR="$(ASTERISK_DIR)" -C $(ASTERISK_DIR)/utils install $(MAKE1) DESTDIR="$(TARGET_DIR)/var/lib/asterisk/modules" ASTTOPDIR="$(ASTERISK_DIR)" -C $(ASTERISK_DIR)/agi install $(MAKE1) DESTDIR="$(TARGET_DIR)/usr/lib/asterisk/modules" ASTTOPDIR="$(ASTERISK_DIR)" -C $(ASTERISK_DIR)/res install $(MAKE1) DESTDIR="$(TARGET_DIR)/usr/lib/asterisk/modules" ASTTOPDIR="$(ASTERISK_DIR)" -C $(ASTERISK_DIR)/channels install $(MAKE1) DESTDIR="$(TARGET_DIR)/usr/lib/asterisk/modules" ASTTOPDIR="$(ASTERISK_DIR)" -C $(ASTERISK_DIR)/pbx install $(MAKE1) DESTDIR="$(TARGET_DIR)/usr/lib/asterisk/modules" ASTTOPDIR="$(ASTERISK_DIR)" -C $(ASTERISK_DIR)/apps install $(MAKE1) DESTDIR="$(TARGET_DIR)/usr/lib/asterisk/modules" ASTTOPDIR="$(ASTERISK_DIR)" -C $(ASTERISK_DIR)/codecs install $(MAKE1) DESTDIR="$(TARGET_DIR)/usr/lib/asterisk/modules" ASTTOPDIR="$(ASTERISK_DIR)" -C $(ASTERISK_DIR)/formats install $(MAKE1) DESTDIR="$(TARGET_DIR)/usr/lib/asterisk/modules" ASTTOPDIR="$(ASTERISK_DIR)" -C $(ASTERISK_DIR)/cdr install $(MAKE1) DESTDIR="$(TARGET_DIR)/usr/lib/asterisk/modules" ASTTOPDIR="$(ASTERISK_DIR)" -C $(ASTERISK_DIR)/funcs install $(MAKE1) DESTDIR="$(TARGET_DIR)/usr/lib/asterisk/modules" ASTTOPDIR="$(ASTERISK_DIR)" -C $(ASTERISK_DIR)/main install $(TARGET_STRIP) $(TARGET_DIR)/bin/asterisk $(TARGET_STRIP) $(TARGET_DIR)/bin/streamplayer $(TARGET_STRIP) $(TARGET_DIR)/usr/lib/asterisk/modules/*.so mkdir -p $(PERSISTENT_STORAGE)/etc/asterisk if [ ! -f $(PERSISTENT_STORAGE)/etc/asterisk/sip.conf ]; then \ cp package/asterisk/sip.conf $(PERSISTENT_STORAGE)/etc/asterisk; \ fi if [ ! -f $(PERSISTENT_STORAGE)/etc/asterisk/extensions.conf ]; then \ cp package/asterisk/extensions.conf $(PERSISTENT_STORAGE)/etc/asterisk; \ fi if [ ! -f $(PERSISTENT_STORAGE)/etc/asterisk/users.conf ]; then \ cp package/asterisk/users.conf $(PERSISTENT_STORAGE)/etc/asterisk; \ fi if [ ! -f $(PERSISTENT_STORAGE)/etc/asterisk/modules.conf ]; then \ cp package/asterisk/modules.conf $(PERSISTENT_STORAGE)/etc/asterisk; \ fi if [ ! -f $(PERSISTENT_STORAGE)/etc/asterisk/musiconhold.conf ]; then \ cp package/asterisk/musiconhold.conf $(PERSISTENT_STORAGE)/etc/asterisk; \ fi if [ ! -f $(PERSISTENT_STORAGE)/etc/asterisk/voicemail.conf ]; then \ cp package/asterisk/voicemail.conf $(PERSISTENT_STORAGE)/etc/asterisk; \ fi if [ ! -f $(PERSISTENT_STORAGE)/etc/asterisk/manager.conf ]; then \ cp package/asterisk/manager.conf $(PERSISTENT_STORAGE)/etc/asterisk; \ fi if [ ! -f $(PERSISTENT_STORAGE)/etc/asterisk/cdr.conf ]; then \ cp package/asterisk/cdr.conf $(PERSISTENT_STORAGE)/etc/asterisk; \ fi $(MAKE1) DESTDIR="$(PERSISTENT_STORAGE)" -C $(ASTERISK_DIR) OVERWRITE=n samples find package/asterisk -name "*.conf" -exec cp {} {}.pika \; cp package/asterisk/*.pika $(PERSISTENT_STORAGE)/etc/asterisk/. cp -vfR package/asterisk/autorun/* $(PERSISTENT_STORAGE)/autorun/ install -m755 -D package/asterisk/run \ $(TARGET_DIR)/service/asterisk/run # install -m755 -D package/asterisk/log-run \ $(TARGET_DIR)/service/asterisk/log/run @echo "Asterisk version" $(ASTERISK_VERSION) >> $(PERSISTENT_STORAGE)/version_info.txt asterisk-configure: $(ASTERISK_DIR)/.configured asterisk-clean: if test -d $(ASTERISK_DIR); then \ $(MAKE) -C $(ASTERISK_DIR) clean; \ fi $(RM) -r $(TARGET_DIR)/usr/lib/asterisk $(RM) -r $(TARGET_DIR)/var/lib/asterisk $(RM) -r $(PERSISTENT_STORAGE)/var/spool/asterisk $(RM) $(TARGET_DIR)/bin/asterisk $(RM) $(TARGET_DIR)/bin/astgenkey $(RM) $(TARGET_DIR)/bin/autosupport $(RM) -r $(TARGET_DIR)/usr/include/asterisk $(RM) $(PERSISTENT_STORAGE)/autorun/S45asterisk $(RM) -r $(TARGET_DIR)/service/asterisk $(RM) -r $(PERSISTENT_STORAGE)/asterisk # Leave config files for now # $(RM) -f $(PERSISTENT_STORAGE)/etc/asterisk asterisk-config: $(ASTERISK_DIR)/.configured $(MAKE) -C $(ASTERISK_DIR) menuconfig asterisk-dirclean: asterisk-clean $(RM) -r $(ASTERISK_DIR) $(RM) -r $(ASTERISK_DIR_LINK) ################################################ # # Toplevel Makefile options # ################################################# ifeq ($(strip $(PADS_PACKAGE_ASTERISK)),y) TARGETS+=asterisk endif