Update to generate dbus headers bindings
[mmediamanager.git] / src / Makefile.am
blob151e2b0f5f6a3167a821429f3380583639496be4
1 ## Process this file with automake to produce Makefile.in
3 AM_CPPFLAGS = \
4   -DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \
5   -DPACKAGE_SRC_DIR=\""$(srcdir)"\" \
6   -DPACKAGE_DATA_DIR=\""$(datadir)"\" \
7   $(MMEDIAMANAGER_CFLAGS)
9 AM_CFLAGS =\
10   -Wall\
11   -Werror\
12   -g
14 lib_LTLIBRARIES = \
15   libmmanager.la
17 libmmanager_includedir=$(includedir)/libmmanager
19 libmmanager_headers = \
20   mm.h \
21   mm-application.h \
22   mm-application-provider.h \
23   mm-category.h \
24   mm-category-provider.h \
25   mm-dbus-manager.h \
26   mm-hit.h \
27   mm-hit-collection.h \
28   mm-hit-collection-provider.h \
29   mm-manager.h \
30   mm-module-manager.h \
31   mm-filter.h \
32   mm-attribute.h \
33   mm-base-attributes.h \
34   mm-filter-param.h \
35   mm-attribute-manager.h \
36   mm-attribute-base-manager.h \
37   mm-module.h \
38   mm-utils.h \
39   mm-types.h
41 libmmanager_include_HEADERS = \
42   $(libmmanager_headers) \
43   mm-type-builtins.h
45 libmmanager_la_SOURCES = \
46   mm-application.c\
47   mm-application-provider.c \
48   mm-category.c \
49   mm-category-provider.c \
50   mm-dbus-manager.c \
51   mm-hit.c \
52   mm-hit-collection.c \
53   mm-hit-collection-provider.c \
54   mm-manager.c \
55   mm-module.c \
56   mm-module-manager.c \
57   mm-type-builtins.c \
58   mm-filter.c \
59   mm-attribute.c \
60   mm-filter-param.c \
61   mm-attribute-manager.c \
62   mm-utils.c \
63   mm-attribute-base-manager.c
65 BUILT_SOURCES = \
66   mm-type-builtins.c    \
67   mm-type-builtins.h \
68   mm-dbus-manager-client-bindings.h \
69   mm-dbus-manager-server-bindings.h
71 stamp_files = \
72   stamp-mm-type-builtins.c \
73   stamp-mm-type-builtins.h \
74   stamp-mm-dbus-manager-client-bindings.h \
75   stamp-mm-dbus-manager-server-bindings.h
77 mm-type-builtins.c: stamp-mm-type-builtins.c Makefile
78         @true
79 stamp-mm-type-builtins.c: Makefile $(libmanager_headers)
80         $(GLIB_MKENUMS) \
81                 --fhead "#include <config.h>\n\n" \
82                 --fhead "#include \"mm-type-builtins.h\"\n\n" \
83                 --fprod "\n/* enumerations from \"@filename@\" */" \
84                 --fprod "\n#include \"@filename@\"" \
85                 --vhead "GType\n@enum_name@_get_type (void)\n{\n" \
86                 --vhead "  static GType type = 0;\n\n" \
87                 --vhead "  if (G_UNLIKELY (type == 0))\n  {\n" \
88                 --vhead "    static const G@Type@Value _@enum_name@_values[] = {" \
89                 --vprod "      { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
90                 --vtail "      { 0, NULL, NULL }\n    };\n\n" \
91                 --vtail "    type = g_@type@_register_static (\"@EnumName@\", _@enum_name@_values);\n  }\n\n" \
92                 --vtail "  return type;\n}\n\n" \
93                 $(libmmanager_headers) > xgen-$(@F) \
94         && ( cmp -s xgen-$(@F) $(@F:stamp-%=%) || cp xgen-$(@F) $(@F:stamp-%=%) ) \
95         && rm -f xgen-$(@F) \
96         && echo timestamp > $(@F)
98 mm-type-builtins.h: stamp-mm-type-builtins.h Makefile
99         @true
100 stamp-mm-type-builtins.h: Makefile $(libmanager_headers)
101         $(GLIB_MKENUMS) \
102                 --fhead "#ifndef __MM_TYPE_BUILTINS_H__\n" \
103                 --fhead "#define __MM_TYPE_BUILTINS_H__\n\n" \
104                 --fhead "#include <glib-object.h>\n\n" \
105                 --fhead "G_BEGIN_DECLS\n\n" \
106                 --ftail "G_END_DECLS\n\n" \
107                 --ftail "#endif /* __MM_TYPE_BUILTINS_H__ */\n" \
108                 --fprod "\n/* --- @filename@ --- */" \
109                 --eprod "#define MM_TYPE_@ENUMSHORT@ @enum_name@_get_type()\n" \
110                 --eprod "GType @enum_name@_get_type (void);\n" \
111                 $(libmmanager_headers) > xgen-$(@F) \
112         && ( cmp -s xgen-$(@F) $(@F:stamp-%=%) || cp xgen-$(@F) $(@F:stamp-%=%) ) \
113         && rm -f xgen-$(@F) \
114         && echo timestamp > $(@F)
116 mm-dbus-manager-server-bindings.h: stamp-mm-dbus-manager-server-bindings.h
117         @true
118 stamp-mm-dbus-manager-server-bindings.h: mm-dbus-manager-info.xml Makefile
119         $(DBUS_BINDING_TOOL) --prefix=mm_dbus_manager --mode=glib-server $< > xgen-$(@F) \
120         && ( cmp -s xgen-$(@F) $(@F:stamp-%=%) || cp xgen-$(@F) $(@F:stamp-%=%) ) \
121         && rm -f xgen-$(@F) \
122         && echo timestamp > $(@F)
124 mm-dbus-manager-client-bindings.h: stamp-mm-dbus-manager-client-bindings.h
125         @true
126 stamp-mm-dbus-manager-client-bindings.h: mm-dbus-manager-info.xml Makefile
127         $(DBUS_BINDING_TOOL) --prefix=mm_dbus_manager --mode=glib-client $< > xgen-$(@F) \
128         && ( cmp -s xgen-$(@F) $(@F:stamp-%=%) || cp xgen-$(@F) $(@F:stamp-%=%) ) \
129         && rm -f xgen-$(@F) \
130         && echo timestamp > $(@F)
132 CLEANFILES = $(stamp_files) $(BUILT_SOURCES)
133 DISTCLEANFILES = $(stamp_files) $(BUILT_SOURCES)
134 MAINTAINERCLEANFILES = $(stamp_files) $(BUILT_SOURCES)
136 pkgconfigdir=$(libdir)/pkgconfig
137 pkgconfig_DATA=libmmanager.pc
139 EXTRA_DIST = \
140   libmmanager.pc.in \
141   mm-dbus-manager-info.xml