From 80cf4960ff1877a23e18b6ed06ef44d43cb5cb3d Mon Sep 17 00:00:00 2001 From: Matt Jordan Date: Fri, 30 Oct 2015 13:22:23 -0500 Subject: Makefile: Add a rule 'basic-pbx' that installs the Basic PBX configs This patch adds a rule for installing the Super Awesome Company based 'Basic PBX' configuration files. As part of adding this rule, a bit of the content that makes up installing the configuration files under the 'samples' target was refactored into a make subroutine for usage by additional later config make targets. Change-Id: I6c2e27906f73e2919a2b691da0be20ae70302404 --- Makefile | 62 ++++++++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 40 insertions(+), 22 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index bfa1ad96e..5bc657075 100644 --- a/Makefile +++ b/Makefile @@ -124,7 +124,7 @@ empty:= space:=$(empty) $(empty) ASTTOPDIR:=$(subst $(space),\$(space),$(CURDIR)) -# Overwite config files on "make samples" +# Overwite config files on "make samples" or other config installation targets OVERWRITE=y # Include debug and macro symbols in the executables (-g) and profiling info (-pg) @@ -651,7 +651,12 @@ install: badshell bininstall datafiles @echo " + configuration files (overwriting any +" @echo " + existing config files), run: +" @echo " + +" - @echo " + $(mK) samples +" + @echo " + For generic reference documentation: +" + @echo " + $(mK) samples +" + @echo " + +" + @echo " + For a sample basic PBX: +" + @echo " + $(mK) basic-pbx +" + @echo " + +" @echo " + +" @echo " +----------------- or ---------------------+" @echo " + +" @@ -669,24 +674,14 @@ isntall: install upgrade: bininstall -# XXX why *.adsi is installed first ? -adsi: - @echo Installing adsi config files... - $(INSTALL) -d "$(DESTDIR)$(ASTETCDIR)" - @for x in configs/samples/*.adsi; do \ - dst="$(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x`" ; \ - if [ -f "$${dst}" ] ; then \ - echo "Overwriting $$x" ; \ - else \ - echo "Installing $$x" ; \ - fi ; \ - $(INSTALL) -m 644 "$$x" "$(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x`" ; \ - done -samples: adsi - @echo Installing other config files... - @for x in configs/samples/*.sample; do \ - dst="$(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x .sample`" ; \ +# Install configuration files from the specified directory +# Parameters: +# (1) the configuration directory to install from +# (2) the extension to strip off +define INSTALL_CONFIGS + @for x in configs/$(1)/*$(2); do \ + dst="$(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x $(2)`"; \ if [ -f "$${dst}" ]; then \ if [ "$(OVERWRITE)" = "y" ]; then \ if cmp -s "$${dst}" "$$x" ; then \ @@ -701,7 +696,7 @@ samples: adsi fi ; \ echo "Installing file $$x"; \ $(INSTALL) -m 644 "$$x" "$${dst}" ;\ - done + done ; \ if [ "$(OVERWRITE)" = "y" ]; then \ echo "Updating asterisk.conf" ; \ sed -e 's|^astetcdir.*$$|astetcdir => $(ASTETCDIR)|' \ @@ -718,10 +713,28 @@ samples: adsi "$(DESTDIR)$(ASTCONFPATH)" > "$(DESTDIR)$(ASTCONFPATH).tmp" ; \ $(INSTALL) -m 644 "$(DESTDIR)$(ASTCONFPATH).tmp" "$(DESTDIR)$(ASTCONFPATH)" ; \ rm -f "$(DESTDIR)$(ASTCONFPATH).tmp" ; \ - fi ; \ + fi +endef + +# XXX why *.adsi is installed first ? +adsi: + @echo Installing adsi config files... + $(INSTALL) -d "$(DESTDIR)$(ASTETCDIR)" + @for x in configs/samples/*.adsi; do \ + dst="$(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x`" ; \ + if [ -f "$${dst}" ] ; then \ + echo "Overwriting $$x" ; \ + else \ + echo "Installing $$x" ; \ + fi ; \ + $(INSTALL) -m 644 "$$x" "$(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x`" ; \ + done + +samples: adsi + @echo Installing other config files... + $(call INSTALL_CONFIGS,samples,.sample) $(INSTALL) -d "$(DESTDIR)$(ASTSPOOLDIR)/voicemail/default/1234/INBOX" build_tools/make_sample_voicemail "$(DESTDIR)/$(ASTDATADIR)" "$(DESTDIR)/$(ASTSPOOLDIR)" - @for x in phoneprov/*; do \ dst="$(DESTDIR)$(ASTDATADIR)/$$x" ; \ if [ -f "$${dst}" ]; then \ @@ -740,6 +753,10 @@ samples: adsi $(INSTALL) -m 644 "$$x" "$${dst}" ;\ done +basic-pbx: + @echo Installing basic-pbx config files... + $(call INSTALL_CONFIGS,basic-pbx) + webvmail: @[ -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 ) @@ -1012,6 +1029,7 @@ endif .PHONY: validate-docs .PHONY: _clean .PHONY: ari-stubs +.PHONY: basic-pbx .PHONY: $(SUBDIRS_INSTALL) .PHONY: $(SUBDIRS_DIST_CLEAN) .PHONY: $(SUBDIRS_CLEAN) -- cgit v1.2.3