1999-12-05 07:16:40 +00:00
#
# Asterisk -- A telephony toolkit for Linux.
#
# Top level Makefile
#
2010-07-24 20:49:39 +00:00
# Copyright (C) 1999-2010, 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:28:04 +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-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:28:04 +00:00
# Values for ASTCFLAGS and ASTLDFLAGS can be specified in the
2006-09-29 18:54:21 +00:00
# environment when running make, as follows:
#
2007-12-18 08:20:17 +00:00
# $ ASTCFLAGS="-Werror" make ...
#
2009-07-21 13:28:04 +00:00
# or as a variable value on the make command line itself:
2007-12-18 08:20:17 +00:00
#
# $ make ASTCFLAGS="-Werror" ...
2007-12-10 04:18:07 +00:00
2007-12-10 01:54:40 +00:00
export A S T T O P D I R # Top level dir, used in subdirs' Makefiles
2006-09-29 18:54:21 +00:00
export ASTERISKVERSION
export ASTERISKVERSIONNUM
2007-12-10 01:54:40 +00:00
#--- values used for default paths
# DESTDIR is the staging (or final) directory where files are copied
# during the install process. Define it before 'export', otherwise
# export will set it to the empty string making ?= fail.
# WARNING: do not put spaces or comments after the value.
DESTDIR ?= $( INSTALL_PATH)
export DESTDIR
export I N S T A L L _ P A T H # Additional prefix for the following paths
export A S T E T C D I R # Path for config files
2006-09-29 18:54:21 +00:00
export ASTVARRUNDIR
export MODULES_DIR
export ASTSPOOLDIR
export ASTVARLIBDIR
export ASTDATADIR
2008-01-24 22:58:10 +00:00
export ASTDBDIR
2006-09-29 18:54:21 +00:00
export ASTLOGDIR
2006-11-28 18:28:07 +00:00
export ASTLIBDIR
export ASTMANDIR
export ASTHEADERDIR
export ASTSBINDIR
2006-09-29 18:54:21 +00:00
export AGI_DIR
export ASTCONFPATH
2010-05-05 00:22:32 +00:00
export ASTKEYDIR
2007-12-10 01:54:40 +00:00
export O S A R C H # Operating system
export P R O C # Processor type
export N O I S Y _ B U I L D # Used in Makefile.rules
export M E N U S E L E C T _ C F L A G S # Options selected in menuselect.
export A S T _ D E V M O D E # Set to "yes" for additional compiler
2008-06-28 14:34:07 +00:00
# and runtime checks
2007-12-10 01:54:40 +00:00
export S O L I N K # linker flags for shared objects
export S T A T I C _ B U I L D # Additional cflags, set to -static
2008-06-28 14:34:07 +00:00
# for static builds. Probably
# should go directly to ASTLDFLAGS
2007-12-10 01:54:40 +00:00
#--- paths to various commands
2006-09-29 18:54:21 +00:00
export CC
export CXX
export AR
export RANLIB
export HOST_CC
2010-06-04 19:40:00 +00:00
export BUILD_CC
2006-09-29 18:54:21 +00:00
export INSTALL
2006-11-01 22:54:15 +00:00
export STRIP
2006-12-01 23:20:17 +00:00
export DOWNLOAD
2007-12-17 07:25:35 +00:00
export AWK
2007-08-22 18:54:30 +00:00
export GREP
2008-11-19 00:27:45 +00:00
export MD5
2010-02-18 04:20:11 +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
2009-08-28 20:01:21 +00:00
# start the primary CFLAGS and LDFLAGS with any that were provided
# to the configure script
_ASTCFLAGS := $( CONFIG_CFLAGS)
_ASTLDFLAGS := $( CONFIG_LDFLAGS)
2007-08-22 16:22:27 +00:00
# Some build systems, such as the one in openwrt, like to pass custom target
2009-08-28 20:01:21 +00:00
# CFLAGS and LDFLAGS in the COPTS and LDOPTS variables; these should also
# go before any build-system computed flags, since they are defaults, not
# overrides
_ASTCFLAGS += $( COPTS)
_ASTLDFLAGS += $( LDOPTS)
2007-08-22 16:22:27 +00:00
2008-11-01 21:10:07 +00:00
# libxml2 cflags
2009-07-21 13:28:04 +00:00
_ASTCFLAGS += $( LIBXML2_INCLUDE)
2008-11-01 21:10:07 +00:00
2006-07-06 23:18:45 +00:00
#Uncomment this to see all build commands instead of 'quiet' output
#NOISY_BUILD=yes
2008-01-29 17:22:47 +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
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
2010-04-02 18:57:58 +00:00
# If your platform's linker expects a prefix on symbols generated from compiling C
# source files, set LINKER_SYMBOL_PREFIX to that value. On some systems, exported symbols
# from C source files are prefixed with '_', for example. If this value is not set
# properly, the linker scripts that live in the '*.exports' files in various places
# in this tree will unintentionally suppress symbols that should be visible
# in the final binary objects.
LINKER_SYMBOL_PREFIX =
2006-04-06 17:13:00 +00:00
# Uncomment this to use the older DSP routines
2009-07-21 13:28:04 +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:26:21 +00:00
MOD_SUBDIR_CFLAGS = -I$( ASTTOPDIR) /include
OTHER_SUBDIR_CFLAGS = -I$( ASTTOPDIR) /include
2005-07-14 19:40:15 +00:00
2007-12-10 01:54:40 +00:00
# Create OPTIONS variable, but probably we can assign directly to ASTCFLAGS
OPTIONS =
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:28:04 +00:00
i f e q ( $( findstring -save -temps ,$ ( _ASTCFLAGS ) $ ( ASTCFLAGS ) ) , )
ifeq ( $( findstring -pipe,$( _ASTCFLAGS) $( ASTCFLAGS) ) ,)
_ASTCFLAGS += -pipe
2008-07-29 23:00:45 +00:00
endif
e n d i f
2009-07-21 13:28:04 +00:00
i f e q ( $( findstring -Wall ,$ ( _ASTCFLAGS ) $ ( ASTCFLAGS ) ) , )
_ASTCFLAGS += -Wall
2007-10-29 22:05:17 +00:00
e n d i f
2009-07-21 13:28:04 +00:00
_ASTCFLAGS += -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations $( DEBUG)
2011-01-06 17:50:57 +00:00
ADDL_TARGETS =
2006-04-24 17:11:45 +00:00
i f e q ( $( AST_DEVMODE ) , y e s )
2009-07-21 13:28:04 +00:00
_ASTCFLAGS += -Werror
_ASTCFLAGS += -Wunused
_ASTCFLAGS += $( AST_DECLARATION_AFTER_STATEMENT)
_ASTCFLAGS += $( AST_FORTIFY_SOURCE)
_ASTCFLAGS += -Wundef
_ASTCFLAGS += -Wmissing-format-attribute
2009-08-01 01:04:06 +00:00
_ASTCFLAGS += -Wformat= 2
2011-01-06 17:50:57 +00:00
ADDL_TARGETS += validate-docs
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:53:00 +00:00
_ASTCFLAGS += -isystem /usr/local/include
2005-09-26 02:08:06 +00:00
e n d i f
2009-07-21 13:28:04 +00:00
i f e q ( $( findstring -march ,$ ( _ASTCFLAGS ) $ ( ASTCFLAGS ) ) , )
2011-03-11 15:09:23 +00:00
ifneq ( $( AST_MARCH_NATIVE) ,)
_ASTCFLAGS += $( AST_MARCH_NATIVE)
else
ifneq ( $( PROC) ,ultrasparc)
_ASTCFLAGS += $( shell if $( CC) -march= $( PROC) -S -o /dev/null -xc /dev/null >/dev/null 2>& 1; then echo " -march= $( PROC) " ; fi )
endif
2008-07-29 23:00:45 +00:00
endif
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:28:04 +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 )
2011-03-11 15:09:23 +00:00
ifeq ( $( findstring -march,$( _ASTCFLAGS) $( ASTCFLAGS) ) ,)
ifeq ( $( PROC) ,i386)
_ASTCFLAGS += -march= i686
endif
2010-12-02 20:11:32 +00:00
endif
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:28:04 +00:00
_ASTCFLAGS += $( shell if test $( BSDVERSION) -lt 500016 ; then echo "-D_THREAD_SAFE" ; 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:28:04 +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:28:04 +00:00
_ASTCFLAGS += -pthread -ftrampolines
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-11-03 19:59:46 +00:00
_ASTCFLAGS += -Wcast-align -DSOLARIS -I../include/solaris-compat -I/opt/ssl/include -I/usr/local/ssl/include -D_XPG4_2 -D__EXTENSIONS__
2004-12-14 23:36:30 +00:00
e n d i f
2002-06-21 01:40:13 +00:00
2007-12-17 07:25:35 +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 07:25:35 +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 ) , )
2007-12-10 01:54:40 +00:00
ASTERISKVERSIONNUM:= 999999
2005-08-30 02:54:02 +00:00
e n d i f
2003-02-04 16:35:12 +00:00
2009-07-21 13:28:04 +00:00
_ASTCFLAGS += $( OPTIONS)
2005-12-27 06:24:28 +00:00
2009-06-30 17:11:31 +00:00
MOD_SUBDIRS := channels pbx apps codecs formats cdr cel bridges funcs tests main res addons $( LOCAL_MOD_SUBDIRS)
2006-06-22 15:08:08 +00:00
OTHER_SUBDIRS := utils agi
2007-11-17 14:44:03 +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:54:41 +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 07:25:35 +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:28:04 +00:00
_ASTCFLAGS += -D__Darwin__
2010-01-11 22:06:38 +00:00
SOLINK = -bundle -Xlinker -macosx_version_min -Xlinker 10.4 -Xlinker -undefined -Xlinker dynamic_lookup -force_flat_namespace
ifeq ( $( shell /usr/bin/sw_vers -productVersion | cut -c1-4) ,10.6)
SOLINK += /usr/lib/bundle1.o
endif
_ASTLDFLAGS += -L/usr/local/lib
2005-08-31 03:32:15 +00:00
e l s e
2006-04-06 17:13:00 +00:00
# These are used for all but Darwin
2008-10-14 10:33:14 +00:00
SOLINK = -shared
2006-08-21 02:11:39 +00:00
ifneq ( $( findstring BSD,$( OSARCH) ) ,)
2009-07-27 15:38:59 +00:00
_ASTLDFLAGS += -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:23:04 +00:00
SOLINK = -shared -fpic -L/usr/local/ssl/lib -lrt
2005-09-08 00:34:19 +00:00
e n d i f
2008-10-18 10:27:22 +00:00
i f e q ( $( OSARCH ) , O p e n B S D )
SOLINK = -shared -fpic
e n d i f
2007-12-17 07:25:35 +00:00
# comment to print directories during submakes
2007-12-17 16:48:01 +00:00
#PRINT_DIR=yes
2007-12-17 07:25:35 +00:00
2009-06-16 20:50:41 +00:00
i f n e q ( $( INSIDE_EMACS ) , )
PRINT_DIR = yes
e n d i f
2008-01-03 23:14:15 +00:00
SILENTMAKE := $( MAKE) --quiet --no-print-directory
2007-12-17 16:48:01 +00:00
i f n e q ( $( PRINT_DIR ) $( NOISY_BUILD ) , )
2008-08-11 16:14:29 +00:00
SUBMAKE := $( MAKE)
2007-12-17 16:48:01 +00:00
e l s e
2008-01-03 23:14:15 +00:00
SUBMAKE := $( MAKE) --quiet --no-print-directory
2007-12-17 16:48:01 +00:00
e n d i f
2007-12-17 07:25:35 +00:00
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
2007-11-05 18:00:24 +00:00
# $(MAKE) is printed in several places, and we want it to be a
# fixed size string. Define a variable whose name has also the
# same size, so we can easily align text.
i f e q ( $( MAKE ) , g m a k e )
mK = "gmake"
e l s e
mK = " make"
e n d i f
2006-09-22 23:45:14 +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-11-05 18:00:24 +00:00
@echo " + $( mK) install + "
2000-01-05 20:03:55 +00:00
@echo " +-------------------------------------------+"
2011-01-06 17:50:57 +00:00
_all : cleantest makeopts $( SUBDIRS ) doc /core -en_US .xml $( ADDL_TARGETS )
2006-09-22 23:45:14 +00:00
2006-08-21 03:58:02 +00:00
makeopts : configure
2006-04-24 17:11:45 +00:00
@echo "****"
2007-05-09 13:24:38 +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:02:42 +00:00
menuselect.makeopts : menuselect /menuselect menuselect -tree makeopts build_tools /menuselect -deps $( GLOBAL_MAKEOPTS ) $( USER_MAKEOPTS )
2010-02-15 23:43:28 +00:00
i f e q ( $( filter %menuselect ,$ ( MAKECMDGOALS ) ) , )
2009-12-10 21:01:39 +00:00
menuselect/menuselect --check-deps $@
2009-10-23 14:02:42 +00:00
menuselect/menuselect --check-deps $@ $( GLOBAL_MAKEOPTS) $( USER_MAKEOPTS)
2010-02-15 23:43:28 +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-09 18:08:53 +00:00
+@echo "EMBED_LDSCRIPTS+=" ` $( SILENTMAKE) -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-09 18:08:53 +00:00
+@echo "EMBED_LDFLAGS+=" ` $( SILENTMAKE) -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-09 18:08:53 +00:00
+@echo "EMBED_LIBS+=" ` $( SILENTMAKE) -C $( @:-embed-libs= ) SUBDIR = $( @:-embed-libs= ) __embed_libs` >> makeopts.embed_rules
2007-12-17 07:25:35 +00:00
$(MOD_SUBDIRS_MENUSELECT_TREE) :
2009-06-09 18:08:53 +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 $@
2009-06-09 18:08:53 +00:00
+@$( SUBMAKE) $( MOD_SUBDIRS_EMBED_LDSCRIPT)
+@$( SUBMAKE) $( MOD_SUBDIRS_EMBED_LDFLAGS)
+@$( SUBMAKE) $( MOD_SUBDIRS_EMBED_LIBS)
2004-07-18 17:58:05 +00:00
2008-02-26 20:19:03 +00:00
$(SUBDIRS) : main /version .c include /asterisk /version .h include /asterisk /build .h include /asterisk /buildopts .h defaults .h makeopts .embed_rules
2005-04-29 15:18:10 +00:00
2007-11-17 11:57:52 +00:00
i f e q ( $( findstring $ ( OSARCH ) , mingw 32 cygwin ) , )
2007-11-17 19:00:07 +00:00
# Non-windows:
# 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
2006-08-21 02:11:39 +00:00
main : $( filter -out main ,$ ( MOD_SUBDIRS ) )
2007-11-17 11:57:52 +00:00
e l s e
2007-11-17 19:00:07 +00:00
# Windows: we need to build main (i.e. the asterisk dll) first,
# followed by res, followed by the other directories, because
# dll symbols must be resolved during linking and not at runtime.
D1 := $( filter-out main,$( MOD_SUBDIRS) )
D1 := $( filter-out res,$( D1) )
2007-11-17 11:57:52 +00:00
2007-11-17 19:00:07 +00:00
$(D1) : res
2007-11-17 11:57:52 +00:00
res : main
e n d i f
2005-04-29 15:18:10 +00:00
2007-11-17 19:00:07 +00:00
$(MOD_SUBDIRS) :
2009-09-24 18:19:41 +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
2007-11-17 19:00:07 +00:00
$(OTHER_SUBDIRS) :
2009-09-24 18:19:41 +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
2007-12-16 10:34:55 +00:00
@cmp -s $@ .tmp $@ || mv $@ .tmp $@
2006-05-10 14:35:38 +00:00
@rm -f $@ .tmp
2005-06-06 03:04:58 +00:00
2008-07-30 15:32:14 +00:00
main/version.c : FORCE
Now that the version.h file was getting properly regenerated every time the svn
revision changed, every module that used the version was getting rebuilt after
every svn update. This severly annoyed me pretty quickly, so I have improved
the situation.
Now, instead of generating version.h, main/version.c is generated. version.c
includes the version information, as well as a couple of API calls for modules
to retrieve the version. So now, only version.c will get rebuilt, and the main
asterisk binary relinked, which is must faster than rebuilding http.c, manager.c,
asterisk.c, relinking the asterisk binary, chan_sip.c, func_version.c, res_agi ...
The only minor change in behavior here is that the version information reported by
chan_sip, for example, is the version of the Asterisk core, and not necessarily the
Asterisk version that the chan_sip module came from.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@96717 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-05 22:09:06 +00:00
@build_tools/make_version_c > $@ .tmp
2007-12-16 10:34:55 +00:00
@cmp -s $@ .tmp $@ || mv $@ .tmp $@
2006-05-10 14:35:38 +00:00
@rm -f $@ .tmp
2001-05-09 03:11:22 +00:00
2008-07-30 15:32:14 +00:00
include/asterisk/version.h : FORCE
2008-02-26 20:19:03 +00:00
@build_tools/make_version_h > $@ .tmp
@cmp -s $@ .tmp $@ || mv $@ .tmp $@
@rm -f $@ .tmp
2006-05-11 09:50:41 +00:00
include/asterisk/buildopts.h : menuselect .makeopts
@build_tools/make_buildopts_h > $@ .tmp
2007-12-16 10:34:55 +00:00
@cmp -s $@ .tmp $@ || mv $@ .tmp $@
2006-05-11 09:50:41 +00:00
@rm -f $@ .tmp
2006-10-22 04:44:43 +00:00
include/asterisk/build.h :
@build_tools/make_build_h > $@ .tmp
2007-12-16 10:34:55 +00:00
@cmp -s $@ .tmp $@ || mv $@ .tmp $@
2006-10-22 04:44:43 +00:00
@rm -f $@ .tmp
2006-06-22 14:31:52 +00:00
$(SUBDIRS_CLEAN) :
2009-06-09 18:08:53 +00:00
+@$( SUBMAKE) -C $( @:-clean= ) clean
1999-12-05 07:16:40 +00:00
2007-10-01 21:54:41 +00:00
$(SUBDIRS_DIST_CLEAN) :
2009-06-09 18:08:53 +00:00
+@$( SUBMAKE) -C $( @:-dist-clean= ) dist-clean
2007-10-01 21:54:41 +00:00
2008-11-15 19:45:19 +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
Now that the version.h file was getting properly regenerated every time the svn
revision changed, every module that used the version was getting rebuilt after
every svn update. This severly annoyed me pretty quickly, so I have improved
the situation.
Now, instead of generating version.h, main/version.c is generated. version.c
includes the version information, as well as a couple of API calls for modules
to retrieve the version. So now, only version.c will get rebuilt, and the main
asterisk binary relinked, which is must faster than rebuilding http.c, manager.c,
asterisk.c, relinking the asterisk binary, chan_sip.c, func_version.c, res_agi ...
The only minor change in behavior here is that the version information reported by
chan_sip, for example, is the version of the Asterisk core, and not necessarily the
Asterisk version that the chan_sip module came from.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@96717 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-05 22:09:06 +00:00
rm -f main/version.c
2008-02-26 20:19:03 +00:00
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:45:19 +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-03-17 17:31:46 +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
2010-10-13 22:34:32 +00:00
datafiles : _all doc /core -en_US .xml
2010-05-03 17:06:48 +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.
2010-07-23 13:26:41 +00:00
2006-04-01 08:49:54 +00:00
for x in static-http/*; do \
2011-07-19 21:32:54 +00:00
$( INSTALL) -m 644 $$ x $( DESTDIR) $( ASTDATADIR) /static-http ; \
2006-04-01 08:49:54 +00:00
done
2011-07-19 21:32:54 +00:00
$( INSTALL) -m 644 doc/core-en_US.xml $( DESTDIR) $( ASTDATADIR) /static-http;
2008-01-07 17:09:23 +00:00
if [ -d doc/tex/asterisk ] ; then \
2010-12-27 20:42:01 +00:00
$( INSTALL) -d " $( DESTDIR) $( ASTDATADIR) /static-http/docs " ; \
2010-07-23 13:26:41 +00:00
for n in doc/tex/asterisk/* ; do \
2010-12-27 20:42:01 +00:00
$( INSTALL) -m 644 $$ n " $( DESTDIR) $( ASTDATADIR) /static-http/docs " ; \
2010-07-23 13:26:41 +00:00
done \
2008-01-07 17:09:23 +00:00
fi
2001-09-24 21:29:03 +00:00
for x in images/*.jpg; do \
2011-07-19 21:32:54 +00:00
$( INSTALL) -m 644 $$ x $( DESTDIR) $( ASTDATADIR) /images ; \
2001-09-24 21:29:03 +00:00
done
2006-06-07 21:05:05 +00:00
$( MAKE) -C sounds install
2001-09-24 21:29:03 +00:00
2009-04-28 14:15:47 +00:00
doc/core-en_US.xml : $( foreach dir ,$ ( MOD_SUBDIRS ) ,$ ( shell $ ( GREP ) -l "language =\"en_US \"" $ ( dir ) /*.c $ ( dir ) /*.cc 2>/dev /null ) )
2009-06-06 21:38:54 +00:00
@printf "Building Documentation For: "
2008-11-02 05:47:13 +00:00
@echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" > $@
@echo "<!DOCTYPE docs SYSTEM \"appdocsxml.dtd\">" >> $@
2009-05-16 20:01:22 +00:00
@echo "<docs xmlns:xi=\"http://www.w3.org/2001/XInclude\">" >> $@
2008-11-01 21:10:07 +00:00
@for x in $( MOD_SUBDIRS) ; do \
2009-06-06 21:38:54 +00:00
printf " $$ x " ; \
2008-11-01 21:10:07 +00:00
for i in $$ x/*.c; do \
2008-11-02 05:47:13 +00:00
$( AWK) -f build_tools/get_documentation $$ i >> $@ ; \
2008-11-01 21:10:07 +00:00
done ; \
done
2008-11-02 05:47:13 +00:00
@echo
@echo "</docs>" >> $@
2008-11-01 21:10:07 +00:00
2008-11-02 05:55:46 +00:00
validate-docs : doc /core -en_US .xml
2010-07-17 13:10:47 +00:00
ifeq ($(XMLSTARLET)$(XMLLINT), :: )
@echo "--------------------------------------------------------------------------"
@echo "--- Please install xmllint or xmlstarlet to validate the documentation ---"
@echo "--------------------------------------------------------------------------"
2008-11-02 05:55:46 +00:00
e l s e
2010-07-17 13:10:47 +00:00
ifneq ( $( XMLLINT) ,:)
$( XMLLINT) --dtdvalid doc/appdocsxml.dtd --noout $<
else
2008-11-04 20:12:41 +00:00
$( XMLSTARLET) val -d doc/appdocsxml.dtd $<
2010-07-17 13:10:47 +00:00
endif
2008-11-02 05:55:46 +00:00
e n d i f
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..." ; \
2008-01-16 18:06:14 +00:00
fromrev = " `svn info | $( AWK) '/Revision: / {print $$ 2}'` " ; \
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
svn update | tee update.out; \
2008-01-16 18:06:14 +00:00
torev = " `svn info | $( AWK) '/Revision: / {print $$ 2}'` " ; \
echo " `date` Updated from revision $$ {fromrev} to $$ {torev}. " >> update.log; \
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 .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:47 +00:00
installdirs :
2010-07-23 13:26:41 +00:00
$( INSTALL) -d " $( DESTDIR) $( MODULES_DIR) "
$( INSTALL) -d " $( DESTDIR) $( ASTSBINDIR) "
$( INSTALL) -d " $( DESTDIR) $( ASTETCDIR) "
$( INSTALL) -d " $( DESTDIR) $( ASTVARRUNDIR) "
$( INSTALL) -d " $( DESTDIR) $( ASTSPOOLDIR) "
$( INSTALL) -d " $( DESTDIR) $( ASTSPOOLDIR) /dictate "
$( INSTALL) -d " $( DESTDIR) $( ASTSPOOLDIR) /meetme "
$( INSTALL) -d " $( DESTDIR) $( ASTSPOOLDIR) /monitor "
$( INSTALL) -d " $( DESTDIR) $( ASTSPOOLDIR) /system "
$( INSTALL) -d " $( DESTDIR) $( ASTSPOOLDIR) /tmp "
$( INSTALL) -d " $( DESTDIR) $( ASTSPOOLDIR) /voicemail "
$( INSTALL) -d " $( DESTDIR) $( ASTHEADERDIR) "
$( INSTALL) -d " $( DESTDIR) $( ASTHEADERDIR) /doxygen "
$( INSTALL) -d " $( DESTDIR) $( ASTLOGDIR) "
$( INSTALL) -d " $( DESTDIR) $( ASTLOGDIR) /cdr-csv "
$( INSTALL) -d " $( DESTDIR) $( ASTLOGDIR) /cdr-custom "
$( INSTALL) -d " $( DESTDIR) $( ASTLOGDIR) /cel-custom "
$( INSTALL) -d " $( DESTDIR) $( ASTDATADIR) "
$( INSTALL) -d " $( DESTDIR) $( ASTDATADIR) /documentation "
$( INSTALL) -d " $( DESTDIR) $( ASTDATADIR) /documentation/thirdparty "
$( INSTALL) -d " $( DESTDIR) $( ASTDATADIR) /firmware "
$( INSTALL) -d " $( DESTDIR) $( ASTDATADIR) /firmware/iax "
$( INSTALL) -d " $( DESTDIR) $( ASTDATADIR) /images "
$( INSTALL) -d " $( DESTDIR) $( ASTDATADIR) /keys "
$( INSTALL) -d " $( DESTDIR) $( ASTDATADIR) /phoneprov "
$( INSTALL) -d " $( DESTDIR) $( ASTDATADIR) /static-http "
$( INSTALL) -d " $( DESTDIR) $( ASTMANDIR) /man8 "
$( INSTALL) -d " $( DESTDIR) $( AGI_DIR) "
2011-06-16 15:59:17 +00:00
$( INSTALL) -d " $( DESTDIR) $( ASTDBDIR) "
2008-04-18 20:01:47 +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) /
2010-05-13 05:37:31 +00:00
if [ ! -f $( DESTDIR) $( ASTSBINDIR) /safe_asterisk -a ! -f /sbin/launchd ] ; then \
2011-01-06 01:41:57 +00:00
cat contrib/scripts/safe_asterisk | sed 's|__ASTERISK_SBIN_DIR__|$(ASTSBINDIR)|;s|__ASTERISK_VARRUN_DIR__|$(ASTVARRUNDIR)|;s|__ASTERISK_LOG_DIR__|$(ASTLOGDIR)|;' > contrib/scripts/safe.tmp ; \
2010-07-24 20:49:39 +00:00
$( INSTALL) -m 755 contrib/scripts/safe.tmp $( DESTDIR) $( ASTSBINDIR) /safe_asterisk ; \
2010-07-23 13:26:41 +00:00
rm -f contrib/scripts/safe.tmp ; \
2004-01-12 03:15:34 +00:00
fi
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)
2009-04-08 13:24:48 +00:00
$( INSTALL) -m 644 include/asterisk/doxygen/*.h $( DESTDIR) $( ASTHEADERDIR) /doxygen
2005-04-27 05:46:32 +00:00
if [ -n " $( OLDHEADERS) " ] ; then \
rm -f $( addprefix $( DESTDIR) $( ASTHEADERDIR) /,$( OLDHEADERS) ) ; \
fi
2010-07-23 13:26:41 +00:00
2011-07-19 21:32:54 +00:00
$( INSTALL) -m 644 doc/core-*.xml $( DESTDIR) $( ASTDATADIR) /documentation
$( INSTALL) -m 644 doc/appdocsxml.dtd $( DESTDIR) $( ASTDATADIR) /documentation
$( INSTALL) -m 644 doc/asterisk.8 $( DESTDIR) $( ASTMANDIR) /man8
$( 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:24:32 +00:00
if [ -f contrib/firmware/iax/iaxy.bin ] ; then \
2011-07-19 21:32:54 +00:00
$( INSTALL) -m 644 contrib/firmware/iax/iaxy.bin $( DESTDIR) $( ASTDATADIR) /firmware/iax/iaxy.bin; \
2006-10-24 05:24:32 +00:00
fi
2006-04-29 11:42:31 +00:00
2006-06-22 12:33:50 +00:00
$(SUBDIRS_INSTALL) :
2010-07-23 13:26:41 +00:00
+@DESTDIR= " $( DESTDIR) " ASTSBINDIR = " $( ASTSBINDIR) " $( SUBMAKE) -C $( @:-install= ) install
2005-05-01 01:43:44 +00:00
2007-12-10 04:18:07 +00:00
NEWMODS := $( foreach d,$( MOD_SUBDIRS) ,$( notdir $( wildcard $( d) /*.so) ) )
2011-07-19 21:32:54 +00:00
OLDMODS = $( filter-out $( NEWMODS) ,$( notdir $( wildcard $( DESTDIR) $( MODULES_DIR) /*.so) ) )
2005-05-01 01:43:44 +00:00
oldmodcheck :
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:10:20 +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
2010-07-23 13:26:41 +00:00
install : badshell bininstall datafiles
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-11-05 18:00:24 +00:00
@echo " + $( mK) samples + "
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-11-05 18:00:24 +00:00
@echo " + $( mK) progdocs + "
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
2008-10-01 14:44:12 +00:00
isntall : install
2006-09-22 23:45:14 +00:00
upgrade : bininstall
2003-02-04 16:35:12 +00:00
2007-11-05 19:22:56 +00:00
# XXX why *.adsi is installed first ?
2005-08-23 02:30:30 +00:00
adsi :
2007-11-05 19:22:56 +00:00
@echo Installing adsi config files...
2010-07-23 13:26:41 +00:00
$( INSTALL) -d $( DESTDIR) $( ASTETCDIR)
2007-11-05 19:22:56 +00:00
@for x in configs/*.adsi; do \
dst = " $( DESTDIR) $( ASTETCDIR) /` $( BASENAME) $$ x` " ; \
if [ -f $$ { dst} ] ; then \
echo " Overwriting $$ x " ; \
else \
echo " Installing $$ x " ; \
2002-06-21 01:40:13 +00:00
fi ; \
2007-11-05 19:22:56 +00:00
$( INSTALL) -m 644 $$ x $( DESTDIR) $( ASTETCDIR) /` $( BASENAME) $$ x` ; \
2002-06-21 01:40:13 +00:00
done
2005-08-23 02:30:30 +00:00
samples : adsi
2007-11-05 19:22:56 +00:00
@echo Installing other config files...
@for x in configs/*.sample; do \
dst = " $( DESTDIR) $( ASTETCDIR) /` $( BASENAME) $$ x .sample` " ; \
if [ -f $$ { dst} ] ; then \
2004-11-19 14:04:57 +00:00
if [ " $( OVERWRITE) " = "y" ] ; then \
2007-11-05 19:22:56 +00:00
if cmp -s $$ { dst} $$ x ; then \
2004-11-20 06:47:33 +00:00
echo " Config file $$ x is unchanged " ; \
continue ; \
fi ; \
2007-11-05 19:22:56 +00:00
mv -f $$ { dst} $$ { dst} .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 ; \
2007-11-05 19:22:56 +00:00
echo " Installing file $$ x " ; \
$( INSTALL) -m 644 $$ x $$ { dst} ; \
2000-01-05 20:03:55 +00:00
done
2010-05-05 00:22:32 +00:00
if [ " $( OVERWRITE) " = "y" ] ; then \
2010-07-23 13:26:41 +00:00
echo "Updating asterisk.conf" ; \
sed -e 's|^astetcdir.*$$|astetcdir => $(ASTETCDIR)|' \
2010-05-05 20:48:15 +00:00
-e 's|^astmoddir.*$$|astmoddir => $(MODULES_DIR)|' \
-e 's|^astvarlibdir.*$$|astvarlibdir => $(ASTVARLIBDIR)|' \
-e 's|^astdbdir.*$$|astdbdir => $(ASTDBDIR)|' \
-e 's|^astkeydir.*$$|astkeydir => $(ASTKEYDIR)|' \
-e 's|^astdatadir.*$$|astdatadir => $(ASTDATADIR)|' \
-e 's|^astagidir.*$$|astagidir => $(AGI_DIR)|' \
-e 's|^astspooldir.*$$|astspooldir => $(ASTSPOOLDIR)|' \
-e 's|^astrundir.*$$|astrundir => $(ASTVARRUNDIR)|' \
-e 's|^astlogdir.*$$|astlogdir => $(ASTLOGDIR)|' \
2010-07-23 13:26:41 +00:00
$( DESTDIR) $( ASTCONFPATH) > $( DESTDIR) $( ASTCONFPATH) .tmp ; \
2010-07-24 20:49:39 +00:00
$( INSTALL) -m 644 $( DESTDIR) $( ASTCONFPATH) .tmp $( DESTDIR) $( ASTCONFPATH) ; \
2010-07-23 13:26:41 +00:00
rm -f $( DESTDIR) $( ASTCONFPATH) .tmp ; \
fi ; \
$( INSTALL) -d $( DESTDIR) $( ASTSPOOLDIR) /voicemail/default/1234/INBOX
2011-07-19 21:32:54 +00:00
build_tools/make_sample_voicemail $( DESTDIR) /$( ASTDATADIR) $( DESTDIR) /$( ASTSPOOLDIR)
2010-07-23 13:26:41 +00:00
2008-07-10 20:56:20 +00:00
@for x in phoneprov/*; do \
dst = " $( DESTDIR) $( ASTDATADIR) / $$ x " ; \
2011-07-19 21:32:54 +00:00
if [ -f $$ { dst} ] ; then \
2008-07-10 20:56:20 +00:00
if [ " $( OVERWRITE) " = "y" ] ; then \
2011-07-19 21:32:54 +00:00
if cmp -s $$ { dst} $$ x ; then \
2008-07-10 20:56:20 +00:00
echo " Config file $$ x is unchanged " ; \
continue ; \
fi ; \
2011-07-19 21:32:54 +00:00
mv -f $$ { dst} $$ { dst} .old ; \
2008-07-10 20:56:20 +00:00
else \
echo " Skipping config file $$ x " ; \
continue ; \
fi ; \
fi ; \
echo " Installing file $$ x " ; \
2011-07-19 21:32:54 +00:00
$( INSTALL) -m 644 $$ x $$ { dst} ; \
2008-07-10 20:56:20 +00:00
done
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 )
2011-07-19 21:32:54 +00:00
$( INSTALL) -m 4755 contrib/scripts/vmail.cgi $( DESTDIR) $( HTTP_CGIDIR) /vmail.cgi
2010-07-23 13:26:41 +00:00
$( INSTALL) -d $( DESTDIR) $( HTTP_DOCSDIR) /_asterisk
2002-06-21 01:40:13 +00:00
for x in images/*.gif; do \
2011-07-19 21:32: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
2008-07-24 04:51:42 +00:00
install-logrotate :
if [ ! -d $( ASTETCDIR) /../logrotate.d ] ; then \
2010-07-23 13:26:41 +00:00
$( INSTALL) -d $( ASTETCDIR) /../logrotate.d ; \
2008-07-24 04:51:42 +00:00
fi
2008-07-24 05:21:00 +00:00
sed 's#__LOGDIR__#$(ASTLOGDIR)#g' < contrib/scripts/asterisk.logrotate | sed 's#__SBINDIR__#$(ASTSBINDIR)#g' > contrib/scripts/asterisk.logrotate.tmp
2010-07-23 13:26:41 +00:00
$( INSTALL) -m 0644 contrib/scripts/asterisk.logrotate.tmp $( ASTETCDIR) /../logrotate.d/asterisk
2008-07-24 05:21:00 +00:00
rm -f contrib/scripts/asterisk.logrotate.tmp
2008-07-24 04:51:42 +00:00
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 \
2010-07-23 13:26:41 +00:00
cat contrib/init.d/rc.redhat.asterisk | sed 's|__ASTERISK_ETC_DIR__|$(ASTETCDIR)|;s|__ASTERISK_SBIN_DIR__|$(ASTSBINDIR)|;s|__ASTERISK_VARRUN_DIR__|$(ASTVARRUNDIR)|;' > contrib/init.d/rc.asterisk.tmp ; \
2010-07-24 20:49:39 +00:00
$( INSTALL) -m 755 contrib/init.d/rc.asterisk.tmp $( DESTDIR) /etc/rc.d/init.d/asterisk ; \
2010-07-23 13:26:41 +00:00
rm -f contrib/init.d/rc.asterisk.tmp ; \
if [ ! -f $( DESTDIR) /etc/sysconfig/asterisk ] ; then \
2010-07-24 20:49:39 +00:00
$( INSTALL) -m 644 contrib/init.d/etc_default_asterisk $( DESTDIR) /etc/sysconfig/asterisk ; \
2010-07-23 13:26:41 +00:00
fi ; \
if [ -z " $( DESTDIR) " ] ; then \
/sbin/chkconfig --add asterisk ; \
fi ; \
elif [ -f /etc/debian_version ] ; then \
cat contrib/init.d/rc.debian.asterisk | sed 's|__ASTERISK_ETC_DIR__|$(ASTETCDIR)|;s|__ASTERISK_SBIN_DIR__|$(ASTSBINDIR)|;s|__ASTERISK_VARRUN_DIR__|$(ASTVARRUNDIR)|;' > contrib/init.d/rc.asterisk.tmp ; \
2010-07-24 20:49:39 +00:00
$( INSTALL) -m 755 contrib/init.d/rc.asterisk.tmp $( DESTDIR) /etc/init.d/asterisk ; \
2010-07-23 13:26:41 +00:00
rm -f contrib/init.d/rc.asterisk.tmp ; \
if [ ! -f $( DESTDIR) /etc/default/asterisk ] ; then \
2010-07-24 20:49:39 +00:00
$( INSTALL) -m 644 contrib/init.d/etc_default_asterisk $( DESTDIR) /etc/default/asterisk ; \
2010-07-23 13:26:41 +00:00
fi ; \
if [ -z " $( DESTDIR) " ] ; then \
/usr/sbin/update-rc.d asterisk defaults 50 91 ; \
fi ; \
elif [ -f /etc/gentoo-release ] ; then \
cat contrib/init.d/rc.gentoo.asterisk | sed 's|__ASTERISK_ETC_DIR__|$(ASTETCDIR)|;s|__ASTERISK_SBIN_DIR__|$(ASTSBINDIR)|;s|__ASTERISK_VARRUN_DIR__|$(ASTVARRUNDIR)|;' > contrib/init.d/rc.asterisk.tmp ; \
2010-07-24 20:49:39 +00:00
$( INSTALL) -m 755 contrib/init.d/rc.asterisk.tmp $( DESTDIR) /etc/init.d/asterisk ; \
2010-07-23 13:26:41 +00:00
rm -f contrib/init.d/rc.asterisk.tmp ; \
if [ -z " $( DESTDIR) " ] ; then \
/sbin/rc-update add asterisk default ; \
fi ; \
elif [ -f /etc/mandrake-release -o -f /etc/mandriva-release ] ; then \
cat contrib/init.d/rc.mandriva.asterisk | sed 's|__ASTERISK_ETC_DIR__|$(ASTETCDIR)|;s|__ASTERISK_SBIN_DIR__|$(ASTSBINDIR)|;s|__ASTERISK_VARRUN_DIR__|$(ASTVARRUNDIR)|;' > contrib/init.d/rc.asterisk.tmp ; \
2010-07-24 20:49:39 +00:00
$( INSTALL) -m 755 contrib/init.d/rc.asterisk.tmp $( DESTDIR) /etc/rc.d/init.d/asterisk ; \
2010-07-23 13:26:41 +00:00
rm -f contrib/init.d/rc.asterisk.tmp ; \
if [ ! -f /etc/sysconfig/asterisk ] ; then \
2010-07-24 20:49:39 +00:00
$( INSTALL) -m 644 contrib/init.d/etc_default_asterisk $( DESTDIR) /etc/sysconfig/asterisk ; \
2010-07-23 13:26:41 +00:00
fi ; \
if [ -z " $( DESTDIR) " ] ; then \
/sbin/chkconfig --add asterisk ; \
fi ; \
elif [ -f /etc/SuSE-release -o -f /etc/novell-release ] ; then \
cat contrib/init.d/rc.suse.asterisk | sed 's|__ASTERISK_ETC_DIR__|$(ASTETCDIR)|;s|__ASTERISK_SBIN_DIR__|$(ASTSBINDIR)|;s|__ASTERISK_VARRUN_DIR__|$(ASTVARRUNDIR)|;' > contrib/init.d/rc.asterisk.tmp ; \
2010-07-24 20:49:39 +00:00
$( INSTALL) -m 755 contrib/init.d/rc.asterisk.tmp $( DESTDIR) /etc/init.d/asterisk ; \
2010-07-23 13:26:41 +00:00
rm -f contrib/init.d/rc.asterisk.tmp ; \
if [ ! -f /etc/sysconfig/asterisk ] ; then \
2010-07-24 20:49:39 +00:00
$( INSTALL) -m 644 contrib/init.d/etc_default_asterisk $( DESTDIR) /etc/sysconfig/asterisk ; \
2010-07-23 13:26:41 +00:00
fi ; \
if [ -z " $( DESTDIR) " ] ; then \
/sbin/chkconfig --add asterisk ; \
fi ; \
elif [ -f /etc/arch-release -o -f /etc/arch-release ] ; then \
cat contrib/init.d/rc.archlinux.asterisk | sed 's|__ASTERISK_ETC_DIR__|$(ASTETCDIR)|;s|__ASTERISK_SBIN_DIR__|$(ASTSBINDIR)|;s|__ASTERISK_VARRUN_DIR__|$(ASTVARRUNDIR)|;' > contrib/init.d/rc.asterisk.tmp ; \
2010-07-24 20:49:39 +00:00
$( INSTALL) -m 755 contrib/init.d/rc.asterisk.tmp $( DESTDIR) /etc/rc.d/asterisk ; \
2010-07-23 13:26:41 +00:00
rm -f contrib/init.d/rc.asterisk.tmp ; \
2010-12-07 22:54:00 +00:00
elif [ -d $( DESTDIR) /Library/LaunchDaemons ] ; then \
if [ ! -f $( DESTDIR) /Library/LaunchDaemons/org.asterisk.asterisk.plist ] ; then \
sed 's|__ASTERISK_SBIN_DIR__|$(ASTSBINDIR)|;' < contrib/init.d/org.asterisk.asterisk.plist > asterisk.plist ; \
$( INSTALL) -m 644 asterisk.plist $( DESTDIR) /Library/LaunchDaemons/org.asterisk.asterisk.plist; \
rm -f asterisk.plist; \
fi ; \
if [ ! -f $( DESTDIR) /Library/LaunchDaemons/org.asterisk.muted.plist ] ; then \
sed 's|__ASTERISK_SBIN_DIR__|$(ASTSBINDIR)|;' < contrib/init.d/org.asterisk.muted.plist > muted.plist ; \
$( INSTALL) -m 644 muted.plist $( DESTDIR) /Library/LaunchDaemons/org.asterisk.muted.plist; \
rm -f muted.plist; \
fi ; \
2006-05-05 22:49:55 +00:00
elif [ -f /etc/slackware-version ] ; then \
2009-05-29 18:15:15 +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 \
2010-07-23 13:26:41 +00:00
echo "We could not install init scripts for your distribution." ; \
2006-05-05 22:49:55 +00:00
fi \
else \
2010-07-23 13:26:41 +00:00
echo "We could not install init scripts for your operating system." ; \
2006-05-05 22:49:55 +00:00
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:58 +00:00
@cmp -s .cleancount .lastclean || $( MAKE) clean
2011-07-06 20:58:12 +00:00
@[ -f " $( DESTDIR) $( ASTDBDIR) /astdb.sqlite3 " ] || [ ! -f " $( DESTDIR) $( ASTDBDIR) /astdb " ] || [ ! -f menuselect.makeopts ] || grep -q MENUSELECT_UTILS = .*astdb2sqlite3 menuselect.makeopts || ( sed -i.orig -e's/MENUSELECT_UTILS=\(.*\)/MENUSELECT_UTILS=\1 astdb2sqlite3/' menuselect.makeopts && echo "Updating menuselect.makeopts to include astdb2sqlite3" && echo "Original version backed up to menuselect.makeopts.orig" )
2006-02-01 18:39:41 +00:00
2006-06-22 15:38:13 +00:00
$(SUBDIRS_UNINSTALL) :
2010-01-19 17:42:10 +00:00
+@$( SUBMAKE) -C $( @:-uninstall= ) uninstall
2006-06-22 15:38:13 +00:00
_uninstall : $( SUBDIRS_UNINSTALL )
2011-07-19 21:32:54 +00:00
rm -f $( DESTDIR) $( MODULES_DIR) /*
2006-02-01 18:39:41 +00:00
rm -f $( DESTDIR) $( ASTSBINDIR) /*asterisk*
rm -f $( DESTDIR) $( ASTSBINDIR) /astgenkey
rm -f $( DESTDIR) $( ASTSBINDIR) /autosupport
rm -rf $( DESTDIR) $( ASTHEADERDIR)
2011-07-19 21:32:54 +00:00
rm -rf $( DESTDIR) $( ASTDATADIR) /firmware
2007-07-11 18:21:23 +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-11-05 18:00:24 +00:00
@echo " + $( mK) uninstall-all + "
2006-02-01 18:39:41 +00:00
@echo " +-------------------------------------------+"
uninstall-all : _uninstall
2011-07-19 21:32:54 +00:00
rm -rf $( DESTDIR) $( ASTLIBDIR)
rm -rf $( DESTDIR) $( ASTVARLIBDIR)
rm -rf $( DESTDIR) $( ASTDATADIR)
rm -rf $( DESTDIR) $( ASTSPOOLDIR)
rm -rf $( DESTDIR) $( ASTETCDIR)
rm -rf $( DESTDIR) $( ASTLOGDIR)
2006-04-24 17:11:45 +00:00
2006-11-11 15:33:06 +00:00
menuconfig : menuselect
2008-03-05 23:21:52 +00:00
cmenuconfig : cmenuselect
2007-03-15 23:56:10 +00:00
gmenuconfig : gmenuselect
2008-03-05 22:50:00 +00:00
nmenuconfig : nmenuselect
2008-06-28 14:34:07 +00:00
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; \
2008-06-28 14:46:08 +00:00
else \
2008-06-28 14:56:56 +00:00
echo "No menuselect user interface found. Install ncurses," ; \
echo "newt or GTK libraries to build one and re-rerun" ; \
2011-01-12 15:59:28 +00:00
echo "'./configure' and 'make menuselect'." ; \
2008-06-28 14:34:07 +00:00
fi
2006-04-24 17:11:45 +00:00
2009-12-10 21:01:39 +00:00
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!"
2008-03-05 23:21:52 +00:00
2009-12-10 21:01:39 +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:56:10 +00:00
2009-12-10 21:01:39 +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!"
2008-03-05 22:50:00 +00:00
2007-12-18 08:20:17 +00:00
# options for make in menuselect/
2010-06-04 19:40:00 +00:00
MAKE_MENUSELECT = CC = " $( BUILD_CC) " CXX = "" LD = "" AR = "" RANLIB = "" CFLAGS = "" $( MAKE) -C menuselect CONFIGURE_SILENT = "--silent"
2007-12-18 08:20:17 +00:00
2007-11-07 11:15:42 +00:00
menuselect/menuselect : menuselect /makeopts
2009-06-09 18:08:53 +00:00
+$( MAKE_MENUSELECT) menuselect
2006-04-24 17:11:45 +00:00
2008-03-05 23:21:52 +00:00
menuselect/cmenuselect : menuselect /makeopts
2009-06-09 18:08:53 +00:00
+$( MAKE_MENUSELECT) cmenuselect
2008-03-05 23:21:52 +00:00
2007-11-07 11:15:42 +00:00
menuselect/gmenuselect : menuselect /makeopts
2009-06-09 18:08:53 +00:00
+$( MAKE_MENUSELECT) gmenuselect
2007-11-07 11:15:42 +00:00
2008-03-05 22:50:00 +00:00
menuselect/nmenuselect : menuselect /makeopts
2009-06-09 18:08:53 +00:00
+$( MAKE_MENUSELECT) nmenuselect
2008-03-05 22:50:00 +00:00
2008-03-31 17:14:58 +00:00
menuselect/makeopts : makeopts
2009-06-09 18:08:53 +00:00
+$( MAKE_MENUSELECT) makeopts
2007-03-15 23:56:10 +00:00
2011-05-05 23:47:23 +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 utils /utils .xml agi /agi .xml configure makeopts
2006-08-21 02:11:39 +00:00
@echo "Generating input for menuselect ..."
2007-12-17 07:25:35 +00:00
@echo "<?xml version=\"1.0\"?>" > $@
@echo >> $@
@echo "<menu name=\"Asterisk Module and Build Option Selection\">" >> $@
2009-06-09 18:08:53 +00:00
+@for dir in $( sort $( filter-out main,$( MOD_SUBDIRS) ) ) ; do $( SILENTMAKE) -C $$ { dir} SUBDIR = $$ { dir} moduleinfo >> $@ ; done
2007-12-17 07:25:35 +00:00
@cat build_tools/cflags.xml >> $@
2009-06-09 18:08:53 +00:00
+@for dir in $( sort $( filter-out main,$( MOD_SUBDIRS) ) ) ; do $( SILENTMAKE) -C $$ { dir} SUBDIR = $$ { dir} makeopts >> $@ ; done
2008-03-19 17:15:14 +00:00
@if [ " ${ AST_DEVMODE } " = "yes" ] ; then \
cat build_tools/cflags-devmode.xml >> $@ ; \
fi
2009-10-22 19:33:32 +00:00
@cat utils/utils.xml >> $@
2009-10-23 16:40:30 +00:00
@cat agi/agi.xml >> $@
2007-12-17 07:25:35 +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:02:42 +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 : validate -docs
.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:32:14 +00:00
FORCE :