thread safety
[hildon] / hildon-widgets / Makefile.am
1 INCLUDES = $(GTK_CFLAGS) $(GNOME_VFS_CFLAGS) $(GCONF_CFLAGS) \
2            $(ESD_CFLAGS) $(LIBMB_CFLAGS) -DLOCALEDIR=\"$(localedir)\" -I$(srcdir)/..
3
4 lib_LTLIBRARIES = libhildonwidgets.la
5
6 EXTRA_DIST = hildon-marshalers.list
7
8 libhildonwidgets_la_LDFLAGS = -version-info 5:0:5
9
10 libhildonwidgets_la_LIBADD = $(GTK_LIBS) $(GNOME_VFS_LIBS) $(GCONF_LIBS) \
11                              $(ESD_LIBS) $(LIBMB_LIBS)
12
13 libhildonwidgets_la_SOURCES = \
14         hildon-marshalers.c \
15         hildon-marshalers.h \
16         hildon-composite-widget.c \
17         hildon-composite-widget.h \
18         hildon-controlbar.c \
19         hildon-controlbar.h \
20         hildon-seekbar.c \
21         hildon-seekbar.h \
22         hildon-color-selector.c \
23         hildon-color-selector.h \
24         hildon-note.c \
25         hildon-note.h \
26         hildon-volumebar.c \
27         hildon-volumebar.h \
28         hildon-volumebar-range.c \
29         hildon-volumebar-range.h \
30         hildon-volumebar-private.h \
31         hildon-hvolumebar.c \
32         hildon-hvolumebar.h \
33         hildon-vvolumebar.c \
34         hildon-vvolumebar.h \
35         hildon-dialoghelp.c \
36         hildon-dialoghelp.h \
37         hildon-calendar-popup.c \
38         hildon-calendar-popup.h \
39         hildon-date-editor.c \
40         hildon-date-editor.h \
41         hildon-time-editor.c \
42         hildon-time-editor.h \
43         hildon-time-picker.c \
44         hildon-time-picker.h \
45         hildon-weekday-picker.c \
46         hildon-weekday-picker.h \
47         hildon-telephone-editor.c \
48         hildon-telephone-editor.h \
49         hildon-number-editor.c \
50         hildon-number-editor.h \
51         hildon-range-editor.c \
52         hildon-range-editor.h \
53         hildon-get-password-dialog.c \
54         hildon-get-password-dialog.h \
55         hildon-set-password-dialog.c \
56         hildon-set-password-dialog.h \
57         hildon-sort-dialog.c \
58         hildon-sort-dialog.h \
59         hildon-add-home-dialog.c \
60         hildon-add-home-dialog.h \
61         hildon-font-selection-dialog.c \
62         hildon-font-selection-dialog.h \
63         hildon-insert-object-dialog.c \
64         hildon-insert-object-dialog.h \
65         hildon-grid.c \
66         hildon-grid.h \
67         hildon-grid-item.c \
68         hildon-grid-item.h \
69         hildon-grid-item-private.h \
70         hildon-file-handling-note.c \
71         hildon-file-handling-note.h \
72         hildon-name-password-dialog.c \
73         hildon-name-password-dialog.h \
74         hildon-scroll-area.c \
75         hildon-scroll-area.h \
76         hildon-wizard-dialog.c \
77         hildon-wizard-dialog.h \
78         hildon-color-popup.c \
79         hildon-color-popup.h \
80         hildon-color-button.c \
81         hildon-color-button.h \
82         hildon-system-sound.c \
83         hildon-system-sound.h \
84         hildon-app.c \
85         hildon-app.h \
86         hildon-defines.c \
87         hildon-defines.h \
88         hildon-appview.c \
89         hildon-appview.h \
90         hildon-find-toolbar.c \
91         hildon-find-toolbar.h \
92         gtk-infoprint.c \
93         gtk-infoprint.h \
94         hildon-banner.c \
95         hildon-banner.h \
96         hildon-input-mode-hint.h \
97         hildon-app-private.h \
98         hildon-caption.c \
99         hildon-caption.h \
100         hildon-window.c \
101         hildon-window.h \
102         hildon-window-private.h \
103         hildon-program.c \
104         hildon-program.h \
105         hildon-code-dialog.c \
106         hildon-code-dialog.h \
107         $(hildonlibs_built_headers) \
108         $(hildonlibs_built_cfiles)
109
110
111 hildon-marshalers.h: hildon-marshalers.list
112         glib-genmarshal --prefix _hildon_marshal --header \
113                         hildon-marshalers.list >hildon-marshalers.h
114
115 hildon-marshalers.c: hildon-marshalers.list hildon-marshalers.h
116         echo '#include <hildon-widgets/hildon-marshalers.h>' >hildon-marshalers.c
117         glib-genmarshal --prefix _hildon_marshal --body \
118                         hildon-marshalers.list >>hildon-marshalers.c
119
120 hildonwidgetsincludeinstdir=$(includedir)/hildon-widgets
121 hildonwidgetsincludeinst_DATA = \
122         hildon-controlbar.h \
123         hildon-note.h \
124         hildon-seekbar.h \
125         hildon-color-selector.h \
126         hildon-volumebar.h \
127         hildon-hvolumebar.h \
128         hildon-vvolumebar.h \
129         hildon-dialoghelp.h \
130         hildon-calendar-popup.h \
131         hildon-date-editor.h \
132         hildon-time-editor.h \
133         hildon-time-picker.h \
134         hildon-weekday-picker.h \
135         hildon-telephone-editor.h \
136         hildon-number-editor.h \
137         hildon-range-editor.h \
138         hildon-get-password-dialog.h \
139         hildon-set-password-dialog.h \
140         hildon-sort-dialog.h \
141         hildon-add-home-dialog.h \
142         hildon-font-selection-dialog.h \
143         hildon-insert-object-dialog.h \
144         hildon-grid.h \
145         hildon-grid-item.h \
146         hildon-file-handling-note.h \
147         hildon-name-password-dialog.h \
148         hildon-scroll-area.h \
149         hildon-wizard-dialog.h \
150         hildon-color-popup.h \
151         hildon-color-button.h \
152         hildon-system-sound.h \
153         hildon-app.h \
154         hildon-defines.h \
155         hildon-appview.h \
156         hildon-find-toolbar.h \
157         gtk-infoprint.h \
158         hildon-banner.h \
159         hildon-input-mode-hint.h \
160         hildon-app-private.h \
161         hildon-caption.h \
162         hildon-window.h \
163         hildon-program.h \
164         hildon-window-private.h \
165         hildon-code-dialog.h
166
167 headers_to_scan_for_enums = $(hildonwidgetsincludeinst_DATA)
168  
169 # Generate the enums source code, with glib-mkenums:
170 # This is based on the same Makefile.am stuff in pango:
171 hildonlibs_built_headers = hildon-libs-enum-types.h
172 hildonlibs_built_cfiles = hildon-libs-enum-types.c
173  
174 # Don't build the library until we have built the header that it needs:
175 $(OBJECTS) $(libhildonwidgets_la_OBJECTS): $(hildonlibs_built_headers)
176  
177 hildon-libs-enum-types.h: @REBUILD@ $(headers_to_scan_for_enums) Makefile
178         (cd $(srcdir) && glib-mkenums \
179                         --fhead "#ifndef __HILDON_LIBS_ENUM_TYPES_H__\n#define __HILDON_LIBS_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
180                         --fprod "/* enumerations from \"@filename@\" */\n" \
181                         --vhead "GType @enum_name@_get_type (void);\n#define HILDON_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n"        \
182                         --ftail "G_END_DECLS\n\n#endif /* __HILDON_LIBS_ENUM_TYPES_H__ */" \
183                 $(headers_to_scan_for_enums)) > $@
184
185 #FIXME: This would be shorter if there was a hildon-libs.h file:
186 hildon-libs-enum-types.c: @REBUILD@ $(headers_to_scan_for_enums) Makefile
187         (cd $(srcdir) && glib-mkenums \
188                         --fhead "#include <hildon-widgets/hildon-app.h>\n" \
189                         --fhead "#include <hildon-widgets/hildon-input-mode-hint.h>\n" \
190                         --fhead "#include <hildon-widgets/hildon-caption.h>\n" \
191                         --fhead "#include <hildon-widgets/hildon-date-editor.h>\n" \
192                         --fhead "#include <hildon-widgets/hildon-number-editor.h>\n" \
193                         --fhead "#include <hildon-widgets/hildon-telephone-editor.h>\n" \
194                         --fhead "#include <hildon-widgets/hildon-note.h>\n" \
195                         --fhead "#include <hildon-widgets/hildon-grid.h>\n" \
196                         --fhead '#include "hildon-libs-enum-types.h"\n' \
197                         --fhead "#include <glib-object.h>" \
198                         --fprod "\n/* enumerations from \"@filename@\" */" \
199                         --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[] = {"     \
200                         --vprod "      { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
201                         --vtail "      { 0, NULL, NULL }\n    };\n    etype = g_@type@_register_static (\"@EnumName@\", values);\n  }\n  return etype;\n}\n" \
202                 $(headers_to_scan_for_enums)) > $@