Update Makefile.am to generate GTypes for enums in the DBus manager, and use them...
[mmediamanager.git] / src / Makefile.am
blobf975227c3b5130bc06ca52b5d424529721828d64
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
13   
14 bin_PROGRAMS = \
15   mm-dbus-manager
17 INCLUDES = \
18   $(CORE_CFLAGS)
20 LDADD = \
21   $(CORE_LIBS)
23 lib_LTLIBRARIES = \
24   libmmanager.la
26 mm_dbus_manager_headers = \
27   mm-dbus-manager.h
29 mm_dbus_manager_SOURCES = \
30   mm-dbus-manager-main.c \
31   mm-dbus-manager.c \
32   mm-dbus-manager-type-builtins.c \
33   mm-dbus-manager-type-builtins.h \
34   $(mm_dbus_manager_headers)
36 libmmanager_includedir=$(includedir)/libmmanager
38 libmmanager_headers = \
39   mm.h \
40   mm-application.h \
41   mm-application-provider.h \
42   mm-category.h \
43   mm-category-provider.h \
44   mm-hit.h \
45   mm-hit-collection.h \
46   mm-hit-collection-provider.h \
47   mm-manager.h \
48   mm-module-manager.h \
49   mm-filter.h \
50   mm-attribute.h \
51   mm-base-attributes.h \
52   mm-filter-param.h \
53   mm-attribute-manager.h \
54   mm-attribute-base-manager.h \
55   mm-module.h \
56   mm-utils.h \
57   mm-types.h
59 libmmanager_include_HEADERS = \
60   $(libmmanager_headers) \
61   mm-type-builtins.h
63 libmmanager_la_SOURCES = \
64   mm-application.c\
65   mm-application-provider.c \
66   mm-category.c \
67   mm-category-provider.c \
68   mm-hit.c \
69   mm-hit-collection.c \
70   mm-hit-collection-provider.c \
71   mm-manager.c \
72   mm-module.c \
73   mm-module-manager.c \
74   mm-type-builtins.c \
75   mm-filter.c \
76   mm-attribute.c \
77   mm-filter-param.c \
78   mm-attribute-manager.c \
79   mm-utils.c \
80   mm-attribute-base-manager.c
82 BUILT_SOURCES = \
83   mm-type-builtins.c \
84   mm-type-builtins.h \
85   mm-dbus-manager-client-bindings.h \
86   mm-dbus-manager-server-bindings.h \
87   mm-dbus-manager-type-builtins.c \
88   mm-dbus-manager-type-builtins.h
90 stamp_files = \
91   stamp-mm-type-builtins.c \
92   stamp-mm-type-builtins.h \
93   stamp-mm-dbus-manager-client-bindings.h \
94   stamp-mm-dbus-manager-server-bindings.h \
95   stamp-mm-dbus-manager-type-builtins.c \
96   stamp-mm-dbus-manager-type-builtins.h
98 mm-type-builtins.c: stamp-mm-type-builtins.c Makefile
99         @true
100 stamp-mm-type-builtins.c: Makefile $(libmmanager_headers)
101         $(GLIB_MKENUMS) \
102                 --fhead "#include <config.h>\n\n" \
103                 --fhead "#include \"mm-type-builtins.h\"\n\n" \
104                 --fprod "\n/* enumerations from \"@filename@\" */" \
105                 --fprod "\n#include \"@filename@\"" \
106                 --vhead "GType\n@enum_name@_get_type (void)\n{\n" \
107                 --vhead "  static GType type = 0;\n\n" \
108                 --vhead "  if (G_UNLIKELY (type == 0))\n  {\n" \
109                 --vhead "    static const G@Type@Value _@enum_name@_values[] = {" \
110                 --vprod "      { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
111                 --vtail "      { 0, NULL, NULL }\n    };\n\n" \
112                 --vtail "    type = g_@type@_register_static (\"@EnumName@\", _@enum_name@_values);\n  }\n\n" \
113                 --vtail "  return type;\n}\n\n" \
114                 $(libmmanager_headers) > xgen-$(@F) \
115         && ( cmp -s xgen-$(@F) $(@F:stamp-%=%) || cp xgen-$(@F) $(@F:stamp-%=%) ) \
116         && rm -f xgen-$(@F) \
117         && echo timestamp > $(@F)
119 mm-type-builtins.h: stamp-mm-type-builtins.h Makefile
120         @true
121 stamp-mm-type-builtins.h: Makefile $(libmmanager_headers)
122         $(GLIB_MKENUMS) \
123                 --fhead "#ifndef __MM_TYPE_BUILTINS_H__\n" \
124                 --fhead "#define __MM_TYPE_BUILTINS_H__\n\n" \
125                 --fhead "#include <glib-object.h>\n\n" \
126                 --fhead "G_BEGIN_DECLS\n\n" \
127                 --ftail "G_END_DECLS\n\n" \
128                 --ftail "#endif /* __MM_TYPE_BUILTINS_H__ */\n" \
129                 --fprod "\n/* --- @filename@ --- */" \
130                 --eprod "#define MM_TYPE_@ENUMSHORT@ @enum_name@_get_type()\n" \
131                 --eprod "GType @enum_name@_get_type (void);\n" \
132                 $(libmmanager_headers) > xgen-$(@F) \
133         && ( cmp -s xgen-$(@F) $(@F:stamp-%=%) || cp xgen-$(@F) $(@F:stamp-%=%) ) \
134         && rm -f xgen-$(@F) \
135         && echo timestamp > $(@F)
136         
137 mm-dbus-manager-type-builtins.c: stamp-mm-dbus-manager-type-builtins.c Makefile
138         @true
139 stamp-mm-dbus-manager-type-builtins.c: Makefile $(mm_dbus_manager_headers)
140         $(GLIB_MKENUMS) \
141                 --fhead "#include <config.h>\n\n" \
142                 --fhead "#include \"mm-type-builtins.h\"\n\n" \
143                 --fprod "\n/* enumerations from \"@filename@\" */" \
144                 --fprod "\n#include \"@filename@\"" \
145                 --vhead "GType\n@enum_name@_get_type (void)\n{\n" \
146                 --vhead "  static GType type = 0;\n\n" \
147                 --vhead "  if (G_UNLIKELY (type == 0))\n  {\n" \
148                 --vhead "    static const G@Type@Value _@enum_name@_values[] = {" \
149                 --vprod "      { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
150                 --vtail "      { 0, NULL, NULL }\n    };\n\n" \
151                 --vtail "    type = g_@type@_register_static (\"@EnumName@\", _@enum_name@_values);\n  }\n\n" \
152                 --vtail "  return type;\n}\n\n" \
153                 $(mm_dbus_manager_headers) > xgen-$(@F) \
154         && ( cmp -s xgen-$(@F) $(@F:stamp-%=%) || cp xgen-$(@F) $(@F:stamp-%=%) ) \
155         && rm -f xgen-$(@F) \
156         && echo timestamp > $(@F)
158 mm-dbus-manager-type-builtins.h: stamp-mm-dbus-manager-type-builtins.h Makefile
159         @true
160 stamp-mm-dbus-manager-type-builtins.h: Makefile $(mm_dbus_manager_headers)
161         $(GLIB_MKENUMS) \
162                 --fhead "#ifndef __MM_TYPE_BUILTINS_H__\n" \
163                 --fhead "#define __MM_TYPE_BUILTINS_H__\n\n" \
164                 --fhead "#include <glib-object.h>\n\n" \
165                 --fhead "G_BEGIN_DECLS\n\n" \
166                 --ftail "G_END_DECLS\n\n" \
167                 --ftail "#endif /* __MM_TYPE_BUILTINS_H__ */\n" \
168                 --fprod "\n/* --- @filename@ --- */" \
169                 --eprod "#define MM_TYPE_@ENUMSHORT@ @enum_name@_get_type()\n" \
170                 --eprod "GType @enum_name@_get_type (void);\n" \
171                 $(mm_dbus_manager_headers) > xgen-$(@F) \
172         && ( cmp -s xgen-$(@F) $(@F:stamp-%=%) || cp xgen-$(@F) $(@F:stamp-%=%) ) \
173         && rm -f xgen-$(@F) \
174         && echo timestamp > $(@F)
176 mm-dbus-manager-server-bindings.h: stamp-mm-dbus-manager-server-bindings.h
177         @true
178 stamp-mm-dbus-manager-server-bindings.h: mm-dbus-manager-info.xml Makefile
179         $(DBUS_BINDING_TOOL) --prefix=mm_dbus_manager --mode=glib-server $< > xgen-$(@F) \
180         && ( cmp -s xgen-$(@F) $(@F:stamp-%=%) || cp xgen-$(@F) $(@F:stamp-%=%) ) \
181         && rm -f xgen-$(@F) \
182         && echo timestamp > $(@F)
184 mm-dbus-manager-client-bindings.h: stamp-mm-dbus-manager-client-bindings.h
185         @true
186 stamp-mm-dbus-manager-client-bindings.h: mm-dbus-manager-info.xml Makefile
187         $(DBUS_BINDING_TOOL) --prefix=mm_dbus_manager --mode=glib-client $< > xgen-$(@F) \
188         && ( cmp -s xgen-$(@F) $(@F:stamp-%=%) || cp xgen-$(@F) $(@F:stamp-%=%) ) \
189         && rm -f xgen-$(@F) \
190         && echo timestamp > $(@F)
192 CLEANFILES = $(stamp_files) $(BUILT_SOURCES)
193 DISTCLEANFILES = $(stamp_files) $(BUILT_SOURCES)
194 MAINTAINERCLEANFILES = $(stamp_files) $(BUILT_SOURCES)
196 pkgconfigdir=$(libdir)/pkgconfig
197 pkgconfig_DATA=libmmanager.pc
199 EXTRA_DIST = \
200   libmmanager.pc.in \
201   mm-dbus-manager-info.xml