[svn-commits] eliel: trunk r685 - in /trunk: ./ build_tools/

SVN commits to the Digium repositories svn-commits at lists.digium.com
Thu Nov 6 11:44:05 CST 2008


Author: eliel
Date: Thu Nov  6 11:44:05 2008
New Revision: 685

URL: http://svn.digium.com/view/asterisk-addons?view=rev&rev=685
Log:
Introduce the install process for the XML documentation.
One target (validate-docs) was added to check if the generated
xml (addons-en_US.xml) is valid.

Added:
    trunk/build_tools/get_documentation   (with props)
Modified:
    trunk/Makefile
    trunk/configure
    trunk/configure.ac
    trunk/makeopts.in

Modified: trunk/Makefile
URL: http://svn.digium.com/view/asterisk-addons/trunk/Makefile?view=diff&rev=685&r1=684&r2=685
==============================================================================
--- trunk/Makefile (original)
+++ trunk/Makefile Thu Nov  6 11:44:05 2008
@@ -58,10 +58,20 @@
 ifeq ($(OSARCH),SunOS)
   ASTETCDIR=/var/etc/asterisk
   ASTLIBDIR=/opt/asterisk/lib
+  ASTVARLIBDIR=/var/opt/asterisk
 else
   ASTETCDIR=$(sysconfdir)/asterisk
   ASTLIBDIR=$(libdir)/asterisk
-endif
+ifneq ($(findstring BSD,$(OSARCH)),)
+  ASTVARLIBDIR=$(prefix)/share/asterisk
+else
+  ASTVARLIBDIR=$(localstatedir)/lib/asterisk
+endif
+endif
+ifeq ($(ASTDATADIR),)
+  ASTDATADIR:=$(ASTVARLIBDIR)
+endif
+
 MODULES_DIR=$(ASTLIBDIR)/modules
 
 #MOD_SUBDIRS:=channels pbx apps codecs formats cdr funcs tests main res $(LOCAL_MOD_SUBDIRS)
@@ -114,7 +124,7 @@
 	@echo " +               $(mK) install               +"  
 	@echo " +-------------------------------------------+"  
 
-_all: cleantest makeopts $(SUBDIRS)
+_all: cleantest makeopts $(SUBDIRS) doc/addons-en_US.xml
 
 makeopts: configure
 	@echo "****"
@@ -162,7 +172,7 @@
 	@echo "****"
 	@exit 1
 
-install: _all $(SUBDIRS_INSTALL)
+install: _all $(SUBDIRS_INSTALL) install-xmldoc 
 	@echo " +---- Asterisk-Addons Installation Complete ----+"
 	@echo " +                                               +"
 	@echo " +    Addons has successfully been installed.    +"
@@ -172,6 +182,10 @@
 	@echo " +                                               +"
 	@echo " +               $(MAKE) samples                    +"
 	@echo " +-----------------------------------------------+"
+
+install-xmldoc: doc/addons-en_US.xml
+	@echo "Installing XML documentation"
+	@$(INSTALL) -m 644 doc/addons-*.xml $(ASTDATADIR)/documentation
 
 cleantest:
 
@@ -218,6 +232,29 @@
 		$(INSTALL) -m 644 $$x $(DESTDIR)$(ASTETCDIR)/`basename $$x .sample` ;\
 	done
 
+doc/addons-en_US.xml: $(foreach dir,$(MOD_SUBDIRS),$(wildcard $(dir)/*.c) $(wildcard $(dir)/*.cc))
+	@echo -n "Building Documentation For: "
+	@echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" > $@
+	@echo "<!DOCTYPE docs SYSTEM \"appdocsxml.dtd\">" >> $@
+	@echo "<docs>" >> $@
+	@for x in $(MOD_SUBDIRS); do \
+		echo -n "$$x " ; \
+		for i in $$x/*.c; do \
+			$(AWK) -f build_tools/get_documentation $$i >> $@ ; \
+		done ; \
+	done
+	@echo
+	@echo "</docs>" >> $@
+
+validate-docs: install-xmldoc 
+ifeq ($(XMLSTARLET),:)
+	@echo "---------------------------------------------------------------"
+	@echo "--- Please install xmlstarlet to validate the documentation ---"
+	@echo "---------------------------------------------------------------"
+else
+	@$(XMLSTARLET) val -E $(ASTDATADIR)/documentation/addons-en_US.xml 
+endif
+
 update:
 	@if [ -d .svn ]; then \
 		echo "Updating from Subversion..." ; \
@@ -292,4 +329,4 @@
 	@for dir in $(sort $(filter-out main,$(MOD_SUBDIRS))); do $(SUBMAKE) -C $${dir} SUBDIR=$${dir} makeopts >> $@; done
 	@echo "</menu>" >> $@
 
-.PHONY: menuselect clean dist-clean distclean all cleantest uninstall _uninstall uninstall-all dont-optimize $(SUBDIRS_INSTALL) $(SUBDIRS_DIST_CLEAN) $(SUBDIRS_CLEAN) $(SUBDIRS_UNINSTALL) $(SUBDIRS) $(MOD_SUBDIRS_EMBED_LDSCRIPT) $(MOD_SUBDIRS_EMBED_LDFLAGS) $(MOD_SUBDIRS_EMBED_LIBS)
+.PHONY: menuselect clean dist-clean distclean all cleantest install-xmldoc uninstall _uninstall uninstall-all dont-optimize $(SUBDIRS_INSTALL) $(SUBDIRS_DIST_CLEAN) $(SUBDIRS_CLEAN) $(SUBDIRS_UNINSTALL) $(SUBDIRS) $(MOD_SUBDIRS_EMBED_LDSCRIPT) $(MOD_SUBDIRS_EMBED_LDFLAGS) $(MOD_SUBDIRS_EMBED_LIBS)

Added: trunk/build_tools/get_documentation
URL: http://svn.digium.com/view/asterisk-addons/trunk/build_tools/get_documentation?view=auto&rev=685
==============================================================================
--- trunk/build_tools/get_documentation (added)
+++ trunk/build_tools/get_documentation Thu Nov  6 11:44:05 2008
@@ -1,0 +1,3 @@
+/\/\*\*\* DOCUMENTATION/ {printit=1; next}
+/\*\*\*\// {if (printit) exit}
+// {if (printit) print}

Propchange: trunk/build_tools/get_documentation
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: trunk/build_tools/get_documentation
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: trunk/build_tools/get_documentation
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: trunk/configure.ac
URL: http://svn.digium.com/view/asterisk-addons/trunk/configure.ac?view=diff&rev=685&r1=684&r2=685
==============================================================================
--- trunk/configure.ac (original)
+++ trunk/configure.ac Thu Nov  6 11:44:05 2008
@@ -155,6 +155,7 @@
 AC_PATH_PROG([DIRNAME], [dirname], :)
 AC_PATH_PROG([SHELL], [sh], :)
 AC_PATH_PROG([LN], [ln], :)
+AC_PATH_PROG([XMLSTARLET], [xmlstarlet], :)
 
 AC_LANG(C)
 

Modified: trunk/makeopts.in
URL: http://svn.digium.com/view/asterisk-addons/trunk/makeopts.in?view=diff&rev=685&r1=684&r2=685
==============================================================================
--- trunk/makeopts.in (original)
+++ trunk/makeopts.in Thu Nov  6 11:44:05 2008
@@ -50,3 +50,5 @@
 
 NCURSES_LIB=@NCURSES_LIB@
 NCURSES_INCLUDE=@NCURSES_INCLUDE@
+
+XMLSTARLET=@XMLSTARLET@




More information about the svn-commits mailing list