Maintainer's effort: add proper DISTCHECK, DISTCLEANFILES and
[mmediamanager.git] / src / Makefile.am
blobf20cbace6bfc734e021f462beeb7cdb988c7124d
1 AM_CPPFLAGS =                   \
2         -I.                     \
3         -I$(top_srcdir)         \
4         -I$(top_builddir)
6 AM_CFLAGS =     \
7         -Wall   \
8         -Werror \
9         -g
11 INCLUDES = \
12         -DMMEDIAMANAGER_EXTENSIONDIR=\""$(libdir)/mmediamanager/extensions"\"
13   
14 bin_PROGRAMS = \
15         mm-dbus-manager
17 mm_dbus_manager_headers = \
18         mm-dbus-manager.h
20 mm_dbus_manager_SOURCES = \
21         mm-dbus-manager-main.c \
22         mm-dbus-manager.c \
23         mm-dbus-manager-type-builtins.c \
24         mm-dbus-manager-type-builtins.h \
25         $(mm_dbus_manager_headers)
27 mm_dbus_manager_CFLAGS = \
28         $(DBUS_CFLAGS) \
29         $(MMEDIAMANAGER_CFLAGS)
31 mm_dbus_manager_LDADD = \
32         $(top_builddir)/libmmanager/libmmanager.la \
33         $(DBUS_LIBS) \
34         $(MMEDIAMANAGER_LIBS)
36 BUILT_SOURCES =                                 \
37         mm-dbus-manager-client-bindings.h       \
38         mm-dbus-manager-server-bindings.h       \
39         mm-dbus-manager-type-builtins.c         \
40         mm-dbus-manager-type-builtins.h
42 stamp_files =                                   \
43         stamp-mm-dbus-manager-client-bindings.h \
44         stamp-mm-dbus-manager-server-bindings.h \
45         stamp-mm-dbus-manager-type-builtins.c   \
46         stamp-mm-dbus-manager-type-builtins.h
48 mm-dbus-manager-type-builtins.c: stamp-mm-dbus-manager-type-builtins.c Makefile
49         @true
50 stamp-mm-dbus-manager-type-builtins.c: Makefile $(mm_dbus_manager_headers)
51         $(GLIB_MKENUMS) \
52                 --fhead "#include <config.h>\n\n" \
53                 --fhead "#include \"mm-type-builtins.h\"\n\n" \
54                 --fprod "\n/* enumerations from \"@filename@\" */" \
55                 --fprod "\n#include \"@filename@\"" \
56                 --vhead "GType\n@enum_name@_get_type (void)\n{\n" \
57                 --vhead "  static GType type = 0;\n\n" \
58                 --vhead "  if (G_UNLIKELY (type == 0))\n  {\n" \
59                 --vhead "    static const G@Type@Value _@enum_name@_values[] = {" \
60                 --vprod "      { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
61                 --vtail "      { 0, NULL, NULL }\n    };\n\n" \
62                 --vtail "    type = g_@type@_register_static (\"@EnumName@\", _@enum_name@_values);\n  }\n\n" \
63                 --vtail "  return type;\n}\n\n" \
64                 $(mm_dbus_manager_headers) > xgen-$(@F) \
65         && ( cmp -s xgen-$(@F) $(@F:stamp-%=%) || cp xgen-$(@F) $(@F:stamp-%=%) ) \
66         && rm -f xgen-$(@F) \
67         && echo timestamp > $(@F)
69 mm-dbus-manager-type-builtins.h: stamp-mm-dbus-manager-type-builtins.h Makefile
70         @true
71 stamp-mm-dbus-manager-type-builtins.h: Makefile $(mm_dbus_manager_headers)
72         $(GLIB_MKENUMS) \
73                 --fhead "#ifndef __MM_TYPE_BUILTINS_H__\n" \
74                 --fhead "#define __MM_TYPE_BUILTINS_H__\n\n" \
75                 --fhead "#include <glib-object.h>\n\n" \
76                 --fhead "G_BEGIN_DECLS\n\n" \
77                 --ftail "G_END_DECLS\n\n" \
78                 --ftail "#endif /* __MM_TYPE_BUILTINS_H__ */\n" \
79                 --fprod "\n/* --- @filename@ --- */" \
80                 --eprod "#define MM_TYPE_@ENUMSHORT@ @enum_name@_get_type()\n" \
81                 --eprod "GType @enum_name@_get_type (void);\n" \
82                 $(mm_dbus_manager_headers) > xgen-$(@F) \
83         && ( cmp -s xgen-$(@F) $(@F:stamp-%=%) || cp xgen-$(@F) $(@F:stamp-%=%) ) \
84         && rm -f xgen-$(@F) \
85         && echo timestamp > $(@F)
87 mm-dbus-manager-server-bindings.h: stamp-mm-dbus-manager-server-bindings.h
88         @true
89 stamp-mm-dbus-manager-server-bindings.h: mm-dbus-manager-info.xml Makefile
90         $(DBUS_BINDING_TOOL) --prefix=mm_dbus_manager --mode=glib-server $< > xgen-$(@F) \
91         && ( cmp -s xgen-$(@F) $(@F:stamp-%=%) || cp xgen-$(@F) $(@F:stamp-%=%) ) \
92         && rm -f xgen-$(@F) \
93         && echo timestamp > $(@F)
95 mm-dbus-manager-client-bindings.h: stamp-mm-dbus-manager-client-bindings.h
96         @true
97 stamp-mm-dbus-manager-client-bindings.h: mm-dbus-manager-info.xml Makefile
98         $(DBUS_BINDING_TOOL) --prefix=mm_dbus_manager --mode=glib-client $< > xgen-$(@F) \
99         && ( cmp -s xgen-$(@F) $(@F:stamp-%=%) || cp xgen-$(@F) $(@F:stamp-%=%) ) \
100         && rm -f xgen-$(@F) \
101         && echo timestamp > $(@F)
103 mm-dbus-module-server-bindings.h: stamp-mm-dbus-module-server-bindings.h
104         @true
105 stamp-mm-dbus-module-server-bindings.h: mm-dbus-module-info.xml Makefile
106         $(DBUS_BINDING_TOOL) --prefix=mm_dbus_module --mode=glib-server $< > xget-$(@F) \
107         && ( cmp -s xgen-$(@F) $(@F:stamp-%=%) || cp xgen-$(@F) $(@F:stamp-%=%) ) \
108         && rm -f xgen-$(@F) \
109         && echo timestamp > $(@F)
111 mm-dbus-module-client-bindings.h: stamp-mm-dbus-module-client-bindings.h
112         @true
113 stamp-mm-dbus-module-client-bindings.h: mm-dbus-module-info.xml Makefile
114         $(DBUS_BINDING_TOOL) --prefix=mm_dbus_module --mode=glib-client $< > xgen-$(@F) \
115         && ( cmp -s xgen-$(@F) $(@F:stamp-%=%) || cp xgen-$(@F) $(@F:stamp-%=%) ) \
116         && rm -f xgen-$(@F) \
117         && echo timestamp > $(@F)
119 CLEANFILES = $(stamp_files) $(BUILT_SOURCES)
120 DISTCLEANFILES = $(stamp_files) $(BUILT_SOURCES)
121 MAINTAINERCLEANFILES =          \
122         *~                      \
123         Makefile.in             \
124         $(stamp_files)          \
125         $(BUILT_SOURCES)
127 EXTRA_DIST =                            \
128         mm-dbus-manager-info.xml        \
129         mm-dbus-module-info.xml