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