1
2BUILT_SOURCES =
3CLEANFILES =
4DISTCLEANFILES =
5EXTRA_DIST = \
6	clean-namespaces.xslt \
7	dbusmenu-glib-0.4.pc.in \
8	dbus-menu.xml \
9	dbus-menu-clean.xml \
10	client-marshal.list \
11	menuitem-marshal.list \
12	server-marshal.list
13
14include $(top_srcdir)/Makefile.am.enum
15
16lib_LTLIBRARIES = \
17	libdbusmenu-glib.la
18
19libdbusmenu_glibincludedir=$(includedir)/libdbusmenu-glib-0.4/libdbusmenu-glib/
20
21
22EXPORTED_OBJECTS = \
23	menuitem.h \
24	menuitem-proxy.h \
25	server.h \
26	client.h
27
28libdbusmenu_glibinclude_HEADERS = \
29	$(EXPORTED_OBJECTS) \
30	enum-types.h \
31	dbusmenu-glib.h \
32	types.h
33
34libdbusmenu_glib_la_SOURCES = \
35	dbus-menu-clean.xml.h \
36	dbus-menu-clean.xml.c \
37	defaults.h \
38	defaults.c \
39	enum-types.h \
40	enum-types.c \
41	menuitem.h \
42	menuitem.c \
43	menuitem-marshal.h \
44	menuitem-marshal.c \
45	menuitem-private.h \
46	menuitem-proxy.h \
47	menuitem-proxy.c \
48	server.h \
49	server.c \
50	server-marshal.h \
51	server-marshal.c \
52	client-marshal.h \
53	client-marshal.c \
54	client-menuitem.h \
55	client-menuitem.c \
56	client-private.h \
57	client.h \
58	client.c
59
60libdbusmenu_glib_la_LDFLAGS = \
61	$(COVERAGE_LDFLAGS) \
62	-version-info $(LIBDBUSMENU_CURRENT):$(LIBDBUSMENU_REVISION):$(LIBDBUSMENU_AGE) \
63	-no-undefined \
64	-export-symbols-regex "^[^_].*"
65
66libdbusmenu_glib_la_CFLAGS = \
67	$(DBUSMENUGLIB_CFLAGS) \
68	$(COVERAGE_CFLAGS) \
69	-Wall -Werror -Wno-error=deprecated-declarations \
70	-DG_LOG_DOMAIN="\"LIBDBUSMENU-GLIB\""
71
72libdbusmenu_glib_la_LIBADD = \
73	$(DBUSMENUGLIB_LIBS)
74
75pkgconfig_DATA = dbusmenu-glib-0.4.pc
76pkgconfigdir = $(libdir)/pkgconfig
77
78ENUMHEADERS = \
79	menuitem.h \
80	menuitem-proxy.h \
81	server.h \
82	client.h \
83	types.h
84
85glib_enum_h = enum-types.h
86glib_enum_c = enum-types.c
87glib_enum_headers = $(addprefix $(srcdir)/, $(ENUMHEADERS))
88
89DISTCLEANFILES += \
90	enum-types.c \
91	enum-types.h
92
93%.xml.h: %.xml
94	echo "extern const char * $(subst -,_,$(subst .,_,$(basename $(notdir $@))));" > $@
95
96%.xml.c: %.xml
97	echo "const char * $(subst -,_,$(subst .,_,$(basename $(notdir $@)))) = " > $@
98	sed -e "s:\":\\\\\":g" -e s:^:\": -e s:\$$:\\\\n\": $< >> $@
99	echo ";" >> $@
100
101dbus-menu-clean.xml: dbus-menu.xml
102	$(XSLT_PROC) $(srcdir)/clean-namespaces.xslt $< > $@ || (rm -f $@ && /bin/false)
103
104CLEANFILES += dbus-menu-clean.xml
105
106BUILT_SOURCES += \
107	dbus-menu-clean.xml.c \
108	dbus-menu-clean.xml.h \
109	client-marshal.h \
110	client-marshal.c \
111	menuitem-marshal.h \
112	menuitem-marshal.c \
113	server-marshal.h \
114	server-marshal.c
115
116CLEANFILES += $(BUILT_SOURCES)
117
118client-marshal.h: $(srcdir)/client-marshal.list
119	glib-genmarshal --header \
120		--prefix=_dbusmenu_client_marshal $(srcdir)/client-marshal.list \
121		> client-marshal.h
122
123client-marshal.c: $(srcdir)/client-marshal.list
124	glib-genmarshal --body \
125		--prefix=_dbusmenu_client_marshal $(srcdir)/client-marshal.list \
126		> client-marshal.c
127
128server-marshal.h: $(srcdir)/server-marshal.list
129	glib-genmarshal --header \
130		--prefix=_dbusmenu_server_marshal $(srcdir)/server-marshal.list \
131		> server-marshal.h
132
133server-marshal.c: $(srcdir)/server-marshal.list
134	glib-genmarshal --body \
135		--prefix=_dbusmenu_server_marshal $(srcdir)/server-marshal.list \
136		> server-marshal.c
137
138menuitem-marshal.h: $(srcdir)/menuitem-marshal.list
139	glib-genmarshal --header \
140		--prefix=_dbusmenu_menuitem_marshal $(srcdir)/menuitem-marshal.list \
141		> menuitem-marshal.h
142
143menuitem-marshal.c: $(srcdir)/menuitem-marshal.list
144	glib-genmarshal --body \
145		--prefix=_dbusmenu_menuitem_marshal $(srcdir)/menuitem-marshal.list \
146		> menuitem-marshal.c
147
148#########################
149# GObject Introsepction
150#########################
151
152-include $(INTROSPECTION_MAKEFILE)
153INTROSPECTION_GIRS =
154
155if INTROSPECTION_TEN
156INTROSPECTION_SCANNER_ARGS = --add-include-path=$(srcdir) \
157	--warn-all \
158        --add-include-path=$(srcdir) \
159        $(addprefix --c-include=libdbusmenu-glib/, $(libdbusmenu_glibinclude_HEADERS)) \
160        --symbol-prefix=dbusmenu \
161        --identifier-prefix=Dbusmenu
162else
163INTROSPECTION_SCANNER_ARGS = --add-include-path=$(srcdir) \
164	--warn-all \
165        --add-include-path=$(srcdir) \
166        $(addprefix --c-include=libdbusmenu-glib/, $(libdbusmenu_glibinclude_HEADERS))
167endif
168
169INTROSPECTION_COMPILER_ARGS = --includedir=$(builddir)
170
171if HAVE_INTROSPECTION
172
173introspection_objects = \
174	$(addprefix $(srcdir)/, $(EXPORTED_OBJECTS)) \
175	$(builddir)/enum-types.h
176
177introspection_sources = \
178	$(addprefix $(srcdir)/, $(EXPORTED_OBJECTS)) \
179	$(srcdir)/dbusmenu-glib.h \
180	$(srcdir)/types.h \
181	$(introspection_objects:.h=.c)
182
183Dbusmenu-0.4.gir: libdbusmenu-glib.la
184Dbusmenu_0_4_gir_INCLUDES = \
185	GObject-2.0
186Dbusmenu_0_4_gir_CFLAGS = \
187	$(DBUSMENUGLIB_CFLAGS) \
188	-I$(top_srcdir)
189Dbusmenu_0_4_gir_LIBS = libdbusmenu-glib.la
190Dbusmenu_0_4_gir_FILES = $(introspection_sources)
191Dbusmenu_0_4_gir_NAMESPACE = Dbusmenu
192Dbusmenu_0_4_gir_VERSION = 0.4
193Dbusmenu_0_4_gir_EXPORT_PACKAGES = dbusmenu-glib-0.4
194Dbusmenu_0_4_gir_SCANNER_FLAGS = $(INTROSPECTION_SCANNER_ARGS)
195
196INTROSPECTION_GIRS += Dbusmenu-0.4.gir
197
198girdir = $(datadir)/gir-1.0
199gir_DATA = $(INTROSPECTION_GIRS)
200
201typelibdir = $(INTROSPECTION_TYPELIBDIR)
202typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
203
204CLEANFILES += $(gir_DATA) $(typelib_DATA)
205
206endif
207
208#########################
209# VAPI Files
210#########################
211
212if HAVE_VALA
213if HAVE_INTROSPECTION
214
215vapidir = $(datadir)/vala/vapi
216vapi_DATA = Dbusmenu-0.4.vapi
217
218Dbusmenu-0.4.vapi: Dbusmenu-0.4.gir
219	$(VALA_API_GEN) --library=Dbusmenu-0.4 $<
220
221CLEANFILES += $(vapi_DATA)
222
223endif
224endif
225
226