Skip to content

Commit

Permalink
Makefile: Add a rule 'basic-pbx' that installs the Basic PBX configs
Browse files Browse the repository at this point in the history
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
  • Loading branch information
matt-jordan committed Oct 31, 2015
1 parent b522a5e commit 80cf496
Showing 1 changed file with 40 additions and 22 deletions.
62 changes: 40 additions & 22 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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 " + +"
Expand All @@ -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 \
Expand All @@ -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)|' \
Expand All @@ -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 \
Expand All @@ -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 )
Expand Down Expand Up @@ -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)
Expand Down

0 comments on commit 80cf496

Please sign in to comment.