jw-pkg/make/doxygen.mk
Jan Lindemann 0bb3e2b52c doxygen.mk: Increased number of replaced patterns
Signed-off-by: Jan Lindemann <jan@janware.com>
2016-02-11 18:27:10 +00:00

122 lines
3.3 KiB
Makefile

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 = $(IMAGEDIR)/jannet_08.png $(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
DX_INPUT_DIRS ?= $(TOPDIR)/include
DX_SRC_IS_JAVA ?= NO
DX_EXCLUDE_FILES ?=
DX_INCLUDE_PATH ?=
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)
%: %.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; \
" $< > $@
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-$@ $< > $@.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)/footer.html 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