added gstreamer-sections.txt
[platform/upstream/gstreamer.git] / docs / gst / Makefile.am
1 ## Process this file with automake to produce Makefile.in
2
3 # The name of the module.
4 DOC_MODULE=gstreamer
5
6 # The top-level SGML file.
7 DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
8
9 # The directory containing the source code (if it contains documentation).
10 DOC_SOURCE_DIR=$(top_srcdir)/gst
11
12 # FIXME :
13 # there's something wrong with gstreamer-sections.txt not being in the dist
14 # maybe it doesn't resolve; we're adding it below for now
15 EXTRA_DIST = gstreamer.types.in gstreamer.hierarchy $(DOC_MODULE)-sections.txt gstreamer-sections.txt $(DOC_MAIN_SGML_FILE)
16
17 HTML_DIR=$(datadir)/gstreamer/html
18
19 GST_LIBS += $(top_builddir)/gst/elements/libgstelements.la \
20             $(top_builddir)/gst/autoplug/libgststaticautoplug.la \
21             $(top_builddir)/gst/autoplug/libgststaticautoplugrender.la
22
23
24 TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
25
26 tmpl_sources =                          \
27         tmpl/cothreads.sgml             \
28         tmpl/gst.sgml                   \
29         tmpl/gstinfo.sgml               \
30         tmpl/gstautoplug.sgml           \
31         tmpl/gstscheduler.sgml          \
32         tmpl/gstprops.sgml              \
33         tmpl/gstcaps.sgml               \
34         tmpl/gstbin.sgml                \
35         tmpl/gstbuffer.sgml             \
36         tmpl/gstbufferpool.sgml         \
37         tmpl/gstdisksrc.sgml            \
38         tmpl/gstelement.sgml            \
39         tmpl/gstfakesink.sgml           \
40         tmpl/gstfakesrc.sgml            \
41         tmpl/gstfdsink.sgml             \
42         tmpl/gstfdsrc.sgml              \
43         tmpl/gsthttpsrc.sgml            \
44         tmpl/gstidentity.sgml           \
45         tmpl/gstlog.sgml                \
46         tmpl/gstobject.sgml             \
47         tmpl/gstpad.sgml                \
48         tmpl/gstpipeline.sgml           \
49         tmpl/gstplugin.sgml             \
50         tmpl/gstqueue.sgml              \
51         tmpl/gstreamer-unused.sgml      \
52         tmpl/gstsinesrc.sgml            \
53         tmpl/gsttee.sgml                \
54         tmpl/gstthread.sgml             \
55         tmpl/gsttrace.sgml              \
56         tmpl/gsttype.sgml               \
57         tmpl/gstutils.sgml              \
58         tmpl/gstxml.sgml                \
59         tmpl/spectrum.sgml              
60
61 gstreamer_docdir = $(HTML_DIR)
62 gstreamer_doc_DATA =            \
63         gstreamer.types         \
64         gstreamer.hierarchy     \
65         gstreamer-sections.txt
66
67 SCANOBJS_FILES =                \
68         $(DOC_MODULE).signals   \
69         $(DOC_MODULE).hierarchy \
70         $(DOC_MODULE).args
71
72 # FIXME: the dependencies here are rather broken.  Really, html/book1.html
73 # should be rebuilt if any file in $(top_srcdir)/gst is updated.
74 if HAVE_GTK_DOC
75 html/book1.html: 
76         $(MAKE) html
77 else
78 html/book1.html:
79 endif
80
81 gstreamer-decl.txt:
82         gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers=""
83
84 # The LD env-var below is a nasty hack to make this work on versions of
85 # gtkdoc-scanobj which don't understand libtool
86 scanobj: $(srcdir)/$(DOC_MODULE).types
87         cd ../../gst/;$(MAKE) libgst.la
88         cd ../../gst/elements/;$(MAKE) libgstelements.la
89         rm gstreamer-scan.o; ln -s gstreamer-scan.lo gstreamer-scan.o
90         env CC="$(LIBTOOL) $(CC)" LD="cp gstreamer-scan.lo gstreamer-scan.o;$(LIBTOOL) $(CC)" CFLAGS="$(LIBGST_CFLAGS) $(GLIB_CFLAGS) $(XML_CFLAGS) -I../../" LDFLAGS="$(GST_LIBS)"\
91         gtkdoc-scanobj --module=$(DOC_MODULE) 
92         gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR)
93
94 tmpl: scanobj gstreamer-decl.txt
95         gtkdoc-mktmpl --module=$(DOC_MODULE)
96
97 sgml: tmpl
98         gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR)
99
100 html: sgml
101         if ! test -d html ; then mkdir html ; fi
102         -cd html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
103
104 clean-local:
105         rm -rf *~ *.bak *.signals *-unused.txt *.args *.o *.lo .libs sgml html
106
107 distclean-local: clean
108         rm -rf $(DOC_MODULE)-decl-list.txt
109
110 install-data-local: html/book1.html
111         $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
112         (installfiles=`echo $(srcdir)/html/*.html`; \
113         if test "$$installfiles" = '$(srcdir)/html/*.html'; \
114         then echo '-- Nothing to install' ; \
115         else \
116           for i in $$installfiles; do \
117             echo '-- Installing '$$i ; \
118             $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
119           done; \
120           echo '-- Installing $(srcdir)/html/index.sgml' ; \
121           $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR); \
122           echo '-- Fixing Crossreferences' ; \
123           gtkdoc-fixxref --module=$(DOC_MODULE) --html-dir=$(HTML_DIR)|| true; \
124         fi)
125
126 dist-hook: html/book1.html
127         if ! test -d $(distdir)/tmpl ; then mkdir $(distdir)/tmpl ; fi
128         -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
129
130 .PHONY : html sgml tmpl