1999-12-05 07:16:40 +00:00
#
# Asterisk -- A telephony toolkit for Linux.
#
# Top level Makefile
#
2006-02-06 20:30:49 +00:00
# Copyright (C) 1999-2006, Digium, Inc.
1999-12-05 07:16:40 +00:00
#
2005-06-06 18:29:57 +00:00
# Mark Spencer <markster@digium.com>
1999-12-05 07:16:40 +00:00
#
# This program is free software, distributed under the terms of
# the GNU General Public License
#
2006-07-15 20:12:28 +00:00
# All Makefiles use the following variables:
#
2009-07-21 13:04:44 +00:00
# ASTCFLAGS - compiler options provided by the user (if any)
# _ASTCFLAGS - compiler options provided by the build system
# ASTLDFLAGS - linker flags (not libraries) provided by the user (if any)
# _ASTLDFLAGS - linker flags (not libraries) provided by the build system
2006-09-30 16:28:39 +00:00
# AST_LIBS - libraries to build binaries XXX
2006-07-15 20:12:28 +00:00
# LIBS - additional libraries, at top-level for all links,
# on a single object just for that object
# SOLINK - linker flags used only for creating shared objects (.so files),
# used for all .so links
#
2009-07-21 13:04:44 +00:00
# Values for ASTCFLAGS and ASTLDFLAGS can be specified in the
2006-09-29 18:25:49 +00:00
# environment when running make, as follows:
#
2009-07-21 13:04:44 +00:00
# $ ASTCFLAGS="-Werror" make ...
#
# or as a variable value on the make command line itself:
#
# $ make ASTCFLAGS="-Werror" ...
2006-09-29 18:25:49 +00:00
export ASTTOPDIR
export ASTERISKVERSION
export ASTERISKVERSIONNUM
export INSTALL_PATH
export ASTETCDIR
export ASTVARRUNDIR
export MODULES_DIR
export ASTSPOOLDIR
export ASTVARLIBDIR
export ASTDATADIR
export ASTLOGDIR
2006-11-28 18:26:53 +00:00
export ASTLIBDIR
export ASTMANDIR
export ASTHEADERDIR
export ASTBINDIR
export ASTSBINDIR
2006-09-29 18:25:49 +00:00
export AGI_DIR
export ASTCONFPATH
export NOISY_BUILD
export MENUSELECT_CFLAGS
export CC
export CXX
export AR
export RANLIB
export HOST_CC
2010-06-04 19:38:57 +00:00
export BUILD_CC
2006-09-29 18:25:49 +00:00
export STATIC_BUILD
export INSTALL
export DESTDIR
export PROC
export SOLINK
2006-11-01 22:51:21 +00:00
export STRIP
2006-12-01 23:16:28 +00:00
export DOWNLOAD
2007-12-17 06:44:51 +00:00
export AWK
2007-08-22 18:53:18 +00:00
export GREP
2006-12-22 22:33:46 +00:00
export OSARCH
2007-01-18 21:54:23 +00:00
export CURSES_DIR
export NCURSES_DIR
export TERMCAP_DIR
export TINFO_DIR
2007-03-29 16:25:41 +00:00
export GTK2_LIB
export GTK2_INCLUDE
2010-02-18 04:19:01 +00:00
export WGET_EXTRA_ARGS
1999-12-05 07:16:40 +00:00
2006-09-09 03:27:21 +00:00
# even though we could use '-include makeopts' here, use a wildcard
# lookup anyway, so that make won't try to build makeopts if it doesn't
# exist (other rules will force it to be built if needed)
i f n e q ( $( wildcard makeopts ) , )
include makeopts
e n d i f
2006-08-21 02:11:39 +00:00
2007-08-22 16:21:58 +00:00
# Some build systems, such as the one in openwrt, like to pass custom target
2007-09-06 22:05:02 +00:00
# CFLAGS and LDFLAGS in the COPTS and LDOPTS variables.
2007-08-22 16:21:58 +00:00
ASTCFLAGS += $( COPTS)
2007-09-06 22:05:02 +00:00
ASTLDFLAGS += $( LDOPTS)
2007-08-22 16:21:58 +00:00
2006-07-06 23:18:45 +00:00
#Uncomment this to see all build commands instead of 'quiet' output
#NOISY_BUILD=yes
2003-08-05 01:25:43 +00:00
# Create OPTIONS variable
OPTIONS =
2006-04-06 17:13:00 +00:00
2008-01-29 17:21:33 +00:00
empty :=
space := $( empty) $( empty)
ASTTOPDIR := $( subst $( space) ,\$ ( space) ,$( CURDIR) )
2006-02-23 22:38:47 +00:00
2006-04-06 17:13:00 +00:00
# Overwite config files on "make samples"
2005-11-07 22:33:12 +00:00
OVERWRITE = y
2003-03-18 06:00:18 +00:00
2006-04-06 17:13:00 +00:00
# Include debug and macro symbols in the executables (-g) and profiling info (-pg)
2006-05-11 13:15:10 +00:00
DEBUG = -g3
2003-03-18 06:00:18 +00:00
2003-10-25 17:27:53 +00:00
# Staging directory
# Files are copied here temporarily during the install process
# For example, make DESTDIR=/tmp/asterisk woud put things in
# /tmp/asterisk/etc/asterisk
2006-04-06 17:13:00 +00:00
# !!! Watch out, put no spaces or comments after the value !!!
2005-11-08 00:08:09 +00:00
#DESTDIR?=/tmp/asterisk
2003-10-25 17:27:53 +00:00
2006-04-07 07:04:05 +00:00
# Define standard directories for various platforms
# These apply if they are not redefined in asterisk.conf
i f e q ( $( OSARCH ) , S u n O S )
2006-06-29 22:01:41 +00:00
ASTETCDIR = /var/etc/asterisk
2006-05-19 18:54:21 +00:00
ASTLIBDIR = /opt/asterisk/lib
2006-06-29 22:01:41 +00:00
ASTVARLIBDIR = /var/opt/asterisk
ASTSPOOLDIR = /var/spool/asterisk
ASTLOGDIR = /var/log/asterisk
ASTHEADERDIR = /opt/asterisk/include
ASTBINDIR = /opt/asterisk/bin
ASTSBINDIR = /opt/asterisk/sbin
ASTVARRUNDIR = /var/run/asterisk
ASTMANDIR = /opt/asterisk/man
2006-04-07 07:04:05 +00:00
e l s e
2006-05-19 18:54:21 +00:00
ASTETCDIR = $( sysconfdir) /asterisk
ASTLIBDIR = $( libdir) /asterisk
ASTHEADERDIR = $( includedir) /asterisk
ASTBINDIR = $( bindir)
ASTSBINDIR = $( sbindir)
2006-05-25 22:05:12 +00:00
ASTSPOOLDIR = $( localstatedir) /spool/asterisk
ASTLOGDIR = $( localstatedir) /log/asterisk
2006-05-19 18:54:21 +00:00
ASTVARRUNDIR = $( localstatedir) /run
ASTMANDIR = $( mandir)
2007-06-18 15:46:14 +00:00
i f n e q ( $( findstring BSD ,$ ( OSARCH ) ) , )
2006-05-25 22:05:12 +00:00
ASTVARLIBDIR = $( prefix) /share/asterisk
2007-06-18 15:46:14 +00:00
ASTVARRUNDIR = $( localstatedir) /run/asterisk
2006-05-25 22:05:12 +00:00
e l s e
ASTVARLIBDIR = $( localstatedir) /lib/asterisk
e n d i f
2006-04-07 07:04:05 +00:00
e n d i f
2006-10-01 18:30:06 +00:00
i f e q ( $( ASTDATADIR ) , )
ASTDATADIR:= $( ASTVARLIBDIR)
e n d i f
2006-04-07 07:04:05 +00:00
# Asterisk.conf is located in ASTETCDIR or by using the -C flag
# when starting Asterisk
ASTCONFPATH = $( ASTETCDIR) /asterisk.conf
MODULES_DIR = $( ASTLIBDIR) /modules
2006-04-15 22:53:53 +00:00
AGI_DIR = $( ASTDATADIR) /agi-bin
2006-04-07 07:04:05 +00:00
# If you use Apache, you may determine by a grep 'DocumentRoot' of your httpd.conf file
HTTP_DOCSDIR = /var/www/html
# Determine by a grep 'ScriptAlias' of your Apache httpd.conf file
HTTP_CGIDIR = /var/www/cgi-bin
1999-12-05 07:16:40 +00:00
2006-04-06 17:13:00 +00:00
# Uncomment this to use the older DSP routines
2009-07-21 13:04:44 +00:00
#_ASTCFLAGS+=-DOLD_DSP_ROUTINES
2005-07-14 19:40:15 +00:00
# If the file .asterisk.makeopts is present in your home directory, you can
2006-04-24 17:11:45 +00:00
# include all of your favorite menuselect options so that every time you download
# a new version of Asterisk, you don't have to run menuselect to set them.
# The file /etc/asterisk.makeopts will also be included but can be overridden
2005-07-18 18:34:52 +00:00
# by the file in your home directory.
2006-04-24 17:11:45 +00:00
GLOBAL_MAKEOPTS = $( wildcard /etc/asterisk.makeopts)
USER_MAKEOPTS = $( wildcard ~/.asterisk.makeopts)
2006-10-04 00:25:44 +00:00
MOD_SUBDIR_CFLAGS = -I$( ASTTOPDIR) /include
OTHER_SUBDIR_CFLAGS = -I$( ASTTOPDIR) /include
2005-07-14 19:40:15 +00:00
2006-08-21 02:11:39 +00:00
i f e q ( $( OSARCH ) , l i n u x - g n u )
2005-08-30 02:54:02 +00:00
ifeq ( $( PROC) ,x86_64)
# You must have GCC 3.4 to use k8, otherwise use athlon
PROC = k8
#PROC=athlon
endif
ifeq ( $( PROC) ,sparc64)
#The problem with sparc is the best stuff is in newer versions of gcc (post 3.0) only.
#This works for even old (2.96) versions of gcc and provides a small boost either way.
#A ultrasparc cpu is really v9 but the stock debian stable 3.0 gcc doesn't support it.
#So we go lowest common available by gcc and go a step down, still a step up from
#the default as we now have a better instruction set to work with. - Belgarath
PROC = ultrasparc
OPTIONS += $( shell if $( CC) -mtune= $( PROC) -S -o /dev/null -xc /dev/null >/dev/null 2>& 1; then echo " -mtune= $( PROC) " ; fi )
OPTIONS += $( shell if $( CC) -mcpu= v8 -S -o /dev/null -xc /dev/null >/dev/null 2>& 1; then echo "-mcpu=v8" ; fi )
OPTIONS += -fomit-frame-pointer
endif
ifeq ( $( PROC) ,arm)
# The Cirrus logic is the only heavily shipping arm processor with a real floating point unit
ifeq ( $( SUB_PROC) ,maverick)
OPTIONS += -fsigned-char -mcpu= ep9312
else
ifeq ( $( SUB_PROC) ,xscale)
2006-04-30 13:56:37 +00:00
OPTIONS += -fsigned-char -mcpu= xscale
2005-08-30 02:54:02 +00:00
else
2006-04-30 13:56:37 +00:00
OPTIONS += -fsigned-char
2005-08-30 02:54:02 +00:00
endif
endif
endif
2005-07-14 19:40:15 +00:00
e n d i f
2009-07-21 13:04:44 +00:00
i f e q ( $( findstring -save -temps ,$ ( _ASTCFLAGS ) $ ( ASTCFLAGS ) ) , )
_ASTCFLAGS += -pipe
2007-10-29 22:04:29 +00:00
e n d i f
2009-07-21 13:04:44 +00:00
_ASTCFLAGS += -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations $( DEBUG)
2006-04-24 17:11:45 +00:00
i f e q ( $( AST_DEVMODE ) , y e s )
2009-07-21 13:04:44 +00:00
_ASTCFLAGS += -Werror
_ASTCFLAGS += -Wunused
_ASTCFLAGS += $( AST_DECLARATION_AFTER_STATEMENT)
_ASTCFLAGS += $( AST_FORTIFY_SOURCE)
# _ASTCFLAGS+=-Wundef
_ASTCFLAGS += -Wformat -Wformat-security
_ASTCFLAGS += -Wmissing-format-attribute
# _ASTCFLAGS+=-Wformat=2
2006-04-24 17:11:45 +00:00
e n d i f
2006-08-21 02:11:39 +00:00
i f n e q ( $( findstring BSD ,$ ( OSARCH ) ) , )
2009-08-04 14:51:39 +00:00
_ASTCFLAGS += -isystem /usr/local/include
2009-07-21 13:04:44 +00:00
_ASTLDFLAGS += -L/usr/local/lib
2005-09-26 02:08:06 +00:00
e n d i f
2004-08-31 03:31:59 +00:00
i f n e q ( $( PROC ) , u l t r a s p a r c )
2009-07-21 13:04:44 +00:00
_ASTCFLAGS += $( shell if $( CC) -march= $( PROC) -S -o /dev/null -xc /dev/null >/dev/null 2>& 1; then echo " -march= $( PROC) " ; fi )
2004-08-31 03:31:59 +00:00
e n d i f
2005-08-30 02:54:02 +00:00
2005-03-27 22:39:17 +00:00
i f e q ( $( PROC ) , p p c )
2009-07-21 13:04:44 +00:00
_ASTCFLAGS += -fsigned-char
2005-03-27 22:39:17 +00:00
e n d i f
2004-08-31 03:31:59 +00:00
2005-11-05 18:58:27 +00:00
i f e q ( $( OSARCH ) , F r e e B S D )
2006-08-25 20:10:56 +00:00
# -V is understood by BSD Make, not by GNU make.
BSDVERSION = $( shell make -V OSVERSION -f /usr/share/mk/bsd.port.subdir.mk)
2009-07-21 13:04:44 +00:00
_ASTCFLAGS += $( shell if test $( BSDVERSION) -lt 500016 ; then echo "-D_THREAD_SAFE" ; fi )
2006-07-15 19:59:35 +00:00
AST_LIBS += $( shell if test $( BSDVERSION) -lt 502102 ; then echo "-lc_r" ; else echo "-pthread" ; fi )
2006-08-21 02:11:39 +00:00
e n d i f
2004-06-22 17:42:14 +00:00
2005-11-05 18:58:27 +00:00
i f e q ( $( OSARCH ) , N e t B S D )
2009-07-21 13:04:44 +00:00
_ASTCFLAGS += -pthread -I/usr/pkg/include
2004-08-31 13:32:11 +00:00
e n d i f
2005-11-05 18:58:27 +00:00
i f e q ( $( OSARCH ) , O p e n B S D )
2009-07-21 13:04:44 +00:00
_ASTCFLAGS += -pthread
2003-04-27 18:13:11 +00:00
e n d i f
2005-08-30 02:54:02 +00:00
2005-11-05 18:58:27 +00:00
i f e q ( $( OSARCH ) , S u n O S )
2009-07-21 13:04:44 +00:00
_ASTCFLAGS += -Wcast-align -DSOLARIS -I../include/solaris-compat -I/opt/ssl/include -I/usr/local/ssl/include
2004-12-14 23:36:30 +00:00
e n d i f
2002-06-21 01:40:13 +00:00
2007-12-17 06:44:51 +00:00
ASTERISKVERSION := $( shell GREP = $( GREP) AWK = $( AWK) build_tools/make_version .)
2006-04-24 17:11:45 +00:00
2005-08-30 02:54:02 +00:00
i f n e q ( $( wildcard .version ) , )
2007-12-17 06:44:51 +00:00
ASTERISKVERSIONNUM:= $( shell $( AWK) -F. '{printf "%01d%02d%02d", $$1, $$2, $$3}' .version)
2005-08-30 02:54:02 +00:00
e n d i f
2005-07-12 02:08:03 +00:00
2006-06-19 15:17:32 +00:00
i f n e q ( $( wildcard .svn ) , )
2005-08-30 02:54:02 +00:00
ASTERISKVERSIONNUM = 999999
e n d i f
2003-02-04 16:35:12 +00:00
2009-07-21 13:04:44 +00:00
_ASTCFLAGS += $( BUSYDETECT) $( OPTIONS)
2005-12-27 06:24:28 +00:00
2006-08-21 02:11:39 +00:00
MOD_SUBDIRS := res channels pbx apps codecs formats cdr funcs main
2006-06-22 15:08:08 +00:00
OTHER_SUBDIRS := utils agi
2006-08-21 02:54:05 +00:00
SUBDIRS := $( OTHER_SUBDIRS) $( MOD_SUBDIRS)
2006-06-22 12:48:25 +00:00
SUBDIRS_INSTALL := $( SUBDIRS:%= %-install)
2006-06-22 14:31:52 +00:00
SUBDIRS_CLEAN := $( SUBDIRS:%= %-clean)
2007-10-01 21:52:45 +00:00
SUBDIRS_DIST_CLEAN := $( SUBDIRS:%= %-dist-clean)
2006-06-22 15:38:13 +00:00
SUBDIRS_UNINSTALL := $( SUBDIRS:%= %-uninstall)
2006-08-21 02:11:39 +00:00
MOD_SUBDIRS_EMBED_LDSCRIPT := $( MOD_SUBDIRS:%= %-embed-ldscript)
MOD_SUBDIRS_EMBED_LDFLAGS := $( MOD_SUBDIRS:%= %-embed-ldflags)
MOD_SUBDIRS_EMBED_LIBS := $( MOD_SUBDIRS:%= %-embed-libs)
2007-12-17 06:44:51 +00:00
MOD_SUBDIRS_MENUSELECT_TREE := $( MOD_SUBDIRS:%= %-menuselect-tree)
2005-08-30 02:54:02 +00:00
2006-08-21 02:11:39 +00:00
i f n e q ( $( findstring darwin ,$ ( OSARCH ) ) , )
2009-07-21 13:04:44 +00:00
_ASTCFLAGS += -D__Darwin__
2005-08-30 02:54:02 +00:00
AUDIO_LIBS = -framework CoreAudio
2005-08-31 03:32:15 +00:00
SOLINK = -dynamic -bundle -undefined suppress -force_flat_namespace
e l s e
2006-04-06 17:13:00 +00:00
# These are used for all but Darwin
2008-10-14 10:30:54 +00:00
SOLINK = -shared
2006-08-21 02:11:39 +00:00
ifneq ( $( findstring BSD,$( OSARCH) ) ,)
LDFLAGS += -L/usr/local/lib
2006-01-27 05:33:20 +00:00
endif
2003-10-27 20:00:41 +00:00
e n d i f
2005-08-30 02:54:02 +00:00
2005-11-05 18:58:27 +00:00
i f e q ( $( OSARCH ) , S u n O S )
2008-07-03 22:18:38 +00:00
SOLINK = -shared -fpic -L/usr/local/ssl/lib -lrt
2005-09-08 00:34:19 +00:00
e n d i f
2007-12-17 06:44:51 +00:00
SUBMAKE = $( MAKE) --quiet --no-print-directory
2005-11-14 19:00:38 +00:00
# This is used when generating the doxygen documentation
2006-04-24 17:11:45 +00:00
ifneq ($(DOT), : )
2005-11-14 19:00:38 +00:00
HAVEDOT = yes
e l s e
HAVEDOT = no
e n d i f
2006-09-22 23:44:47 +00:00
all : _all
2000-01-05 20:03:55 +00:00
@echo " +--------- Asterisk Build Complete ---------+"
2006-09-09 03:27:21 +00:00
@echo " + Asterisk has successfully been built, and +"
@echo " + can be installed by running: +"
2000-01-05 20:03:55 +00:00
@echo " + +"
2007-08-09 23:10:46 +00:00
i f e q ( $( MAKE ) , g m a k e )
@echo " + $( MAKE) install + "
e l s e
2006-12-01 23:16:28 +00:00
@echo " + $( MAKE) install + "
2007-08-09 23:10:46 +00:00
e n d i f
2000-01-05 20:03:55 +00:00
@echo " +-------------------------------------------+"
2006-09-22 23:44:47 +00:00
_all : cleantest $( SUBDIRS )
2006-08-21 03:58:02 +00:00
makeopts : configure
2006-04-24 17:11:45 +00:00
@echo "****"
2007-05-09 13:24:03 +00:00
@echo " **** The configure script must be executed before running ' $( MAKE) '. "
@echo "**** Please run \"./configure\"."
2006-04-24 17:11:45 +00:00
@echo "****"
2006-04-24 17:24:03 +00:00
@exit 1
2006-04-24 17:11:45 +00:00
2009-10-23 14:00:01 +00:00
menuselect.makeopts : menuselect /menuselect menuselect -tree makeopts build_tools /menuselect -deps $( GLOBAL_MAKEOPTS ) $( USER_MAKEOPTS )
2010-02-15 23:42:33 +00:00
i f e q ( $( filter %menuselect ,$ ( MAKECMDGOALS ) ) , )
2009-12-10 20:58:09 +00:00
menuselect/menuselect --check-deps $@
2009-10-23 14:00:01 +00:00
menuselect/menuselect --check-deps $@ $( GLOBAL_MAKEOPTS) $( USER_MAKEOPTS)
2010-02-15 23:42:33 +00:00
e n d i f
2006-06-26 14:38:55 +00:00
2006-08-21 02:11:39 +00:00
$(MOD_SUBDIRS_EMBED_LDSCRIPT) :
2009-06-11 22:20:31 +00:00
+@echo "EMBED_LDSCRIPTS+=" ` $( SUBMAKE) -C $( @:-embed-ldscript= ) SUBDIR = $( @:-embed-ldscript= ) __embed_ldscript` >> makeopts.embed_rules
2005-04-01 21:18:39 +00:00
2006-08-21 02:11:39 +00:00
$(MOD_SUBDIRS_EMBED_LDFLAGS) :
2009-06-11 22:20:31 +00:00
+@echo "EMBED_LDFLAGS+=" ` $( SUBMAKE) -C $( @:-embed-ldflags= ) SUBDIR = $( @:-embed-ldflags= ) __embed_ldflags` >> makeopts.embed_rules
2005-05-19 04:08:01 +00:00
2006-08-21 02:11:39 +00:00
$(MOD_SUBDIRS_EMBED_LIBS) :
2009-06-11 22:20:31 +00:00
+@echo "EMBED_LIBS+=" ` $( SUBMAKE) -C $( @:-embed-libs= ) SUBDIR = $( @:-embed-libs= ) __embed_libs` >> makeopts.embed_rules
2007-12-17 06:44:51 +00:00
$(MOD_SUBDIRS_MENUSELECT_TREE) :
2010-01-19 17:41:00 +00:00
+@$( SUBMAKE) -C $( @:-menuselect-tree= ) SUBDIR = $( @:-menuselect-tree= ) moduleinfo
+@$( SUBMAKE) -C $( @:-menuselect-tree= ) SUBDIR = $( @:-menuselect-tree= ) makeopts
2002-09-02 15:20:28 +00:00
2006-08-21 02:11:39 +00:00
makeopts.embed_rules : menuselect .makeopts
@echo "Generating embedded module rules ..."
@rm -f $@
@$( MAKE) --no-print-directory $( MOD_SUBDIRS_EMBED_LDSCRIPT)
@$( MAKE) --no-print-directory $( MOD_SUBDIRS_EMBED_LDFLAGS)
@$( MAKE) --no-print-directory $( MOD_SUBDIRS_EMBED_LIBS)
2004-07-18 17:58:05 +00:00
2006-12-16 21:14:34 +00:00
$(SUBDIRS) : include /asterisk /version .h include /asterisk /buildopts .h defaults .h makeopts .embed_rules
2005-04-29 15:18:10 +00:00
2006-08-21 02:11:39 +00:00
# ensure that all module subdirectories are processed before 'main' during
# a parallel build, since if there are modules selected to be embedded the
# directories containing them must be completed before the main Asterisk
# binary can be built
main : $( filter -out main ,$ ( MOD_SUBDIRS ) )
2005-04-29 15:18:10 +00:00
2006-08-21 02:11:39 +00:00
$(MOD_SUBDIRS) :
2010-03-20 19:17:28 +00:00
+@_ASTCFLAGS= " $( MOD_SUBDIR_CFLAGS) $( _ASTCFLAGS) " ASTCFLAGS = " $( ASTCFLAGS) " _ASTLDFLAGS = " $( _ASTLDFLAGS) " ASTLDFLAGS = " $( ASTLDFLAGS) " $( SUBMAKE) --no-builtin-rules -C $@ SUBDIR = $@ all
2005-04-29 15:18:10 +00:00
2006-08-21 02:11:39 +00:00
$(OTHER_SUBDIRS) :
2010-03-20 19:17:28 +00:00
+@_ASTCFLAGS= " $( OTHER_SUBDIR_CFLAGS) $( _ASTCFLAGS) " ASTCFLAGS = " $( ASTCFLAGS) " _ASTLDFLAGS = " $( _ASTLDFLAGS) " ASTLDFLAGS = " $( ASTLDFLAGS) " $( SUBMAKE) --no-builtin-rules -C $@ SUBDIR = $@ all
2005-04-29 15:18:10 +00:00
2006-04-24 17:11:45 +00:00
defaults.h : makeopts
2006-05-10 14:35:38 +00:00
@build_tools/make_defaults_h > $@ .tmp
2006-06-19 15:17:32 +00:00
@if cmp -s $@ .tmp $@ ; then : ; else \
2005-06-06 03:04:58 +00:00
mv $@ .tmp $@ ; \
fi
2006-05-10 14:35:38 +00:00
@rm -f $@ .tmp
2005-06-06 03:04:58 +00:00
2008-07-30 15:29:17 +00:00
include/asterisk/version.h : FORCE
2006-05-10 14:35:38 +00:00
@build_tools/make_version_h > $@ .tmp
2006-06-19 15:17:32 +00:00
@if cmp -s $@ .tmp $@ ; then : ; else \
2005-06-06 03:04:58 +00:00
mv $@ .tmp $@ ; \
fi
2006-05-10 14:35:38 +00:00
@rm -f $@ .tmp
2001-05-09 03:11:22 +00:00
2006-05-11 09:50:41 +00:00
include/asterisk/buildopts.h : menuselect .makeopts
@build_tools/make_buildopts_h > $@ .tmp
2006-06-19 15:17:32 +00:00
@if cmp -s $@ .tmp $@ ; then : ; else \
2006-05-11 09:50:41 +00:00
mv $@ .tmp $@ ; \
fi
@rm -f $@ .tmp
2006-06-22 14:31:52 +00:00
$(SUBDIRS_CLEAN) :
2006-08-21 02:11:39 +00:00
@$( MAKE) --no-print-directory -C $( @:-clean= ) clean
1999-12-05 07:16:40 +00:00
2007-10-01 21:52:45 +00:00
$(SUBDIRS_DIST_CLEAN) :
@$( MAKE) --no-print-directory -C $( @:-dist-clean= ) dist-clean
2008-11-15 19:31:03 +00:00
clean : $( SUBDIRS_CLEAN ) _clean
_clean :
2005-06-06 03:04:58 +00:00
rm -f defaults.h
rm -f include/asterisk/build.h
rm -f include/asterisk/version.h
2006-06-24 04:42:35 +00:00
@$( MAKE) -C menuselect clean
2006-09-09 03:27:21 +00:00
cp -f .cleancount .lastclean
1999-12-05 07:16:40 +00:00
2006-07-01 14:25:43 +00:00
dist-clean : distclean
2006-04-28 17:39:54 +00:00
2008-11-15 19:31:03 +00:00
distclean : $( SUBDIRS_DIST_CLEAN ) _clean
2006-06-24 04:42:35 +00:00
@$( MAKE) -C menuselect dist-clean
2006-06-22 14:31:52 +00:00
@$( MAKE) -C sounds dist-clean
2006-08-23 03:07:34 +00:00
rm -f menuselect.makeopts makeopts menuselect-tree menuselect.makedeps
2006-08-21 02:11:39 +00:00
rm -f makeopts.embed_rules
2008-08-07 15:07:12 +00:00
rm -f config.log config.status config.cache
2006-06-23 02:15:35 +00:00
rm -rf autom4te.cache
2006-07-01 14:29:06 +00:00
rm -f include/asterisk/autoconfig.h
2006-05-11 09:50:41 +00:00
rm -f include/asterisk/buildopts.h
2006-06-23 08:32:19 +00:00
rm -rf doc/api
2006-07-01 04:37:52 +00:00
rm -f build_tools/menuselect-deps
2006-04-24 17:11:45 +00:00
2006-09-22 23:44:47 +00:00
datafiles : _all
2010-05-03 16:54:41 +00:00
CFLAGS = " $( _ASTCFLAGS) $( ASTCFLAGS) " build_tools/mkpkgconfig $( DESTDIR) $( libdir) /pkgconfig;
2006-04-24 17:11:45 +00:00
# Should static HTTP be installed during make samples or even with its own target ala
# webvoicemail? There are portions here that *could* be customized but might also be
# improved a lot. I'll put it here for now.
2006-04-15 22:53:53 +00:00
mkdir -p $( DESTDIR) $( ASTDATADIR) /static-http
2006-04-01 08:49:54 +00:00
for x in static-http/*; do \
2006-04-30 04:34:04 +00:00
$( INSTALL) -m 644 $$ x $( DESTDIR) $( ASTDATADIR) /static-http ; \
2006-04-01 08:49:54 +00:00
done
2006-04-15 22:53:53 +00:00
mkdir -p $( DESTDIR) $( ASTDATADIR) /images
2001-09-24 21:29:03 +00:00
for x in images/*.jpg; do \
2006-04-15 22:53:53 +00:00
$( INSTALL) -m 644 $$ x $( DESTDIR) $( ASTDATADIR) /images ; \
2001-09-24 21:29:03 +00:00
done
2003-10-25 17:27:53 +00:00
mkdir -p $( DESTDIR) $( AGI_DIR)
2006-06-07 21:05:05 +00:00
$( MAKE) -C sounds install
2001-09-24 21:29:03 +00:00
2003-02-04 16:35:12 +00:00
update :
Merged revisions 7265-7266,7268-7275 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r7265 | oej | 2005-12-01 17:18:14 -0600 (Thu, 01 Dec 2005) | 2 lines
Changing bug report address to the Asterisk issue tracker
........
r7266 | kpfleming | 2005-12-01 17:18:29 -0600 (Thu, 01 Dec 2005) | 3 lines
Makefile 'update' target now supports updating from Subversion repositories (issue #5875)
remove support for 'patches' subdirectory, it's no longer useful
........
r7268 | kpfleming | 2005-12-01 17:34:58 -0600 (Thu, 01 Dec 2005) | 2 lines
ensure channel's scheduling context is freed (issue #5788)
........
r7269 | kpfleming | 2005-12-01 17:49:44 -0600 (Thu, 01 Dec 2005) | 2 lines
don't block waiting for the Festival server forever when it goes away (issue #5882)
........
r7270 | kpfleming | 2005-12-01 18:26:12 -0600 (Thu, 01 Dec 2005) | 2 lines
allow variables to exist on both 'halves' of the Local channel (issue #5810)
........
r7271 | kpfleming | 2005-12-01 18:28:48 -0600 (Thu, 01 Dec 2005) | 2 lines
protect agent_bridgedchannel() from segfaulting when there is no bridged channel (issue #5879)
........
r7272 | kpfleming | 2005-12-01 18:39:00 -0600 (Thu, 01 Dec 2005) | 3 lines
properly handle password changes when mailbox is last line of config file and not followed by a newline (issue #5870)
reformat password changing code to conform to coding guidelines (issue #5870)
........
r7273 | kpfleming | 2005-12-01 18:42:40 -0600 (Thu, 01 Dec 2005) | 2 lines
allow previous context-searching behavior to be used if desired (issue #5899)
........
r7274 | kpfleming | 2005-12-01 18:51:15 -0600 (Thu, 01 Dec 2005) | 2 lines
inherit channel variables into channels created by Page() application (issue #5888)
........
r7275 | oej | 2005-12-01 18:52:13 -0600 (Thu, 01 Dec 2005) | 2 lines
Bug #5907. Improve SIP INFO DTMF debugging output. (1.2 & Trunk)
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7276 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-02 01:01:11 +00:00
@if [ -d .svn ] ; then \
echo "Updating from Subversion..." ; \
svn update | tee update.out; \
rm -f .version; \
if [ ` grep -c ^C update.out` -gt 0 ] ; then \
echo ; echo "The following files have conflicts:" ; \
grep ^C update.out | cut -b4- ; \
2005-03-11 08:24:23 +00:00
fi ; \
Merged revisions 7265-7266,7268-7275 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r7265 | oej | 2005-12-01 17:18:14 -0600 (Thu, 01 Dec 2005) | 2 lines
Changing bug report address to the Asterisk issue tracker
........
r7266 | kpfleming | 2005-12-01 17:18:29 -0600 (Thu, 01 Dec 2005) | 3 lines
Makefile 'update' target now supports updating from Subversion repositories (issue #5875)
remove support for 'patches' subdirectory, it's no longer useful
........
r7268 | kpfleming | 2005-12-01 17:34:58 -0600 (Thu, 01 Dec 2005) | 2 lines
ensure channel's scheduling context is freed (issue #5788)
........
r7269 | kpfleming | 2005-12-01 17:49:44 -0600 (Thu, 01 Dec 2005) | 2 lines
don't block waiting for the Festival server forever when it goes away (issue #5882)
........
r7270 | kpfleming | 2005-12-01 18:26:12 -0600 (Thu, 01 Dec 2005) | 2 lines
allow variables to exist on both 'halves' of the Local channel (issue #5810)
........
r7271 | kpfleming | 2005-12-01 18:28:48 -0600 (Thu, 01 Dec 2005) | 2 lines
protect agent_bridgedchannel() from segfaulting when there is no bridged channel (issue #5879)
........
r7272 | kpfleming | 2005-12-01 18:39:00 -0600 (Thu, 01 Dec 2005) | 3 lines
properly handle password changes when mailbox is last line of config file and not followed by a newline (issue #5870)
reformat password changing code to conform to coding guidelines (issue #5870)
........
r7273 | kpfleming | 2005-12-01 18:42:40 -0600 (Thu, 01 Dec 2005) | 2 lines
allow previous context-searching behavior to be used if desired (issue #5899)
........
r7274 | kpfleming | 2005-12-01 18:51:15 -0600 (Thu, 01 Dec 2005) | 2 lines
inherit channel variables into channels created by Page() application (issue #5888)
........
r7275 | oej | 2005-12-01 18:52:13 -0600 (Thu, 01 Dec 2005) | 2 lines
Bug #5907. Improve SIP INFO DTMF debugging output. (1.2 & Trunk)
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7276 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-02 01:01:11 +00:00
rm -f update.out; \
2003-02-04 16:35:12 +00:00
else \
Merged revisions 7265-7266,7268-7275 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r7265 | oej | 2005-12-01 17:18:14 -0600 (Thu, 01 Dec 2005) | 2 lines
Changing bug report address to the Asterisk issue tracker
........
r7266 | kpfleming | 2005-12-01 17:18:29 -0600 (Thu, 01 Dec 2005) | 3 lines
Makefile 'update' target now supports updating from Subversion repositories (issue #5875)
remove support for 'patches' subdirectory, it's no longer useful
........
r7268 | kpfleming | 2005-12-01 17:34:58 -0600 (Thu, 01 Dec 2005) | 2 lines
ensure channel's scheduling context is freed (issue #5788)
........
r7269 | kpfleming | 2005-12-01 17:49:44 -0600 (Thu, 01 Dec 2005) | 2 lines
don't block waiting for the Festival server forever when it goes away (issue #5882)
........
r7270 | kpfleming | 2005-12-01 18:26:12 -0600 (Thu, 01 Dec 2005) | 2 lines
allow variables to exist on both 'halves' of the Local channel (issue #5810)
........
r7271 | kpfleming | 2005-12-01 18:28:48 -0600 (Thu, 01 Dec 2005) | 2 lines
protect agent_bridgedchannel() from segfaulting when there is no bridged channel (issue #5879)
........
r7272 | kpfleming | 2005-12-01 18:39:00 -0600 (Thu, 01 Dec 2005) | 3 lines
properly handle password changes when mailbox is last line of config file and not followed by a newline (issue #5870)
reformat password changing code to conform to coding guidelines (issue #5870)
........
r7273 | kpfleming | 2005-12-01 18:42:40 -0600 (Thu, 01 Dec 2005) | 2 lines
allow previous context-searching behavior to be used if desired (issue #5899)
........
r7274 | kpfleming | 2005-12-01 18:51:15 -0600 (Thu, 01 Dec 2005) | 2 lines
inherit channel variables into channels created by Page() application (issue #5888)
........
r7275 | oej | 2005-12-01 18:52:13 -0600 (Thu, 01 Dec 2005) | 2 lines
Bug #5907. Improve SIP INFO DTMF debugging output. (1.2 & Trunk)
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7276 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-02 01:01:11 +00:00
echo "Not under version control" ; \
2003-02-04 16:35:12 +00:00
fi
2005-04-27 16:27:53 +00:00
NEWHEADERS = $( notdir $( wildcard include/asterisk/*.h) )
OLDHEADERS = $( filter-out $( NEWHEADERS) ,$( notdir $( wildcard $( DESTDIR) $( ASTHEADERDIR) /*.h) ) )
2008-04-18 20:01:09 +00:00
installdirs :
2003-10-25 17:27:53 +00:00
mkdir -p $( DESTDIR) $( MODULES_DIR)
mkdir -p $( DESTDIR) $( ASTSBINDIR)
mkdir -p $( DESTDIR) $( ASTETCDIR)
mkdir -p $( DESTDIR) $( ASTBINDIR)
mkdir -p $( DESTDIR) $( ASTVARRUNDIR)
mkdir -p $( DESTDIR) $( ASTSPOOLDIR) /voicemail
2005-05-04 19:33:33 +00:00
mkdir -p $( DESTDIR) $( ASTSPOOLDIR) /dictate
2005-02-27 19:07:46 +00:00
mkdir -p $( DESTDIR) $( ASTSPOOLDIR) /system
2004-09-07 01:49:08 +00:00
mkdir -p $( DESTDIR) $( ASTSPOOLDIR) /tmp
2005-03-12 05:37:32 +00:00
mkdir -p $( DESTDIR) $( ASTSPOOLDIR) /meetme
2005-11-21 01:53:44 +00:00
mkdir -p $( DESTDIR) $( ASTSPOOLDIR) /monitor
2008-04-18 20:01:09 +00:00
bininstall : _all installdirs $( SUBDIRS_INSTALL )
2006-08-21 02:11:39 +00:00
$( INSTALL) -m 755 main/asterisk $( DESTDIR) $( ASTSBINDIR) /
2006-06-22 10:38:45 +00:00
$( LN) -sf asterisk $( DESTDIR) $( ASTSBINDIR) /rasterisk
2005-10-25 12:47:54 +00:00
$( INSTALL) -m 755 contrib/scripts/astgenkey $( DESTDIR) $( ASTSBINDIR) /
2006-05-11 10:12:34 +00:00
$( INSTALL) -m 755 contrib/scripts/autosupport $( DESTDIR) $( ASTSBINDIR) /
2004-01-12 03:19:25 +00:00
if [ ! -f $( DESTDIR) $( ASTSBINDIR) /safe_asterisk ] ; then \
2007-05-11 16:35:51 +00:00
cat contrib/scripts/safe_asterisk | sed 's|__ASTERISK_SBIN_DIR__|$(ASTSBINDIR)|;s|__ASTERISK_VARRUN_DIR__|$(ASTVARRUNDIR)|;' > $( DESTDIR) $( ASTSBINDIR) /safe_asterisk ; \
2005-09-12 04:06:52 +00:00
chmod 755 $( DESTDIR) $( ASTSBINDIR) /safe_asterisk; \
2004-01-12 03:15:34 +00:00
fi
2005-10-25 12:47:54 +00:00
$( INSTALL) -d $( DESTDIR) $( ASTHEADERDIR)
2006-06-07 19:05:35 +00:00
$( INSTALL) -m 644 include/asterisk.h $( DESTDIR) $( includedir)
2005-10-25 12:47:54 +00:00
$( INSTALL) -m 644 include/asterisk/*.h $( DESTDIR) $( ASTHEADERDIR)
2005-04-27 05:46:32 +00:00
if [ -n " $( OLDHEADERS) " ] ; then \
rm -f $( addprefix $( DESTDIR) $( ASTHEADERDIR) /,$( OLDHEADERS) ) ; \
fi
2003-10-25 17:27:53 +00:00
mkdir -p $( DESTDIR) $( ASTLOGDIR) /cdr-csv
2005-03-28 20:48:24 +00:00
mkdir -p $( DESTDIR) $( ASTLOGDIR) /cdr-custom
2006-04-15 23:37:29 +00:00
mkdir -p $( DESTDIR) $( ASTDATADIR) /keys
mkdir -p $( DESTDIR) $( ASTDATADIR) /firmware
mkdir -p $( DESTDIR) $( ASTDATADIR) /firmware/iax
2004-07-19 15:52:57 +00:00
mkdir -p $( DESTDIR) $( ASTMANDIR) /man8
2006-04-15 23:37:29 +00:00
$( INSTALL) -m 644 keys/iaxtel.pub $( DESTDIR) $( ASTDATADIR) /keys
$( INSTALL) -m 644 keys/freeworlddialup.pub $( DESTDIR) $( ASTDATADIR) /keys
2006-08-21 02:11:39 +00:00
$( INSTALL) -m 644 doc/asterisk.8 $( DESTDIR) $( ASTMANDIR) /man8
2005-10-25 12:47:54 +00:00
$( INSTALL) -m 644 contrib/scripts/astgenkey.8 $( DESTDIR) $( ASTMANDIR) /man8
$( INSTALL) -m 644 contrib/scripts/autosupport.8 $( DESTDIR) $( ASTMANDIR) /man8
$( INSTALL) -m 644 contrib/scripts/safe_asterisk.8 $( DESTDIR) $( ASTMANDIR) /man8
2006-10-24 05:23:33 +00:00
if [ -f contrib/firmware/iax/iaxy.bin ] ; then \
$( INSTALL) -m 644 contrib/firmware/iax/iaxy.bin $( DESTDIR) $( ASTDATADIR) /firmware/iax/iaxy.bin; \
fi
2006-04-29 11:42:31 +00:00
2006-06-22 12:33:50 +00:00
$(SUBDIRS_INSTALL) :
2006-10-20 19:03:03 +00:00
@DESTDIR= " $( DESTDIR) " ASTSBINDIR = " $( ASTSBINDIR) " $( MAKE) -C $( @:-install= ) install
2005-05-01 01:43:44 +00:00
NEWMODS = $( notdir $( wildcard */*.so) )
2008-07-11 22:23:29 +00:00
DEPMODS = chan_zap.so app_zapras.so app_zapscan.so app_zapbarge.so codec_zap.so
OLDMODS = $( filter-out $( NEWMODS) $( DEPMODS) ,$( notdir $( wildcard $( DESTDIR) $( MODULES_DIR) /*.so) ) )
2005-05-01 01:43:44 +00:00
oldmodcheck :
2008-07-11 22:23:29 +00:00
@for f in $( DEPMODS) ; do rm -f $( DESTDIR) $( MODULES_DIR) /$$ f; done
2005-04-27 16:27:53 +00:00
@if [ -n " $( OLDMODS) " ] ; then \
echo " WARNING WARNING WARNING" ; \
echo "" ; \
echo " Your Asterisk modules directory, located at" ; \
echo " $( DESTDIR) $( MODULES_DIR) " ; \
echo " contains modules that were not installed by this " ; \
echo " version of Asterisk. Please ensure that these" ; \
echo " modules are compatible with this version before" ; \
echo " attempting to run Asterisk." ; \
echo "" ; \
for f in $( OLDMODS) ; do \
echo " $$ f " ; \
done ; \
echo "" ; \
echo " WARNING WARNING WARNING" ; \
fi
2003-02-04 16:35:12 +00:00
2008-02-26 18:09:13 +00:00
badshell :
i f n e q ( $( findstring ~,$ ( DESTDIR ) ) , )
@echo "Your shell doesn't do ~ expansion when expected (specifically, when doing \"make install DESTDIR=~/path\")."
@echo " Try replacing ~ with \$ $HOME , as in \"make install DESTDIR=\$ $HOME /path\". "
@exit 1
e n d i f
2008-04-18 19:58:55 +00:00
install : badshell datafiles bininstall
2005-09-30 14:48:41 +00:00
@if [ -x /usr/sbin/asterisk-post-install ] ; then \
/usr/sbin/asterisk-post-install $( DESTDIR) . ; \
fi
2006-04-29 11:42:31 +00:00
@echo " +---- Asterisk Installation Complete -------+"
@echo " + +"
@echo " + YOU MUST READ THE SECURITY DOCUMENT +"
@echo " + +"
@echo " + Asterisk has successfully been installed. +"
@echo " + If you would like to install the sample +"
@echo " + configuration files (overwriting any +"
@echo " + existing config files), run: +"
@echo " + +"
2007-08-09 23:10:46 +00:00
i f e q ( $( MAKE ) , g m a k e )
@echo " + $( MAKE) samples + "
e l s e
2006-04-29 11:42:31 +00:00
@echo " + $( MAKE) samples + "
2007-08-09 23:10:46 +00:00
e n d i f
2006-04-29 11:42:31 +00:00
@echo " + +"
@echo " +----------------- or ---------------------+"
@echo " + +"
@echo " + You can go ahead and install the asterisk +"
@echo " + program documentation now or later run: +"
@echo " + +"
2007-08-09 23:10:46 +00:00
i f e q ( $( MAKE ) , g m a k e )
@echo " + $( MAKE) progdocs + "
e l s e
2006-04-29 11:42:31 +00:00
@echo " + $( MAKE) progdocs + "
2007-08-09 23:10:46 +00:00
e n d i f
2006-04-29 11:42:31 +00:00
@echo " + +"
@echo " + **Note** This requires that you have +"
@echo " + doxygen installed on your local system +"
@echo " +-------------------------------------------+"
@$( MAKE) -s oldmodcheck
2003-02-04 16:35:12 +00:00
2006-09-22 23:44:47 +00:00
upgrade : bininstall
2003-02-04 16:35:12 +00:00
2005-08-23 02:30:30 +00:00
adsi :
2003-10-25 17:27:53 +00:00
mkdir -p $( DESTDIR) $( ASTETCDIR)
2002-06-21 01:40:13 +00:00
for x in configs/*.adsi; do \
2006-06-16 16:45:52 +00:00
if [ ! -f $( DESTDIR) $( ASTETCDIR) /$$ x ] ; then \
2006-06-22 10:36:45 +00:00
$( INSTALL) -m 644 $$ x $( DESTDIR) $( ASTETCDIR) /` $( BASENAME) $$ x` ; \
2002-06-21 01:40:13 +00:00
fi ; \
done
2005-08-23 02:30:30 +00:00
samples : adsi
2003-10-25 17:27:53 +00:00
mkdir -p $( DESTDIR) $( ASTETCDIR)
2000-01-05 20:03:55 +00:00
for x in configs/*.sample; do \
2006-06-22 10:36:45 +00:00
if [ -f $( DESTDIR) $( ASTETCDIR) /` $( BASENAME) $$ x .sample` ] ; then \
2004-11-19 14:04:57 +00:00
if [ " $( OVERWRITE) " = "y" ] ; then \
2006-06-22 10:36:45 +00:00
if cmp -s $( DESTDIR) $( ASTETCDIR) /` $( BASENAME) $$ x .sample` $$ x ; then \
2004-11-20 06:47:33 +00:00
echo " Config file $$ x is unchanged " ; \
continue ; \
fi ; \
2006-06-22 10:36:45 +00:00
mv -f $( DESTDIR) $( ASTETCDIR) /` $( BASENAME) $$ x .sample` $( DESTDIR) $( ASTETCDIR) /` $( BASENAME) $$ x .sample` .old ; \
2004-11-19 14:04:57 +00:00
else \
echo " Skipping config file $$ x " ; \
continue ; \
fi ; \
2000-01-05 20:03:55 +00:00
fi ; \
2006-06-22 10:36:45 +00:00
$( INSTALL) -m 644 $$ x $( DESTDIR) $( ASTETCDIR) /` $( BASENAME) $$ x .sample` ; \
2000-01-05 20:03:55 +00:00
done
2005-11-08 00:08:09 +00:00
if [ " $( OVERWRITE) " = "y" ] || [ ! -f $( DESTDIR) $( ASTCONFPATH) ] ; then \
( \
echo "[directories]" ; \
echo " astetcdir => $( ASTETCDIR) " ; \
echo " astmoddir => $( MODULES_DIR) " ; \
echo " astvarlibdir => $( ASTVARLIBDIR) " ; \
2006-04-15 22:53:53 +00:00
echo " astdatadir => $( ASTDATADIR) " ; \
2005-11-08 00:08:09 +00:00
echo " astagidir => $( AGI_DIR) " ; \
echo " astspooldir => $( ASTSPOOLDIR) " ; \
echo " astrundir => $( ASTVARRUNDIR) " ; \
echo " astlogdir => $( ASTLOGDIR) " ; \
echo "" ; \
2008-08-26 15:22:58 +00:00
echo "[options]" ; \
echo "languageprefix = yes ; Use the new sound prefix path syntax" ; \
2007-10-31 18:03:53 +00:00
echo ";verbose = 3" ; \
echo ";debug = 3" ; \
echo ";alwaysfork = yes ; same as -F at startup" ; \
echo ";nofork = yes ; same as -f at startup" ; \
echo ";quiet = yes ; same as -q at startup" ; \
echo ";timestamp = yes ; same as -T at startup" ; \
echo ";execincludes = yes ; support #exec in config files" ; \
echo ";console = yes ; Run as console (same as -c at startup)" ; \
echo ";highpriority = yes ; Run realtime priority (same as -p at startup)" ; \
echo ";initcrypto = yes ; Initialize crypto keys (same as -i at startup)" ; \
echo ";nocolor = yes ; Disable console colors" ; \
echo ";dontwarn = yes ; Disable some warnings" ; \
echo ";dumpcore = yes ; Dump core on crash (same as -g at startup)" ; \
2007-01-13 16:45:37 +00:00
echo ";internal_timing = yes" ; \
2007-02-02 15:29:35 +00:00
echo ";systemname = my_system_name ; prefix uniqueid with a system name for global uniqueness issues" ; \
2007-10-18 21:58:44 +00:00
echo ";maxcalls = 10 ; Maximum amount of calls allowed" ; \
2007-10-18 22:01:02 +00:00
echo ";maxload = 0.9 ; Asterisk stops accepting new calls if the load average exceed this limit" ; \
2007-10-18 21:58:44 +00:00
echo ";cache_record_files = yes ; Cache recorded sound files to another directory during recording" ; \
2010-01-15 23:06:11 +00:00
echo ";record_cache_dir = /tmp ; Specify cache directory (used in conjunction with cache_record_files)" ; \
2007-10-18 21:58:44 +00:00
echo ";transmit_silence_during_record = yes ; Transmit SLINEAR silence while a channel is being recorded" ; \
2010-01-20 20:00:04 +00:00
echo ";transmit_silence = yes ; Transmit silence while a channel is in a waiting state, a recording only state, or when DTMF is" ; \
echo " ; being generated. Note that the silence internally is generated in raw signed linear format." ; \
echo " ; This means that it must be transcoded into the native format of the channel before it can be sent" ; \
echo " ; to the device. It is for this reason that this is optional, as it may result in requiring a" ; \
echo " ; temporary codec translation path for a channel that may not otherwise require one." ; \
2007-10-18 21:58:44 +00:00
echo ";transcode_via_sln = yes ; Build transcode paths via SLINEAR, instead of directly" ; \
2010-05-25 13:33:21 +00:00
echo ";sendfullybooted = yes ; Send the FullyBooted AMI event on AMI login and when all modules are finished loading" ; \
2007-10-18 21:58:44 +00:00
echo ";runuser = asterisk ; The user to run as" ; \
echo ";rungroup = asterisk ; The group to run as" ; \
2008-07-11 22:12:26 +00:00
echo ";dahdichanname = yes ; Channels created by chan_dahdi will be called 'DAHDI', otherwise 'Zap'" ; \
2007-10-18 21:58:44 +00:00
echo "" ; \
2005-11-08 00:08:09 +00:00
echo "; Changing the following lines may compromise your security." ; \
echo ";[files]" ; \
echo ";astctlpermissions = 0660" ; \
echo ";astctlowner = root" ; \
echo ";astctlgroup = apache" ; \
echo ";astctl = asterisk.ctl" ; \
) > $( DESTDIR) $( ASTCONFPATH) ; \
2004-11-19 14:04:57 +00:00
else \
echo "Skipping asterisk.conf creation" ; \
fi
2003-10-25 17:27:53 +00:00
mkdir -p $( DESTDIR) $( ASTSPOOLDIR) /voicemail/default/1234/INBOX
2007-01-13 16:45:37 +00:00
build_tools/make_sample_voicemail $( DESTDIR) /$( ASTDATADIR) $( DESTDIR) /$( ASTSPOOLDIR)
2001-09-24 21:29:03 +00:00
2002-06-21 01:40:13 +00:00
webvmail :
2005-07-12 02:08:03 +00:00
@[ -d $( DESTDIR) $( HTTP_DOCSDIR) / ] || ( printf "http docs directory not found.\nUpdate assignment of variable HTTP_DOCSDIR in Makefile!\n" && exit 1 )
@[ -d $( DESTDIR) $( HTTP_CGIDIR) ] || ( printf "cgi-bin directory not found.\nUpdate assignment of variable HTTP_CGIDIR in Makefile!\n" && exit 1 )
2005-10-25 12:47:54 +00:00
$( INSTALL) -m 4755 -o root -g root contrib/scripts/vmail.cgi $( DESTDIR) $( HTTP_CGIDIR) /vmail.cgi
2005-07-12 02:08:03 +00:00
mkdir -p $( DESTDIR) $( HTTP_DOCSDIR) /_asterisk
2002-06-21 01:40:13 +00:00
for x in images/*.gif; do \
2005-10-25 12:47:54 +00:00
$( INSTALL) -m 644 $$ x $( DESTDIR) $( HTTP_DOCSDIR) /_asterisk/; \
2002-06-21 01:40:13 +00:00
done
@echo " +--------- Asterisk Web Voicemail ----------+"
@echo " + +"
@echo " + Asterisk Web Voicemail is installed in +"
2005-07-12 02:08:03 +00:00
@echo " + your cgi-bin directory: +"
@echo " + $( DESTDIR) $( HTTP_CGIDIR) "
@echo " + IT USES A SETUID ROOT PERL SCRIPT, SO +"
@echo " + IF YOU DON'T LIKE THAT, UNINSTALL IT! +"
@echo " + +"
@echo " + Other static items have been stored in: +"
@echo " + $( DESTDIR) $( HTTP_DOCSDIR) "
@echo " + +"
@echo " + If these paths do not match your httpd +"
@echo " + installation, correct the definitions +"
@echo " + in your Makefile of HTTP_CGIDIR and +"
@echo " + HTTP_DOCSDIR +"
2002-06-21 01:40:13 +00:00
@echo " + +"
@echo " +-------------------------------------------+"
2001-09-24 21:29:03 +00:00
progdocs :
2005-11-17 21:45:03 +00:00
( cat contrib/asterisk-ng-doxygen; echo " HAVE_DOT= $( HAVEDOT) " ; \
2005-12-05 06:50:04 +00:00
echo " PROJECT_NUMBER= $( ASTERISKVERSION) " ) | doxygen -
2002-06-21 01:40:13 +00:00
config :
2006-08-21 02:11:39 +00:00
@if [ " ${ OSARCH } " = "linux-gnu" ] ; then \
2006-05-05 22:49:55 +00:00
if [ -f /etc/redhat-release -o -f /etc/fedora-release ] ; then \
2007-10-15 20:15:51 +00:00
$( INSTALL) -m 755 contrib/init.d/rc.redhat.asterisk $( DESTDIR) /etc/rc.d/init.d/asterisk; \
if [ -z " $( DESTDIR) " ] ; then /sbin/chkconfig --add asterisk; fi ; \
2006-05-05 22:49:55 +00:00
elif [ -f /etc/debian_version ] ; then \
2007-10-15 20:15:51 +00:00
$( INSTALL) -m 755 contrib/init.d/rc.debian.asterisk $( DESTDIR) /etc/init.d/asterisk; \
2009-08-25 02:40:22 +00:00
if [ -z " $( DESTDIR) " ] ; then /usr/sbin/update-rc.d asterisk defaults 50 91; fi ; \
2006-05-05 22:49:55 +00:00
elif [ -f /etc/gentoo-release ] ; then \
2007-10-15 20:15:51 +00:00
$( INSTALL) -m 755 contrib/init.d/rc.gentoo.asterisk $( DESTDIR) /etc/init.d/asterisk; \
if [ -z " $( DESTDIR) " ] ; then /sbin/rc-update add asterisk default; fi ; \
2007-11-15 18:37:38 +00:00
elif [ -f /etc/mandrake-release -o -f /etc/mandriva-release ] ; then \
2007-10-15 20:15:51 +00:00
$( INSTALL) -m 755 contrib/init.d/rc.mandrake.asterisk $( DESTDIR) /etc/rc.d/init.d/asterisk; \
if [ -z " $( DESTDIR) " ] ; then /sbin/chkconfig --add asterisk; fi ; \
2006-05-05 22:49:55 +00:00
elif [ -f /etc/SuSE-release -o -f /etc/novell-release ] ; then \
2007-10-15 20:15:51 +00:00
$( INSTALL) -m 755 contrib/init.d/rc.suse.asterisk $( DESTDIR) /etc/init.d/asterisk; \
if [ -z " $( DESTDIR) " ] ; then /sbin/chkconfig --add asterisk; fi ; \
2010-03-15 01:33:50 +00:00
elif [ -d $( DESTDIR) /Library/LaunchDaemons -a ! -f $( DESTDIR) /Library/LaunchDaemons/org.asterisk.asterisk.plist ] ; then \
2010-03-15 01:39:00 +00:00
$( INSTALL) -m 644 contrib/init.d/org.asterisk.asterisk.plist $( DESTDIR) /Library/LaunchDaemons/org.asterisk.asterisk.plist; \
2006-05-05 22:49:55 +00:00
elif [ -f /etc/slackware-version ] ; then \
2009-05-29 18:14:12 +00:00
echo "Slackware is not currently supported, although an init script does exist for it." ; \
2006-05-05 22:49:55 +00:00
else \
echo "We could not install init scripts for your distribution." ; \
fi \
else \
echo "We could not install init scripts for your operating system." ; \
fi
2002-06-21 01:40:13 +00:00
2006-06-07 20:54:30 +00:00
sounds :
$( MAKE) -C sounds all
2005-01-17 04:48:51 +00:00
# If the cleancount has been changed, force a make clean.
# .cleancount is the global clean count, and .lastclean is the
2005-04-01 21:18:39 +00:00
# last clean count we had
2005-01-17 04:48:51 +00:00
cleantest :
2007-08-22 18:25:34 +00:00
@cmp -s .cleancount .lastclean || $( MAKE) clean
2006-02-01 18:39:41 +00:00
2006-06-22 15:38:13 +00:00
$(SUBDIRS_UNINSTALL) :
2006-08-21 02:11:39 +00:00
@$( MAKE) --no-print-directory -C $( @:-uninstall= ) uninstall
2006-06-22 15:38:13 +00:00
_uninstall : $( SUBDIRS_UNINSTALL )
2006-02-01 18:39:41 +00:00
rm -f $( DESTDIR) $( MODULES_DIR) /*
rm -f $( DESTDIR) $( ASTSBINDIR) /*asterisk*
rm -f $( DESTDIR) $( ASTSBINDIR) /astgenkey
rm -f $( DESTDIR) $( ASTSBINDIR) /autosupport
rm -rf $( DESTDIR) $( ASTHEADERDIR)
2006-04-15 23:37:29 +00:00
rm -rf $( DESTDIR) $( ASTDATADIR) /firmware
2007-07-11 18:18:42 +00:00
rm -f $( DESTDIR) $( ASTMANDIR) /man8/asterisk.8
rm -f $( DESTDIR) $( ASTMANDIR) /man8/astgenkey.8
rm -f $( DESTDIR) $( ASTMANDIR) /man8/autosupport.8
rm -f $( DESTDIR) $( ASTMANDIR) /man8/safe_asterisk.8
2006-06-07 21:05:05 +00:00
$( MAKE) -C sounds uninstall
2006-02-01 18:39:41 +00:00
uninstall : _uninstall
@echo " +--------- Asterisk Uninstall Complete -----+"
@echo " + Asterisk binaries, sounds, man pages, +"
@echo " + headers, modules, and firmware builds, +"
@echo " + have all been uninstalled. +"
@echo " + +"
@echo " + To remove ALL traces of Asterisk, +"
@echo " + including configuration, spool +"
@echo " + directories, and logs, run the following +"
@echo " + command: +"
@echo " + +"
2007-08-09 23:10:46 +00:00
i f e q ( $( MAKE ) , g m a k e )
@echo " + $( MAKE) uninstall-all + "
e l s e
2006-02-01 18:39:41 +00:00
@echo " + $( MAKE) uninstall-all + "
2007-08-09 23:10:46 +00:00
e n d i f
2006-02-01 18:39:41 +00:00
@echo " +-------------------------------------------+"
uninstall-all : _uninstall
rm -rf $( DESTDIR) $( ASTLIBDIR)
rm -rf $( DESTDIR) $( ASTVARLIBDIR)
2006-04-15 22:53:53 +00:00
rm -rf $( DESTDIR) $( ASTDATADIR)
2006-02-01 18:39:41 +00:00
rm -rf $( DESTDIR) $( ASTSPOOLDIR)
rm -rf $( DESTDIR) $( ASTETCDIR)
rm -rf $( DESTDIR) $( ASTLOGDIR)
2006-04-24 17:11:45 +00:00
2006-11-11 15:31:08 +00:00
menuconfig : menuselect
2010-03-25 18:51:13 +00:00
cmenuconfig : cmenuselect
2007-03-15 23:53:26 +00:00
gmenuconfig : gmenuselect
2010-03-25 18:51:13 +00:00
nmenuconfig : nmenuselect
menuselect : menuselect /cmenuselect menuselect /nmenuselect menuselect /gmenuselect
@if [ -x menuselect/nmenuselect ] ; then \
$( MAKE) nmenuselect; \
elif [ -x menuselect/cmenuselect ] ; then \
$( MAKE) cmenuselect; \
elif [ -x menuselect/gmenuselect ] ; then \
$( MAKE) gmenuselect; \
else \
echo "No menuselect user interface found. Install ncurses," ; \
echo "newt or GTK libraries to build one and re-rerun" ; \
echo "'make menuselect'." ; \
fi
cmenuselect : menuselect /cmenuselect menuselect -tree menuselect .makeopts
-@menuselect/cmenuselect menuselect.makeopts && ( echo "menuselect changes saved!" ; rm -f channels/h323/Makefile.ast main/asterisk) || echo "menuselect changes NOT saved!"
2006-04-24 17:11:45 +00:00
2009-12-10 20:58:09 +00:00
gmenuselect : menuselect /gmenuselect menuselect -tree menuselect .makeopts
-@menuselect/gmenuselect menuselect.makeopts && ( echo "menuselect changes saved!" ; rm -f channels/h323/Makefile.ast main/asterisk) || echo "menuselect changes NOT saved!"
2007-03-15 23:53:26 +00:00
2010-03-25 18:51:13 +00:00
nmenuselect : menuselect /nmenuselect menuselect -tree menuselect .makeopts
-@menuselect/nmenuselect menuselect.makeopts && ( echo "menuselect changes saved!" ; rm -f channels/h323/Makefile.ast main/asterisk) || echo "menuselect changes NOT saved!"
# options for make in menuselect/
2010-06-04 19:38:57 +00:00
MAKE_MENUSELECT = CC = " $( BUILD_CC) " CXX = "" LD = "" AR = "" RANLIB = "" CFLAGS = "" $( MAKE) -C menuselect CONFIGURE_SILENT = "--silent"
2010-03-25 18:51:13 +00:00
menuselect/menuselect : menuselect /makeopts
+$( MAKE_MENUSELECT) menuselect
menuselect/cmenuselect : menuselect /makeopts
+$( MAKE_MENUSELECT) cmenuselect
menuselect/gmenuselect : menuselect /makeopts
+$( MAKE_MENUSELECT) gmenuselect
menuselect/nmenuselect : menuselect /makeopts
+$( MAKE_MENUSELECT) nmenuselect
2006-04-24 17:11:45 +00:00
2010-03-25 18:51:13 +00:00
menuselect/makeopts : makeopts
+$( MAKE_MENUSELECT) makeopts
2007-03-15 23:53:26 +00:00
2008-03-19 17:12:52 +00:00
menuselect-tree : $( foreach dir ,$ ( filter -out main ,$ ( MOD_SUBDIRS ) ) ,$ ( wildcard $ ( dir ) /*.c ) $ ( wildcard $ ( dir ) /*.cc ) ) build_tools /cflags .xml build_tools /cflags -devmode .xml sounds /sounds .xml build_tools /embed_modules .xml configure
2006-08-21 02:11:39 +00:00
@echo "Generating input for menuselect ..."
2007-12-17 06:44:51 +00:00
@echo "<?xml version=\"1.0\"?>" > $@
@echo >> $@
@echo "<menu name=\"Asterisk Module and Build Option Selection\">" >> $@
2009-06-11 22:20:31 +00:00
+@for dir in $( sort $( filter-out main,$( MOD_SUBDIRS) ) ) ; do $( SUBMAKE) -C $$ { dir} SUBDIR = $$ { dir} moduleinfo >> $@ ; done
+@for dir in $( sort $( filter-out main,$( MOD_SUBDIRS) ) ) ; do $( SUBMAKE) -C $$ { dir} SUBDIR = $$ { dir} makeopts >> $@ ; done
2007-12-17 06:44:51 +00:00
@cat build_tools/cflags.xml >> $@
2008-03-19 17:12:52 +00:00
@if [ " ${ AST_DEVMODE } " = "yes" ] ; then \
cat build_tools/cflags-devmode.xml >> $@ ; \
fi
2007-12-17 06:44:51 +00:00
@cat build_tools/embed_modules.xml >> $@
@cat sounds/sounds.xml >> $@
@echo "</menu>" >> $@
2006-06-22 15:38:13 +00:00
2009-10-23 14:00:01 +00:00
.PHONY : menuselect
.PHONY : main
.PHONY : sounds
.PHONY : clean
.PHONY : dist -clean
.PHONY : distclean
.PHONY : all
.PHONY : prereqs
.PHONY : cleantest
.PHONY : uninstall
.PHONY : _uninstall
.PHONY : uninstall -all
.PHONY : dont -optimize
.PHONY : badshell
.PHONY : installdirs
.PHONY : _clean
.PHONY : $( SUBDIRS_INSTALL )
.PHONY : $( SUBDIRS_DIST_CLEAN )
.PHONY : $( SUBDIRS_CLEAN )
.PHONY : $( SUBDIRS_UNINSTALL )
.PHONY : $( SUBDIRS )
.PHONY : $( MOD_SUBDIRS_EMBED_LDSCRIPT )
.PHONY : $( MOD_SUBDIRS_EMBED_LDFLAGS )
.PHONY : $( MOD_SUBDIRS_EMBED_LIBS )
2008-07-30 15:29:17 +00:00
FORCE :