2 # WARNING: this is not gtk-doc.make file from gtk-doc project. This
3 # file has been modified to match with util-linux requirements:
5 # * install files to $datadir
6 # * don't maintain generated files in git repository
7 # * don't distribute the final html files
8 # * don't require --enable-gtk-doc for "make dist"
9 # * support out-of-tree build ($srcdir != $builddir)
14 ####################################
15 # Everything below here is generic #
16 ####################################
18 if GTK_DOC_USE_LIBTOOL
19 GTKDOC_CC
= $(LIBTOOL
) --tag
=CC
--mode
=compile
$(CC
) $(INCLUDES
) $(AM_CPPFLAGS
) $(CPPFLAGS
) $(AM_CFLAGS
) $(CFLAGS
)
20 GTKDOC_LD
= $(LIBTOOL
) --tag
=CC
--mode
=link
$(CC
) $(AM_CFLAGS
) $(CFLAGS
) $(AM_LDFLAGS
) $(LDFLAGS
)
21 GTKDOC_RUN
= $(LIBTOOL
) --mode
=execute
23 GTKDOC_CC
= $(CC
) $(INCLUDES
) $(AM_CPPFLAGS
) $(CPPFLAGS
) $(AM_CFLAGS
) $(CFLAGS
)
24 GTKDOC_LD
= $(CC
) $(AM_CFLAGS
) $(CFLAGS
) $(AM_LDFLAGS
) $(LDFLAGS
)
28 # We set GPATH here; this gives us semantics for GNU make
29 # which are more like other make's VPATH, when it comes to
30 # whether a source that is a target of one rule is then
31 # searched for in VPATH/GPATH.
35 TARGET_DIR
=$(docdir
)/$(DOC_MODULE
)
42 $(DOC_MAIN_SGML_FILE
) \
43 $(DOC_MODULE
)-sections.txt
44 # $(DOC_MODULE)-overrides.txt
46 DOC_STAMPS
=scan-build.stamp sgml-build.stamp html-build.stamp \
47 $(srcdir)/setup.stamp
$(srcdir)/sgml.stamp \
52 $(DOC_MODULE
).hierarchy \
53 $(DOC_MODULE
).interfaces \
54 $(DOC_MODULE
).prerequisites \
55 $(DOC_MODULE
).signals \
56 $(DOC_MODULE
).types
# util-linux: we don't use types
59 $(DOC_MODULE
)-undocumented.txt \
60 $(DOC_MODULE
)-undeclared.txt \
61 $(DOC_MODULE
)-unused.txt
63 CLEANFILES
= $(SCANOBJ_FILES
) $(REPORT_FILES
) $(DOC_STAMPS
)
66 all-local
: html-build.stamp
71 docs
: html-build.stamp
73 $(REPORT_FILES
): sgml-build.stamp
78 -@if
test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
79 echo
'gtk-doc: Preparing build'; \
80 files
=`echo $(EXTRA_DIST) $(expand_content_files) $(srcdir)/$(DOC_MODULE).types`; \
81 if
test "x$$files" != "x" ; then \
82 for file in
$$files ; do \
83 test -f
$(abs_srcdir
)/$$file && \
84 cp
-p
$(abs_srcdir
)/$$file $(abs_builddir
)/; \
88 @touch setup-build.stamp
91 setup.stamp
: setup-build.stamp
97 scan-build.stamp
: $(HFILE_GLOB
) $(CFILE_GLOB
) $(srcdir)/$(DOC_MODULE
)-*.txt
$(content_files
)
99 @
test -f
$(DOC_MODULE
)-sections.txt || \
100 cp
$(srcdir)/$(DOC_MODULE
)-sections.txt
$(builddir
)
102 $(AM_V_GEN
)gtkdoc-scan
--module
=$(DOC_MODULE
) \
103 --source-dir
=$(srcdir)/$(DOC_SOURCE_DIR
) \
104 --source-dir
=$(builddir
)/$(DOC_SOURCE_DIR
) \
105 --ignore-decorators
="__ul_attribute__\(.*\)" \
106 --ignore-headers
="$(IGNORE_HFILES)" \
107 --output-dir
=$(builddir
) \
108 $(SCAN_OPTIONS
) $(EXTRA_HFILES
)
110 @ if grep
-l
'^..*$$' $(srcdir)/$(DOC_MODULE
).types
> /dev
/null
2>&1 ; then \
111 CC
="$(GTKDOC_CC)" LD
="$(GTKDOC_LD)" RUN
="$(GTKDOC_RUN)" \
112 CFLAGS
="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS
="$(GTKDOC_LIBS) \
113 $(LDFLAGS)" gtkdoc-scangobj
$(SCANGOBJ_OPTIONS
) \
114 --module
=$(DOC_MODULE
) --output-dir
=$(builddir
) ; \
116 for i in
$(SCANOBJ_FILES
) ; do \
117 test -f
$$i || touch
$$i ; \
120 @ touch scan-build.stamp
122 $(DOC_MODULE
)-decl.txt
$(SCANOBJ_FILES
) $(DOC_MODULE
)-sections.txt
$(DOC_MODULE
)-overrides.txt
: scan-build.stamp
127 #tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(srcdir)/$(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
128 # @echo 'gtk-doc: Rebuilding template files'
129 # test -z $(builddir)/tmpl || $(MKDIR_P) $(builddir)/tmpl
130 # gtkdoc-mktmpl --module=$(DOC_MODULE) \
132 # touch tmpl-build.stamp
134 #tmpl.stamp: tmpl-build.stamp
143 sgml-build.stamp
: setup.stamp
$(HFILE_GLOB
) $(CFILE_GLOB
) $(DOC_MODULE
)-decl.txt
$(DOC_MODULE
)-sections.txt
$(expand_content_files
)
144 $(AM_V_GEN
)gtkdoc-mkdb
--module
=$(DOC_MODULE
) \
145 --source-dir
=$(srcdir)/$(DOC_SOURCE_DIR
) \
146 --source-dir
=$(builddir
)/$(DOC_SOURCE_DIR
) \
147 --output-format
=xml \
148 --ignore-files
="$(IGNORE_HFILES)" \
149 --expand-content-files
="$(expand_content_files)" \
150 --main-sgml-file
=$(srcdir)/$(DOC_MAIN_SGML_FILE
) \
152 @touch sgml-build.stamp
154 sgml.stamp
: sgml-build.stamp
159 html-build.stamp
: sgml.stamp
$(srcdir)/$(DOC_MAIN_SGML_FILE
) $(content_files
)
160 @
rm -rf
$(builddir
)/html
161 @
$(MKDIR_P
) $(builddir
)/html
162 $(AM_V_GEN
)cd
$(builddir
)/html
&& \
163 gtkdoc-mkhtml
--path
="$(abs_builddir):$(abs_builddir)/xml:$(abs_srcdir)" \
166 $(abs_srcdir
)/$(DOC_MAIN_SGML_FILE
)
168 @
test "x$(HTML_IMAGES)" = "x" || \
169 ( cd
$(srcdir) && cp
$(HTML_IMAGES
) $(abs_builddir
)/html
)
171 $(AM_V_GEN
)gtkdoc-fixxref
--module-dir
=html \
172 --module
=$(DOC_MODULE
) \
173 --html-dir
=$(HTML_DIR
) \
175 @touch html-build.stamp
184 rm -rf xml html
$(REPORT_FILES
) *.stamp \
185 $(DOC_MODULE
)-overrides.txt \
186 $(DOC_MODULE
)-decl-list.txt
$(DOC_MODULE
)-decl.txt
187 test $(abs_builddir
) == $(abs_srcdir
) || \
188 rm -f
$(DOC_MODULE
)-*.txt
$(DOC_MODULE
)-*.xml
*.xml.in
191 installfiles
=`echo $(builddir)/html/*`; \
192 if
test "$$installfiles" = '$(builddir)/html/*'; \
193 then echo
'-- Nothing to install' ; \
195 if
test -n
"$(DOC_MODULE_VERSION)"; then \
196 installdir
="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
198 installdir
="$(DESTDIR)$(TARGET_DIR)"; \
200 $(mkinstalldirs
) $${installdir} ; \
201 for i in
$$installfiles; do \
202 echo
'-- Installing '$$i ; \
203 $(INSTALL_DATA
) $$i $${installdir}; \
205 if
test -n
"$(DOC_MODULE_VERSION)"; then \
206 mv
-f
$${installdir}/$(DOC_MODULE
).devhelp2 \
207 $${installdir}/$(DOC_MODULE
)-$(DOC_MODULE_VERSION
).devhelp2
; \
208 mv
-f
$${installdir}/$(DOC_MODULE
).devhelp \
209 $${installdir}/$(DOC_MODULE
)-$(DOC_MODULE_VERSION
).devhelp
; \
211 ! which gtkdoc-rebase
>/dev
/null
2>&1 || \
212 gtkdoc-rebase
--relative
--dest-dir
=$(DESTDIR
) --html-dir
=$${installdir} ; \
216 if
test -n
"$(DOC_MODULE_VERSION)"; then \
217 installdir
="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
219 installdir
="$(DESTDIR)$(TARGET_DIR)"; \
221 rm -rf
$${installdir}
224 # Require gtk-doc when making dist
230 @echo
"*** gtk-doc must be installed and enabled in order to make dist"
234 #dist-hook: dist-check-gtkdoc dist-hook-local sgml.stamp html-build.stamp
235 # mkdir $(distdir)/tmpl
236 # mkdir $(distdir)/xml
237 # mkdir $(distdir)/html
238 # -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
239 # -cp $(srcdir)/xml/*.xml $(distdir)/xml
240 # cp $(srcdir)/html/* $(distdir)/html
241 # -cp $(srcdir)/$(DOC_MODULE).types $(distdir)/
242 # -cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/
243 # cd $(distdir) && rm -f $(DISTCLEANFILES)
244 # ! which gtkdoc-rebase >/dev/null 2>&1 || \
245 # gtkdoc-rebase --online --relative --html-dir=$(distdir)/html
247 #.PHONY : dist-hook-local docs