]> git.0d.be Git - empathy.git/blob - extensions/Makefile.am
Initial port from telepathy-stream-engine to telepathy-farsight
[empathy.git] / extensions / Makefile.am
1 tools_dir = $(top_srcdir)/tools
2
3 AM_CFLAGS = \
4     -I$(top_srcdir) \
5     -I$(top_builddir) \
6     $(WARN_CFLAGS) \
7     $(LIBEMPATHY_CFLAGS)
8
9 EXTRA_DIST = \
10     all.xml \
11     generic-types.xml \
12     misc.xml \
13     Channel_Handler.xml \
14     Tube_Handler.xml \
15     Channel_Type_File_Transfer.xml \
16     Channel_Interface_Tube.xml \
17     Channel_Type_DBus_Tube.xml \
18     Channel_Type_Stream_Tube.xml
19
20 noinst_LTLIBRARIES = libemp-extensions.la
21
22 libemp_extensions_la_LIBADD = \
23     $(TP_GLIB_LIBS)
24
25 # The client-specific parts are built into a separate .o file, so the linker
26 # can discard them when linking services. The service-specific parts are
27 # in svc-*.c, so we don't need an extensions-svc.c.
28 libemp_extensions_la_SOURCES = \
29     extensions.c \
30     extensions-cli.c \
31     extensions.h
32
33 nodist_libemp_extensions_la_SOURCES = \
34     _gen/signals-marshal.c \
35     _gen/signals-marshal.h \
36     _gen/signals-marshal.list \
37     _gen/register-dbus-glib-marshallers-body.h \
38     _gen/enums.h \
39     _gen/gtypes.h \
40     _gen/gtypes-body.h \
41     _gen/interfaces.h \
42     _gen/interfaces-body.h \
43     _gen/cli-misc.h \
44     _gen/cli-misc-body.h \
45     _gen/svc-misc.h \
46     _gen/svc-misc.c
47
48 BUILT_SOURCES = \
49     _gen/all.xml \
50     _gen/misc.xml \
51     $(nodist_libemp_extensions_la_SOURCES) \
52     extensions.html
53
54 CLEANFILES = $(BUILT_SOURCES)
55
56 XSLTPROCFLAGS = --nonet --novalid
57
58 # Generated files which can be generated for all categories simultaneously
59
60 _gen/all.xml: all.xml $(wildcard *.xml)
61         $(mkdir_p) _gen
62         $(XSLTPROC) $(XSLTPROCFLAGS) --xinclude $(tools_dir)/identity.xsl \
63                 $< > $@
64
65 extensions.html: _gen/all.xml $(tools_dir)/doc-generator.xsl
66         $(XSLTPROC) $(XSLTPROCFLAGS) \
67                 --param "allow-undefined-interfaces" "true()" \
68                 $(tools_dir)/doc-generator.xsl \
69                 $< > $@
70
71 _gen/gtypes.h _gen/gtypes-body.h: _gen/all.xml \
72         $(top_srcdir)/tools/glib-gtypes-generator.py
73         $(PYTHON) $(top_srcdir)/tools/glib-gtypes-generator.py \
74                 $< _gen/gtypes Emp
75
76 _gen/signals-marshal.list: _gen/all.xml \
77         $(tools_dir)/glib-signals-marshal-gen.py
78         $(PYTHON) $(tools_dir)/glib-signals-marshal-gen.py $< > $@
79
80 _gen/signals-marshal.h: _gen/signals-marshal.list Makefile.am
81         $(GLIB_GENMARSHAL) --header --prefix=_emp_ext_marshal $< > $@
82
83 _gen/signals-marshal.c: _gen/signals-marshal.list Makefile.am
84         { echo '#include "_gen/signals-marshal.h"' && \
85         $(GLIB_GENMARSHAL) --body --prefix=_emp_ext_marshal $< ; } > $@
86
87 _gen/register-dbus-glib-marshallers-body.h: _gen/all.xml \
88         $(tools_dir)/glib-client-marshaller-gen.py
89         $(PYTHON) $(tools_dir)/glib-client-marshaller-gen.py $< \
90                 _emp_ext > $@
91
92 _gen/enums.h: _gen/all.xml \
93         $(tools_dir)/c-constants-gen.py
94         $(PYTHON) $(tools_dir)/c-constants-gen.py \
95                 Emp \
96                 $< > $@
97
98 _gen/interfaces-body.h _gen/interfaces.h: _gen/all.xml \
99         $(tools_dir)/glib-interfaces-gen.py
100         $(PYTHON) $(tools_dir)/glib-interfaces-gen.py \
101                 Emp _gen/interfaces-body.h _gen/interfaces.h $<
102
103 # Generated files which must be generated per "category". Each TpProxy
104 # subclass you want to use with --subclass will need to have its own category,
105 # although you can subdivide further if you want.
106
107 _gen/misc.xml: misc.xml $(wildcard *.xml)
108         $(mkdir_p) _gen
109         $(XSLTPROC) $(XSLTPROCFLAGS) --xinclude $(tools_dir)/identity.xsl \
110                 $< > $@
111
112 _gen/cli-misc-body.h _gen/cli-misc.h: _gen/misc.xml \
113         $(tools_dir)/glib-client-gen.py
114         $(PYTHON) $(tools_dir)/glib-client-gen.py \
115                 --group=misc \
116                 --subclass=TpProxy \
117                 --subclass-assert=TP_IS_PROXY \
118                 --iface-quark-prefix=EMP_IFACE_QUARK \
119                 --tp-proxy-api=0.7.6 \
120                 $< Emp_Cli _gen/cli-misc
121
122 _gen/svc-misc.c _gen/svc-misc.h: _gen/misc.xml \
123         $(tools_dir)/glib-ginterface-gen.py
124         $(PYTHON) $(tools_dir)/glib-ginterface-gen.py \
125                 --filename=_gen/svc-misc \
126                 --signal-marshal-prefix=_emp_ext \
127                 --include='<telepathy-glib/dbus.h>' \
128                 --include='"_gen/signals-marshal.h"' \
129                 --not-implemented-func='tp_dbus_g_method_return_not_implemented' \
130                 --allow-unstable \
131                 $< Emp_Svc_