include $(MODDIR)/make/defs.mk # broken by IMAGEDIR in rpmbuild ifeq ($(DEVELOPMENT),true) GENERATE_DOXYGEN ?= true endif ifneq ($(GENERATE_DOXYGEN),true) include $(MODDIR)/make/dummy.mk else UPLOAD_FILE_MODE ?= 644 UPLOAD_DIR_MODE ?= 755 include $(MODDIR)/make/upload-defs.mk UPLOAD_URL ?= $(UPLOAD_URL_DEVEL_DOC)/$(PROJECT)/doxygen/:$(UPLOAD_FILE_MODE):$(UPLOAD_DIR_MODE):$(UPLOAD_USER).$(UPLOAD_GROUP) DX_INCLUDE ?= header.html footer.html styles.css logo.png DX_UNTEMPLATED = $(patsubst %.tmpl,%,$(wildcard *.tmpl)) DX_OUTPUT_DIR ?= html DX_INSTALL_DIR ?= $(DOC_PREFIX)/devel DX_DOC_FILES = $(DX_INCLUDE) DX_DOXYGEN_CONF ?= doxygen.conf DX_INCLUDE_TMPL_DIR ?= $(MODDIR)/tmpl/doxygen DX_FALLBACK_CONF_TMPL ?= $(DX_INCLUDE_TMPL_DIR)/doxygen.conf.tmpl # replaced pattern defaults DX_FILE_PATTERNS ?= *.h *.c *.cpp DX_INPUT_DIRS ?= $(TOPDIR)/include DX_SRC_IS_JAVA ?= NO DX_EXCLUDE_FILES ?= DX_INCLUDE_PATH ?= DX_RECURSIVE ?= YES DX_EXTRACT_STATIC ?= NO DX_INLINE_SOURCES ?= NO DX_SOURCE_BROWSER ?= NO all: html install: install.done distclean: clean clean: clean.doxygen doc: all upload: upload.done html: doxygen.done cpfiles.done doxygen.done: $(DX_UNTEMPLATED) $(DX_INCLUDE) umask 022; doxygen $(DX_DOXYGEN_CONF) touch $@ cpfiles.done: doxygen.done $(DX_DOC_FILES) umask 022; cp $(DX_DOC_FILES) $(DX_OUTPUT_DIR) touch $@ doc.done: doxygen.done cpfiles.done touch $@ view: doc.done konqueror $(DX_OUTPUT_DIR)/index.html upload.done: doxygen.done cpfiles.done upload.sh $(DX_OUTPUT_DIR)/ $(UPLOAD_URL) clean.doxygen: rm -rf $(DX_OUTPUT_DIR) *.done $(DX_UNTEMPLATED) $(DX_INCLUDE) *.bak default-* doxygen.conf inst-dir.done: $(INSTALL) -d -o $(DOCDIROWNER) -g $(DOCDIRGROUP) -m $(DOCDIRMODE) $(DX_INSTALL_DIR) touch $@ install.done: doxygen.done inst-dir.done make install.doxygen touch $@ install.doxygen: $(INSTALL) -o $(DOCOWNER) -g $(DOCGROUP) -m $(DOCMODE) \ $(wildcard $(DX_OUTPUT_DIR)/*.html) \ $(wildcard $(DX_OUTPUT_DIR)/*.gif) \ $(wildcard $(DX_OUTPUT_DIR)/*.png) \ $(wildcard $(DX_OUTPUT_DIR)/*.css) \ $(DX_INSTALL_DIR) $(DX_DOXYGEN_CONF): $(firstword $(wildcard $(DX_DOXYGEN_CONF).tmpl $(DX_FALLBACK_CONF_TMPL))) $(SED) " \ s/__VERSION__/$(DIST_VERSION)/g; \ s/__PROJECT__/$(PROJECT)/g; \ s/__PROJECT_CAPNAME__/$(PROJECT_CAPNAME)/g; \ s%__PROJECT_SUMMARY__%$(PROJECT_SUMMARY)%g; \ s/__OUTPUT_DIR__/$(DX_OUTPUT_DIR)/g; \ s%__PROJECT_TOPDIR__%$(TOPDIR)%g; \ s%__MODDIR__%$(MODDIR)%g; \ s%__FILE_PATTERNS__%$(DX_FILE_PATTERNS)%g; \ s%__INPUT_DIRS__%$(DX_INPUT_DIRS)%g; \ s%__SRC_IS_JAVA__%$(DX_SRC_IS_JAVA)%g; \ s%__EXCLUDE_FILES__%$(DX_EXCLUDE_FILES)%g; \ s%__INCLUDE_PATH__%$(DX_INCLUDE_PATH)%g; \ s%__RECURSIVE__%$(DX_RECURSIVE)%g; \ s%__EXTRACT_STATIC__%$(DX_EXTRACT_STATIC)%g; \ s%__INLINE_SOURCES__%$(DX_INLINE_SOURCES)%g; \ s%__SOURCE_BROWSER__%$(DX_SOURCE_BROWSER)%g; \ " $< > $@ doxygen-default-includes.done: $(DX_DOXYGEN_CONF) doxygen -w html $(addprefix default-,$(DX_INCLUDE)) $< touch $@ header.html: $(DX_INCLUDE_TMPL_DIR)/header.html doxygen-default-includes.done cat default-$@ | sed -ne "/<\/tr>/r $<" -e 1x -e '2,$${x;p}' -e '$${x;p}' > $@.tmp mv $@.tmp $@ footer.html: $(DX_INCLUDE_TMPL_DIR)/footer.html doxygen-default-includes.done cat $< default-$@ > $@.tmp mv $@.tmp $@ styles.css: $(DX_INCLUDE_TMPL_DIR)/styles.css doxygen-default-includes.done cat default-$@ $< > $@.tmp mv $@.tmp $@ logo.png: $(DX_INCLUDE_TMPL_DIR)/logo.png doxygen-default-includes.done cp $< $@.tmp mv $@.tmp $@ doxygen.conf.tmpl: | $(DX_FALLBACK_CONF_TMPL) cp $(DX_FALLBACK_CONF_TMPL) $@.tmp mv $@.tmp $@ endif