1INCLUDES = \
2	   $(TELEPATHY_CFLAGS) \
3	   $(DBUS_CFLAGS) \
4	   $(GLIB_CFLAGS) \
5	   $(NETWORK_MANAGER_CFLAGS) \
6	   $(CONNMAN_CFLAGS) \
7	   $(UPOWER_GLIB_CFLAGS) \
8	   -DG_LOG_DOMAIN=\"mcd\" \
9	   -DMCD_PLUGIN_LOADER_DIR=\"@libdir@/mission-control-plugins.@MCP_ABI_VERSION@\" \
10	   -DMC_DISABLE_DEPRECATED -I$(top_srcdir)
11
12AM_CFLAGS = $(ERROR_CFLAGS)
13
14mc_headers = \
15	mcd-account.h \
16	mcd-account-conditions.h \
17	mcd-account-manager.h \
18	mcd-account-manager-default.h \
19	mcd-debug.h \
20	mcd-mission.h \
21	mcd-operation.h \
22	mcd-master.h \
23	mcd-manager.h \
24	mcd-connection.h \
25	mcd-connection-service-points.h \
26	mcd-channel.h \
27	mcd-dispatcher.h \
28	mcd-service.h \
29	mcd-storage.h
30
31if ENABLE_LIBACCOUNTS_SSO
32mc_headers += \
33	mcd-account-manager-sso.h \
34	$(NULL)
35
36if ENABLE_LIBACCOUNTS_GLIB_HIDDEN
37mc_headers += \
38	mcd-storage-ag-hidden.h \
39	$(NULL)
40endif
41
42endif
43
44mc_gen_headers = \
45	_gen/cli-Connection_Manager_Interface_Account_Storage.h \
46	_gen/enums.h \
47	_gen/gtypes.h \
48	_gen/interfaces.h \
49	_gen/svc-Account_Interface_Conditions.h \
50	_gen/svc-Account_Interface_External_Password_Storage.h \
51	_gen/svc-Account_Interface_Hidden.h \
52	_gen/svc-Account_Manager_Interface_Hidden.h \
53	_gen/svc-dispatcher.h
54
55nodist_libmcd_convenience_la_SOURCES = \
56	_gen/cli-Connection_Manager_Interface_Account_Storage-body.h \
57	_gen/gtypes-body.h \
58	_gen/interfaces-body.h \
59	_gen/register-dbus-glib-marshallers-body.h \
60	_gen/svc-Account_Interface_Conditions.c \
61	_gen/svc-Account_Interface_External_Password_Storage.c \
62	_gen/svc-Account_Interface_Hidden.c \
63	_gen/svc-Account_Manager_Interface_Hidden.c \
64	_gen/svc-dispatcher.c \
65	mcd-enum-types.c \
66	mcd-enum-types.h \
67	$(mc_gen_headers)
68
69BUILT_SOURCES = \
70	_gen/mcd.xml \
71	stamp-mcd-enum-types.h \
72	$(nodist_libmcd_convenience_la_SOURCES)
73
74CLEANFILES = \
75	$(BUILT_SOURCES) \
76	_gen/cli-Connection_Manager_Interface_Account_Storage-gtk-doc.h \
77	_gen/svc-dispatcher-gtk-doc.h \
78	_gen/svc-Account_Interface_Hidden-gtk-doc.h \
79	_gen/svc-Account_Interface_External_Password_Storage-gtk-doc.h \
80	_gen/svc-Account_Interface_Conditions-gtk-doc.h \
81	_gen/svc-Account_Manager_Interface_Hidden-gtk-doc.h \
82	_gen/gtypes-gtk-doc.h \
83	$(NULL)
84
85libmcd_convenience_la_LIBADD = \
86	$(top_builddir)/mission-control-plugins/libmission-control-plugins.la \
87	$(TELEPATHY_LIBS) \
88	$(DBUS_LIBS) \
89	$(GLIB_LIBS) \
90	$(NETWORK_MANAGER_LIBS) \
91	$(CONNMAN_LIBS) \
92	$(UPOWER_GLIB_LIBS) \
93	$(NULL)
94
95if ENABLE_LIBACCOUNTS_SSO
96libmcd_convenience_la_LIBADD += $(LIBACCOUNTS_SSO_LIBS)
97INCLUDES += $(LIBACCOUNTS_SSO_CFLAGS)
98endif
99
100if ENABLE_AEGIS
101libmcd_convenience_la_LIBADD += $(top_builddir)/plugins/libmcp-aegis.la
102endif
103
104noinst_LTLIBRARIES = libmcd-convenience.la
105
106libmcd_convenience_la_SOURCES = \
107	mcd-account.c \
108	mcd-account-addressing.h \
109	mcd-account-conditions.c \
110	mcd-account-config.h \
111	mcd-account-connection.c \
112	mcd-account-requests.c \
113	mcd-account-addressing.c \
114	mcd-account-manager.c \
115	mcd-account-manager-priv.h \
116	mcd-account-manager-default.c \
117	mcd-account-priv.h \
118	mcd-client.c \
119	mcd-client-priv.h \
120	channel-utils.c \
121	channel-utils.h \
122	client-registry.c \
123	client-registry.h \
124	connectivity-monitor.c \
125	connectivity-monitor.h \
126	gtypes.c \
127	mcd-dbusprop.c \
128	mcd-dbusprop.h \
129	mcd-debug.c \
130	mcd-dispatch-operation.c \
131	mcd-dispatch-operation-priv.h \
132	mcd-handler-map.c \
133	mcd-handler-map-priv.h \
134	mcd-misc.c \
135	mcd-misc.h \
136	mcd-mission.c \
137	mcd-mission-priv.h \
138	mcd-operation.c \
139	mcd-master.c \
140	mcd-master-priv.h \
141	mcd-manager.c \
142	mcd-manager-priv.h \
143	mcd-connection.c \
144	mcd-connection-service-points.c \
145	mcd-connection-priv.h \
146	mcd-dispatcher.c \
147	mcd-dispatcher-priv.h \
148	mcd-channel.c \
149	mcd-channel-priv.h \
150	mcd-service.c \
151	mcd-slacker.c \
152	mcd-slacker.h \
153	mcd-storage.c \
154	mcd-storage.h \
155	plugin-dispatch-operation.c \
156	plugin-dispatch-operation.h \
157	plugin-loader.c \
158	plugin-loader.h \
159	plugin-request.c \
160	plugin-request.h \
161	request.c \
162	request.h \
163	sp_timestamp.h \
164	$(mc_headers)
165
166if ENABLE_LIBACCOUNTS_SSO
167libmcd_convenience_la_SOURCES += \
168	mcd-account-manager-sso.c \
169	$(NULL)
170
171if ENABLE_LIBACCOUNTS_GLIB_HIDDEN
172libmcd_convenience_la_SOURCES += \
173	mcd-storage-ag-hidden.c \
174	$(NULL)
175endif
176
177endif
178
179mcd-enum-types.h: stamp-mcd-enum-types.h
180	$(AM_V_GEN)true
181stamp-mcd-enum-types.h: Makefile $(mc_headers) mcd-enum-types.c
182	$(AM_V_GEN)( cd $(srcdir) && glib-mkenums \
183		--fhead "#ifndef __MCD_ENUM_TYPES_H__\n#define __MCD_ENUM_TYPES_H__\n\n#include \"mcd-mission.h\"\n#include \"mcd-channel.h\"\n\nG_BEGIN_DECLS\n" \
184		--fprod "/* enumerations from \"@filename@\" */\n" \
185		--vhead "GType @enum_name@_get_type (void) G_GNUC_CONST;\n#define MCD_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
186		--ftail "G_END_DECLS\n\n#endif /* __MCD_ENUM_TYPES_H__ */" \
187	    $(mc_headers) ) >> xgen-geth \
188	&& (cmp -s xgen-geth mcd-enum-types.h || cp xgen-geth mcd-enum-types.h ) \
189	&& rm -f xgen-geth \
190	&& echo timestamp > $(@F)
191
192mcd-enum-types.c: Makefile $(mc_headers)
193	$(AM_V_GEN)( cd $(srcdir) && glib-mkenums \
194		--fhead "#include \"mcd-enum-types.h\"\n#define g_intern_static_string(s) (s)\n" \
195		--fprod "\n/* enumerations from \"@filename@\" */" \
196		--ftail "\n#define __MCD_ENUM_TYPES_C__\n" \
197		--vhead "GType\n@enum_name@_get_type (void)\n{\n  static GType etype = 0;\n  if (etype == 0) {\n    static const G@Type@Value values[] = {" \
198		--vprod "      { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
199		--vtail "      { 0, NULL, NULL }\n    };\n    etype = g_@type@_register_static (g_intern_static_string (\"@EnumName@\"), values);\n  }\n  return etype;\n}\n" \
200	    $(mc_headers) ) > xgen-getc \
201	&& cp xgen-getc mcd-enum-types.c  \
202	&& rm -f xgen-getc
203
204EXTRA_DIST = \
205	mcd.xml \
206	dispatcher.xml \
207	stamp-mcd-enum-types.h
208
209Android.mk: Makefile.am $(nodist_libmcd_convenience_la_SOURCES)
210	androgenizer  -:PROJECT telepathy-mission-control \
211	 -:STATIC libmcd-convenience \
212	 -:TAGS eng debug \
213	 -:REL_TOP $(top_srcdir) -:ABS_TOP $(abs_top_srcdir) \
214	 -:SOURCES $(libmcd_convenience_la_SOURCES) $(nodist_libmcd_convenience_la_SOURCES) \
215	 -:CFLAGS $(DEFAULT_INCLUDES) $(INCLUDES) $(DEFS) $(CFLAGS) $(AM_CFLAGS) \
216	 -:CPPFLAGS $(CPPFLAGS) $(AM_CPPFLAGS) \
217	 -:LDFLAGS $(libmcd_convenience_la_LIBADD) \
218	> $@
219
220# ---- telepathy-glib-style code generation ----
221
222tools_dir = $(top_srcdir)/tools
223
224_gen/mcd.xml: mcd.xml $(wildcard $(top_srcdir)/xml/*.xml)
225	$(AM_V_at)$(mkdir_p) _gen
226	$(AM_V_GEN)$(XSLTPROC) $(XSLTPROCFLAGS) --xinclude $(tools_dir)/identity.xsl \
227		$< > $@
228
229_gen/%.xml: $(top_srcdir)/xml/%.xml $(wildcard $(top_srcdir)/xml/*.xml)
230	$(AM_V_at)$(mkdir_p) _gen
231	$(AM_V_GEN)$(XSLTPROC) $(XSLTPROCFLAGS) --xinclude $(tools_dir)/identity.xsl \
232		$< > $@
233
234# Generated files which can be done for all "classes" at once
235
236_gen/register-dbus-glib-marshallers-body.h: _gen/mcd.xml \
237	$(tools_dir)/glib-client-marshaller-gen.py Makefile.am
238	$(AM_V_GEN)$(PYTHON) $(tools_dir)/glib-client-marshaller-gen.py $< \
239		_mcd_ext > $@
240
241_gen/enums.h: _gen/mcd.xml $(tools_dir)/c-constants-generator.xsl
242	$(AM_V_GEN)$(XSLTPROC) $(XSLTPROCFLAGS) \
243		--stringparam mixed-case-prefix mc \
244		$(tools_dir)/c-constants-generator.xsl \
245		$< > $@
246
247_gen/interfaces.h: _gen/mcd.xml \
248	$(tools_dir)/glib-interfaces-generator.xsl \
249	$(tools_dir)/c-interfaces-generator.xsl
250	$(AM_V_GEN)$(XSLTPROC) $(XSLTPROCFLAGS) \
251		--stringparam mixed-case-prefix mc \
252		$(tools_dir)/glib-interfaces-generator.xsl \
253		$< > $@
254
255_gen/interfaces-body.h: _gen/mcd.xml \
256	$(tools_dir)/glib-interfaces-body-generator.xsl \
257	$(tools_dir)/c-interfaces-generator.xsl
258	$(AM_V_GEN)$(XSLTPROC) $(XSLTPROCFLAGS) \
259		--stringparam mixed-case-prefix mc \
260		$(tools_dir)/glib-interfaces-body-generator.xsl \
261		$< > $@
262
263_gen/gtypes.h: _gen/gtypes-gtk-doc.h
264	@: # generated as a side-effect
265
266_gen/gtypes-body.h: _gen/gtypes-gtk-doc.h
267	@: # generated as a side-effect
268
269_gen/gtypes-gtk-doc.h: _gen/mcd.xml \
270	$(top_srcdir)/tools/glib-gtypes-generator.py
271	$(AM_V_GEN)$(PYTHON) $(top_srcdir)/tools/glib-gtypes-generator.py \
272		$< _gen/gtypes mc
273
274
275
276# Generated files which must be generated per "class".
277# (Currently the only "class" is nmc4, but the new API will need "classes"
278# like account, account-manager, ...)
279
280_gen/%.xml: $(top_srcdir)/xml/%.xml $(wildcard $(top_srcdir)/xml/*.xml) Makefile.am
281	$(AM_V_at)$(mkdir_p) _gen
282	$(AM_V_GEN)$(XSLTPROC) $(XSLTPROCFLAGS) --xinclude $(tools_dir)/identity.xsl \
283		$< > $@
284
285_gen/%.xml: %.xml $(wildcard $(top_srcdir)/xml/*.xml) Makefile.am
286	$(AM_V_at)$(mkdir_p) _gen
287	$(AM_V_GEN)$(XSLTPROC) $(XSLTPROCFLAGS) --xinclude $(tools_dir)/identity.xsl \
288		$< > $@
289
290_gen/cli-%-body.h: _gen/cli-%-gtk-doc.h
291	@: # generated as a side-effect
292
293_gen/cli-%.h: _gen/cli-%-gtk-doc.h
294	@: # generated as a side-effect
295
296_gen/cli-%-gtk-doc.h: _gen/%.xml \
297	$(tools_dir)/glib-client-gen.py Makefile.am
298	$(AM_V_GEN)$(PYTHON) $(tools_dir)/glib-client-gen.py \
299		--group=`echo $* | tr x- x_` \
300		--iface-quark-prefix=MC_IFACE_QUARK \
301		--tp-proxy-api=0.7.6 \
302		$< Mc_Cli _gen/cli-$*
303
304_gen/svc-%.c: _gen/svc-%-gtk-doc.h
305	@: # generated as a side-effect
306
307_gen/svc-%.h: _gen/svc-%-gtk-doc.h
308	@: # generated as a side-effect
309
310_gen/svc-%-gtk-doc.h: _gen/%.xml \
311	$(tools_dir)/glib-ginterface-gen.py Makefile.am
312	$(AM_V_GEN)$(PYTHON) $(tools_dir)/glib-ginterface-gen.py \
313		--filename=_gen/svc-$* \
314		--signal-marshal-prefix=_mcd_ext \
315		--include='<telepathy-glib/telepathy-glib.h>' \
316		--not-implemented-func='tp_dbus_g_method_return_not_implemented' \
317		--allow-unstable \
318		$< Mc_Svc_
319
320include ../tools/header-checks.am
321
322check-local: header-decl-macro-check
323