From: <sg...@us...> - 2003-11-17 18:24:21
|
Update of /cvsroot/libfunutil/libfunutil/toc/make In directory sc8-pr-cvs1:/tmp/cvs-serv32544/toc/make Added Files: DOXYGEN.make NAMESPACE.make Log Message: egg --- NEW FILE: DOXYGEN.make --- #!/do/not/make # a (big) snippet to build API docs using doxygen # Much of this process was written by Rusty Ballinger. # # Edit the file Doxyfile template, Doxyfile.at, using # @at-token@ conventions. # # Define: # DOXYGEN_PREDEF = predfined C vars # DOXYGEN_ATPARSE_ARGS = list of args to pass to the @at-parser@ # Some globally-defined vars are pre-set. # In particular you may want to add: # DOXYGEN_INPUT="index.txt $(top_includesdir)/yourincludes)" # DOXYGEN_FILTER=/path/to/filter (may be left blank) # Useful sometimes for perl/sed'ing, e.g., C macros in API docs. # # Sample: # INCLUDES_DIRS = $(addprefix $(top_includesdir)/,lib1 otherlib) # # DOXYGEN_PREDEF = \ # HAVE_CONFIG_H=1 # # DOXYGEN_ATPARSE_ARGS = \ # DOXYGEN_INPUT="index.txt $(INCLUDES_DIRS)" # # Of course your Doxyfile.at must have the appropriate @tokens@ in it, # but the one shipped with this file is already set up for you. ifeq (,$(DOXYGEN_BIN)) $(error The variable DOXYGEN_BIN must be set before including this file.) endif DOXYFILE = Doxyfile doxygen_outdir = ./doxygen DOXYGEN_IN = Doxyfile.at DIST_FILES += $(DOXYGEN_IN) index.txt doxygen_install_dirname = doxygen-$(PACKAGE_NAME)-$(PACKAGE_VERSION) docs: doxygen clean: clean-doxygen install: install-doxygen DOXYGEN_ATPARSE_ARGS += \ top_srcdir=${top_srcdir} \ top_libdir=${top_libdir} \ top_includesdir=${top_includesdir} \ PERL="$(PERL)" \ PACKAGE_NAME=$(PACKAGE_NAME) \ PACKAGE_VERSION=$(PACKAGE_VERSION)\ PREDEFINED="$(DOXYGEN_PREDEF)" \ DOXYGEN_FILTER=$(DOXYGEN_FILTER) DOXYGEN_MAKE = $(toc_makesdir)/DOXYGEN.make CLEAN_FILES += $(DOXYGEN_FILTER) atparser = $(top_srcdir)/toc/bin/atsign_parse $(top_srcdir)/configure: $(DOXYFILE): $(DOXYGEN_FILTER) $(DOXYGEN_IN) Makefile $(top_srcdir)/configure @echo "Creating $@."; \ $(call toc_atparse_file,$(DOXYGEN_IN),$@, \ $(DOXYGEN_ATPARSE_ARGS) \ ) CLEAN_FILES += $(DOXYFILE) INSTALL_DEST_DOXYGEN = $(INSTALL_DOCS_DEST) DISTCLEAN_FILES += $(DOXYFILE) doxygen: clean-doxygen $(DOXYFILE) $(DOXYGEN_BIN) @echo Output is in $(doxygen_outdir) and ./latex. clean-doxygen: -rm -fr $(doxygen_outdir) latex install-doxygen: doxygen @echo "Installing docs to $(INSTALL_DOCS_DEST)/$(doxygen_install_dirname)" @test -d $(INSTALL_DEST_DOXYGEN) || mkdir -p $(INSTALL_DEST_DOXYGEN); \ cp -r $(doxygen_outdir) $(INSTALL_DOCS_DEST)/$(doxygen_install_dirname) # all: docs --- NEW FILE: NAMESPACE.make --- #!/do/not/make # # A snippet to help filter source code files to replace a namespace. # Usage: # define: # NAMESPACE = mynamespace # NAMESPACE_TOKEN = token to replace when filtering. e.g. MY_NAMESPACE # NAMESPACE_PREFIX = filename prefix for pre-filtered files. Defaults to ns. # NAMESPACE_FILTERED_FILES = list containing XXX which should be filtered from # $(NAMESPACE_PREFIX)XXX. # then include this file. NAMESPACE_PREFIX ?= ns. NAMESPACE_TOKEN ?= NAMESPACE ifeq (,$(NAMESPACE)) $(error You must set the variable NAMESPACE before including this file.) endif NAMESPACE_MAKE = $(toc_makesdir)/NAMESPACE.make NAMESPACE_TMPFILE = .toc.NAMESPACE.tmp $(NAMESPACE_FILTERED_FILES): %: $(NAMESPACE_PREFIX)% Makefile $(top_srcdir)/toc.$(PACKAGE_NAME).make $(NAMESPACE_MAKE) @nsf=$<; \ echo -n "namespace $(NAMESPACE): $$nsf --> $@ ... "; \ sed -e 's,$(NAMESPACE_TOKEN),$(NAMESPACE),g' < $$nsf > $(NAMESPACE_TMPFILE); \ cmp -s $(NAMESPACE_TMPFILE) $@ && rm $(NAMESPACE_TMPFILE); \ test -f $(NAMESPACE_TMPFILE) && { mv $(NAMESPACE_TMPFILE) $@; echo " updated"; } || echo " up to date"; |