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