summaryrefslogtreecommitdiff
path: root/libmissioncontrol/Makefile.am
blob: 67088b1a5a06b85960f1f897c5733628280bf65b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
INCLUDES = $(DBUS_CFLAGS) $(TELEPATHY_CFLAGS) -I$(top_srcdir) \
	-DMC_DISABLE_DEPRECATED \
	-DLIBDIR="@libdir@" -DLIBVERSION="0"

BUILT_SOURCES = \
	mission-control-signals-marshal.c \
	mission-control-signals-marshal.h \
	mc-enum-types.c \
	mc-enum-types.h \
	mc-signals-marshal.c \
	mc-signals-marshal.h \
	mc-client-lib-gen.h

CLEANFILES = $(BUILT_SOURCES) stamp-mc-enum-types.h

lib_LTLIBRARIES = libmissioncontrol-client.la

libmissioncontrol_client_la_CFLAGS = $(GLIB_CFLAGS) $(GCONF_CFLAGS)
libmissioncontrol_client_la_SOURCES = \
        mc.c\
        mc-manager.c \
        mc-manager-priv.h \
        mc-protocol.c \
        mc-protocol-priv.h \
        mc-profile.c \
        mc-account.c \
        mc-account-priv.h \
        mc-account-monitor.c \
	mc-account-monitor-priv.h \
	mc-signals-marshal.c \
	mc-enum-types.c \
	mission-control-signals-marshal.c \
	mission-control.c

libmissioncontrol_client_includedir = $(includedir)/libmissioncontrol
libmissioncontrol_client_include_DATA = \
        mc.h \
        mc-account.h \
        mc-account-monitor.h \
	mc-enum-types.h \
        mc-profile.h \
        mc-protocol.h \
        mc-manager.h \
	mc-signals-marshal.h \
	mission-control-signals-marshal.h \
	mission-control.h

libmissioncontrol_client_la_LIBADD = $(GCONF_LIBS) $(GLIB_LIBS) $(DBUS_LIBS) $(TELEPATHY_LIBS)

libmissioncontrol_client_la_LDFLAGS = $(common_ldflags) \
				      -export-symbols-regex "^(mc_)|(mission_control_)" \
				      -version-info 0:0:0

mission_control_include = \
	mission-control-signals-marshal.h \
	mission-control.h

mc-client-lib-gen.h: $(top_builddir)/xml/MissionControl-gen.xml
	dbus-binding-tool --prefix=mc-client-lib --mode=glib-client $< > $@

%-marshal.h: %-marshal.list Makefile.am
	glib-genmarshal --header --prefix=$(subst -,_,$*)_marshal $< > $*-marshal.h

%-marshal.c: %-marshal.list Makefile.am
	glib-genmarshal --body --prefix=$(subst -,_,$*)_marshal $< > $*-marshal.c

mc-enum-types.h: stamp-mc-enum-types.h
	@true
stamp-mc-enum-types.h: Makefile $(mission_control_include) mc-enum-types.c
	( cd $(srcdir) && glib-mkenums \
		--fhead "#ifndef __MC_ENUM_TYPES_H__\n#define __MC_ENUM_TYPES_H__\n\n#include \"mission-control.h\"\n\nG_BEGIN_DECLS\n" \
		--fprod "/* enumerations from \"@filename@\" */\n" \
		--vhead "GType @enum_name@_get_type (void) G_GNUC_CONST;\n#define MC_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
		--ftail "G_END_DECLS\n\n#endif /* __MC_ENUM_TYPES_H__ */" \
	    $(mission_control_include) ) >> xgen-geth \
	&& (cmp -s xgen-geth mc-enum-types.h || cp xgen-geth mc-enum-types.h ) \
	&& rm -f xgen-geth \
	&& echo timestamp > $(@F)

mc-enum-types.c: Makefile $(mission_control_include)
	( cd $(srcdir) && glib-mkenums \
		--fhead "#include \"mc-enum-types.h\"\n#define g_intern_static_string(s) (s)\n" \
		--fprod "\n/* enumerations from \"@filename@\" */" \
		--ftail "\n#define __MC_ENUM_TYPES_C__\n" \
		--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[] = {" \
		--vprod "      { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
		--vtail "      { 0, NULL, NULL }\n    };\n    etype = g_@type@_register_static (g_intern_static_string (\"@EnumName@\"), values);\n  }\n  return etype;\n}\n" \
	    $(mission_control_include) ) > xgen-getc \
	&& cp xgen-getc mc-enum-types.c  \
	&& rm -f xgen-getc

bin_PROGRAMS = mc-account
mc_account_SOURCES = mc-account-cli.c
mc_account_LDADD = libmissioncontrol-client.la
noinst_PROGRAMS = test
test_SOURCES = test.c
test_LDADD = libmissioncontrol-client.la

EXTRA_DIST = \
	$(libmissioncontrol_client_include_DATA)