Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
make distcheck is now successful
[simgrid.git] / cruft / doc / gtk-doc.make
1 # -*- mode: makefile -*-
2
3 ####################################
4 # Everything below here is generic #
5 ####################################
6 htmldir = $(shell if test "x$(TARGET_DIR)" = x ; then echo @htmldir@/$(DOC_MODULE) ; else echo $(TARGET_DIR) ; fi)
7 html_DATA = $(wildcard html/*)
8
9 if GTK_DOC_USE_LIBTOOL
10 GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS)
11 GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS)
12 else
13 GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CFLAGS) $(CFLAGS)
14 GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS)
15 endif
16
17 # We set GPATH here; this gives us semantics for GNU make
18 # which are more like other make's VPATH, when it comes to
19 # whether a source that is a target of one rule is then
20 # searched for in VPATH/GPATH.
21 #
22 GPATH = $(srcdir)
23
24 EXTRA_DIST = $(wildcard                 \
25         $(content_files)                \
26         $(HTML_IMAGES)                  \
27         $(DOC_MAIN_SGML_FILE)           \
28         $(DOC_MODULE).types             \
29         $(DOC_MODULE)-sections.txt      \
30         $(DOC_MODULE)-overrides.txt     )
31
32 DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
33            $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
34
35 SCANOBJ_FILES =                  \
36         $(DOC_MODULE).args       \
37         $(DOC_MODULE).hierarchy  \
38         $(DOC_MODULE).interfaces \
39         $(DOC_MODULE).prerequisites \
40         $(DOC_MODULE).signals
41
42 CLEANFILES = $(SCANOBJ_FILES) $(DOC_MODULE)-unused.txt $(DOC_STAMPS)
43
44 if ENABLE_GTK_DOC
45 all-local: html-build.stamp
46
47 #### scan ####
48
49 scan-build.stamp: $(HFILE_GLOB)
50         @echo '*** Scanning header files ***'
51         @-chmod -R u+w $(srcdir)
52         if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null ; then \
53             CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
54         else \
55             cd $(srcdir) ; \
56             for i in $(SCANOBJ_FILES) ; do \
57                test -f $$i || touch $$i ; \
58             done \
59         fi
60         cd $(srcdir) && \
61           gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
62         touch scan-build.stamp
63
64 $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): scan-build.stamp
65         @true
66
67 #### templates ####
68
69 tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
70         @echo '*** Rebuilding template files ***'
71         @-chmod -R u+w $(srcdir)
72         cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE)
73         touch tmpl-build.stamp
74
75 tmpl.stamp: tmpl-build.stamp
76         @true
77
78 #### xml ####
79
80 sgml-build.stamp: tmpl.stamp $(CFILE_GLOB) $(srcdir)/tmpl/*.sgml
81         @echo '*** Building XML ***'
82         @-chmod -R u+w $(srcdir)
83         cd $(srcdir) && \
84         gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml $(MKDB_OPTIONS)
85         touch sgml-build.stamp
86
87 sgml.stamp: sgml-build.stamp
88         @true
89
90 #### html ####
91
92 html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
93         @echo '*** Building HTML ***'
94         @-chmod -R u+w $(srcdir)
95         rm -rf $(srcdir)/html 
96         mkdir $(srcdir)/html
97         cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
98         test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
99         @echo '-- Fixing Crossreferences' 
100         cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
101         touch html-build.stamp
102 else
103 all-local:
104 endif
105
106 ##############
107
108 clean-local:
109         rm -f *~ *.bak
110         rm -rf .libs
111
112 maintainer-clean-local: clean
113         cd $(srcdir) && rm -rf xml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
114
115 dist-hook: dist-hook-local
116         mkdir $(distdir)/tmpl
117         mkdir $(distdir)/xml
118         mkdir $(distdir)/html
119         -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
120         -cp $(srcdir)/xml/*.xml $(distdir)/xml
121         -cp $(srcdir)/html/* $(distdir)/html
122
123 .PHONY : dist-hook-local