mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-01-18 11:10:35 +01:00
Add --only-section-tmpl option so that changes to inline documentation does not lead to churn in the .sgml template files. Commit new templates now that gtk-doc has ripped all the inline portions out. New template files added for new sections. Update to match current API. Make parameter names match those in the .c file and its documentation.
153 lines
4.4 KiB
Makefile
153 lines
4.4 KiB
Makefile
# -*- mode: makefile -*-
|
|
|
|
####################################
|
|
# Everything below here is generic #
|
|
####################################
|
|
|
|
if GTK_DOC_USE_LIBTOOL
|
|
GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS)
|
|
GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS)
|
|
else
|
|
GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS)
|
|
GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS)
|
|
endif
|
|
|
|
# We set GPATH here; this gives us semantics for GNU make
|
|
# which are more like other make's VPATH, when it comes to
|
|
# whether a source that is a target of one rule is then
|
|
# searched for in VPATH/GPATH.
|
|
#
|
|
GPATH = $(srcdir)
|
|
|
|
TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
|
|
|
|
EXTRA_DIST = \
|
|
$(content_files) \
|
|
$(HTML_IMAGES) \
|
|
$(DOC_MAIN_SGML_FILE) \
|
|
$(DOC_MODULE)-sections.txt \
|
|
$(DOC_MODULE)-overrides.txt
|
|
|
|
DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
|
|
$(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
|
|
|
|
SCANOBJ_FILES = \
|
|
$(DOC_MODULE).args \
|
|
$(DOC_MODULE).hierarchy \
|
|
$(DOC_MODULE).interfaces \
|
|
$(DOC_MODULE).prerequisites \
|
|
$(DOC_MODULE).signals
|
|
|
|
CLEANFILES = $(SCANOBJ_FILES) $(DOC_MODULE)-unused.txt $(DOC_STAMPS)
|
|
|
|
if ENABLE_GTK_DOC
|
|
all-local: html-build.stamp
|
|
|
|
#### scan ####
|
|
|
|
scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB)
|
|
@echo '*** Scanning header files ***'
|
|
@-chmod -R u+w $(srcdir)
|
|
if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \
|
|
CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
|
|
else \
|
|
cd $(srcdir) ; \
|
|
for i in $(SCANOBJ_FILES) ; do \
|
|
test -f $$i || touch $$i ; \
|
|
done \
|
|
fi
|
|
cd $(srcdir) && \
|
|
gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
|
|
touch scan-build.stamp
|
|
|
|
$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): scan-build.stamp
|
|
@true
|
|
|
|
#### templates ####
|
|
|
|
tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
|
|
@echo '*** Rebuilding template files ***'
|
|
@-chmod -R u+w $(srcdir)
|
|
cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS)
|
|
touch tmpl-build.stamp
|
|
|
|
tmpl.stamp: tmpl-build.stamp
|
|
@true
|
|
|
|
#### xml ####
|
|
|
|
sgml-build.stamp: tmpl.stamp $(CFILE_GLOB) $(srcdir)/tmpl/*.sgml $(expand_content_files)
|
|
@echo '*** Building XML ***'
|
|
@-chmod -R u+w $(srcdir)
|
|
cd $(srcdir) && \
|
|
gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml --expand-content-files="$(expand_content_files)" $(MKDB_OPTIONS)
|
|
touch sgml-build.stamp
|
|
|
|
sgml.stamp: sgml-build.stamp
|
|
@true
|
|
|
|
#### html ####
|
|
|
|
html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
|
|
@echo '*** Building HTML ***'
|
|
@-chmod -R u+w $(srcdir)
|
|
rm -rf $(srcdir)/html
|
|
mkdir $(srcdir)/html
|
|
cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
|
|
test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
|
|
@echo '-- Fixing Crossreferences'
|
|
cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
|
|
touch html-build.stamp
|
|
else
|
|
all-local:
|
|
endif
|
|
|
|
##############
|
|
|
|
clean-local:
|
|
rm -f *~ *.bak
|
|
rm -rf .libs
|
|
|
|
maintainer-clean-local: clean
|
|
cd $(srcdir) && rm -rf xml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
|
|
|
|
install-data-local:
|
|
installfiles=`echo $(srcdir)/html/*`; \
|
|
if test "$$installfiles" = '$(srcdir)/html/*'; \
|
|
then echo '-- Nothing to install' ; \
|
|
else \
|
|
$(mkinstalldirs) $(DESTDIR)$(TARGET_DIR); \
|
|
for i in $$installfiles; do \
|
|
echo '-- Installing '$$i ; \
|
|
$(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
|
|
done; \
|
|
echo '-- Installing $(srcdir)/html/index.sgml' ; \
|
|
$(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \
|
|
fi
|
|
|
|
uninstall-local:
|
|
rm -f $(DESTDIR)$(TARGET_DIR)/*
|
|
|
|
#
|
|
# Require gtk-doc when making dist
|
|
#
|
|
if ENABLE_GTK_DOC
|
|
dist-check-gtkdoc:
|
|
else
|
|
dist-check-gtkdoc:
|
|
@echo "*** gtk-doc must be installed and enabled in order to make dist"
|
|
@false
|
|
endif
|
|
|
|
dist-hook: dist-check-gtkdoc dist-hook-local
|
|
mkdir $(distdir)/tmpl
|
|
mkdir $(distdir)/xml
|
|
mkdir $(distdir)/html
|
|
-cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
|
|
-cp $(srcdir)/xml/*.xml $(distdir)/xml
|
|
-cp $(srcdir)/html/* $(distdir)/html
|
|
if test -f $(srcdir)/$(DOC_MODULE).types; then \
|
|
cp $(srcdir)/$(DOC_MODULE).types $(distdir)/$(DOC_MODULE).types; \
|
|
fi
|
|
|
|
.PHONY : dist-hook-local
|