More fixes for broken vapi and gir generation
[platform/upstream/libsecret.git] / libsecret / Makefile.am
1 include $(top_srcdir)/Makefile.decl
2
3 SUBDIRS = . tests
4
5 module_flags = \
6         -version-info $(SECRET_LT_RELEASE) \
7         -export_dynamic \
8         -avoid-version \
9         -module \
10         -no-undefined \
11         -export-symbols-regex '^secret_'
12
13 INCLUDES = \
14         -I$(top_srcdir) \
15         -DSECRET_COMPILATION \
16         $(NULL)
17
18 lib_LTLIBRARIES = libsecret-@SECRET_MAJOR@.la
19
20
21 incdir = $(includedir)/secret-@SECRET_MAJOR@/libsecret
22
23 HEADER_FILES = \
24         secret.h \
25         secret-attributes.h \
26         secret-collection.h \
27         secret-item.h \
28         secret-password.h \
29         secret-paths.h \
30         secret-prompt.h \
31         secret-schema.h \
32         secret-schemas.h \
33         secret-service.h \
34         secret-types.h \
35         secret-value.h \
36         $(NULL)
37
38 inc_HEADERS = \
39         $(HEADER_FILES) \
40         secret-enum-types.h \
41         $(NULL)
42
43 BUILT_SOURCES = \
44         secret-dbus-generated.c secret-dbus-generated.h \
45         secret-enum-types.c secret-enum-types.h \
46         $(NULL)
47
48 STABLE_FILES = \
49         secret-attributes.h secret-attributes.c \
50         secret-password.h secret-password.c \
51         secret-schema.h secret-schema.c \
52         secret-types.h \
53         $(NULL)
54
55 UNSTABLE_FILES = \
56         secret-collection.h secret-collection.c \
57         secret-item.h secret-item.c \
58         secret-methods.c \
59         secret-paths.h secret-paths.c \
60         secret-prompt.h secret-prompt.c \
61         secret-schemas.h secret-schemas.c \
62         secret-service.h secret-service.c \
63         secret-value.h secret-value.c \
64         $(NULL)
65
66 PRIVATE_FILES = \
67         secret-private.h \
68         secret-session.c \
69         secret-util.c \
70         $(NULL)
71
72 libsecret_@SECRET_MAJOR@_la_SOURCES = \
73         $(STABLE_FILES) \
74         $(UNSTABLE_FILES) \
75         $(PRIVATE_FILES) \
76         $(BUILT_SOURCES) \
77         $(NULL)
78
79 libsecret_@SECRET_MAJOR@_la_CFLAGS = \
80         $(LIBGCRYPT_CFLAGS)
81
82 libsecret_@SECRET_MAJOR@_la_LIBADD = \
83         $(top_builddir)/egg/libegg.la \
84         $(LIBGCRYPT_LIBS) \
85         $(LIBS)
86
87 DBUS_XML_DEFINITIONS = \
88         $(srcdir)/org.freedesktop.Secrets.xml
89
90 secret-dbus-generated.c: $(DBUS_XML_DEFINITIONS) Makefile.am
91         $(AM_V_GEN) gdbus-codegen --interface-prefix org.freedesktop.Secret. \
92                 --generate-c-code secret-dbus-generated --c-namespace SecretGen \
93                 $(DBUS_XML_DEFINITIONS)
94         $(AM_V_GEN) sed -i -e 's/secret_gen_/_secret_gen_/g' -e 's/type-/type/g' secret-dbus-generated.[ch]
95         $(AM_V_GEN) sed -i -e '1i #define GLIB_DISABLE_DEPRECATION_WARNINGS' secret-dbus-generated.c
96 secret-dbus-generated.h: secret-dbus-generated.c
97
98 secret-enum-types.h: secret-enum-types.h.template $(HEADER_FILES)
99         $(AM_V_GEN) $(GLIB_MKENUMS) --template $^ > $@
100
101 secret-enum-types.c: secret-enum-types.c.template $(HEADER_FILES)
102         $(AM_V_GEN) $(GLIB_MKENUMS) --template $^ > $@
103
104 CLEANFILES =
105
106 # ------------------------------------------------------------------
107 # INTROSPECTION
108
109 if HAVE_INTROSPECTION
110
111 include $(INTROSPECTION_MAKEFILE)
112
113 INTROSPECTION_GIRS = Secret-@SECRET_MAJOR@.gir SecretUnstable-0.gir
114 INTROSPECTION_SCANNER_ARGS = $(INTROSPECTION_FLAGS) --warn-all --add-include-path=$(srcdir) --add-include-path=.
115 INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir) --includedir=.
116 INTROSPECTION_SCANNER_ENV = PKG_CONFIG_PATH=$(builddir)
117
118 Secret-@SECRET_MAJOR@.gir: libsecret-@SECRET_MAJOR@.la
119
120 Secret_@SECRET_MAJOR@_gir_NAMESPACE = Secret
121 Secret_@SECRET_MAJOR@_gir_PACKAGES = gobject-2.0 gio-2.0
122 Secret_@SECRET_MAJOR@_gir_EXPORT_PACKAGES = libsecret-@SECRET_MAJOR@
123 Secret_@SECRET_MAJOR@_gir_INCLUDES = GObject-2.0 Gio-2.0
124 Secret_@SECRET_MAJOR@_gir_LIBS = libsecret-@SECRET_MAJOR@.la
125 Secret_@SECRET_MAJOR@_gir_CFLAGS = -I$(top_srcdir) -I$(top_builddir) -DSECRET_COMPILATION
126 Secret_@SECRET_MAJOR@_gir_FILES = $(STABLE_FILES)
127 Secret_@SECRET_MAJOR@_gir_SCANNERFLAGS = --c-include "libsecret/secret.h"
128
129 SecretUnstable-0.gir: libsecret-@SECRET_MAJOR@.la libsecret-@SECRET_MAJOR@.pc
130
131 SecretUnstable_0_gir_NAMESPACE = SecretUnstable
132 SecretUnstable_0_gir_PACKAGES = gobject-2.0 gio-2.0 libsecret-@SECRET_MAJOR@
133 SecretUnstable_0_gir_EXPORT_PACKAGES = libsecret-unstable
134 SecretUnstable_0_gir_INCLUDES = GObject-2.0 Gio-2.0 Secret-@SECRET_MAJOR@
135 SecretUnstable_0_gir_LIBS = libsecret-@SECRET_MAJOR@.la
136 SecretUnstable_0_gir_CFLAGS = -I$(top_srcdir) -I$(top_builddir) -DSECRET_COMPILATION -DSECRET_API_SUBJECT_TO_CHANGE
137 SecretUnstable_0_gir_FILES = $(UNSTABLE_FILES)
138 SecretUnstable_0_gir_SCANNERFLAGS = --c-include "libsecret/secret.h" --identifier-prefix=Secret --symbol-prefix=secret
139
140 girdir = $(datadir)/gir-1.0
141 gir_DATA = $(INTROSPECTION_GIRS)
142
143 typelibsdir = $(libdir)/girepository-1.0
144 typelibs_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
145
146 if ENABLE_VAPIGEN
147 include $(VAPIGEN_MAKEFILE)
148
149 libsecret-@SECRET_MAJOR@.vapi: Secret-@SECRET_MAJOR@.gir Secret-@SECRET_MAJOR@.metadata libsecret-@SECRET_MAJOR@.deps
150
151 libsecret-unstable.vapi: SecretUnstable-0.gir SecretUnstable-0.metadata libsecret-unstable.deps
152
153 VAPIGEN_VAPIS = \
154         libsecret-@SECRET_MAJOR@.vapi \
155         libsecret-unstable.vapi
156
157 libsecret_@SECRET_MAJOR@_vapi_DEPS = glib-2.0 gio-2.0
158 libsecret_@SECRET_MAJOR@_vapi_METADATADIRS = $(srcdir)
159 libsecret_@SECRET_MAJOR@_vapi_FILES = Secret-@SECRET_MAJOR@.gir
160
161 libsecret_unstable_vapi_DEPS = gio-2.0 libsecret-@SECRET_MAJOR@
162 libsecret_unstable_vapi_METADATADIRS = $(srcdir)
163 libsecret_unstable_vapi_VAPIDIRS = $(builddir)
164 libsecret_unstable_vapi_GIRDIRS = $(builddir)
165 # ... because _GIRDIRS above is broken, yes, this is ugly
166 libsecret_unstable_vapi_FILES = --girdir=$(builddir)
167 libsecret_unstable_vapi_FILES += SecretUnstable-0.gir
168
169 VAPI_DEPS = $(VAPIGEN_VAPIS:.vapi=.deps)
170
171 libsecret-$(SECRET_MAJOR).deps: Makefile.am
172         $(AM_V_GEN) echo $(libsecret_@SECRET_MAJOR@_vapi_DEPS) | tr ' ' '\n' > $@
173 libsecret-unstable.deps: Makefile.am
174         $(AM_V_GEN) echo $(libsecret_unstable_vapi_DEPS) | tr ' ' '\n' > $@
175
176 vapidir = $(datadir)/vala/vapi
177 vapi_DATA = \
178         $(VAPIGEN_VAPIS) \
179         $(VAPI_DEPS)
180
181 CLEANFILES += \
182         $(VAPIGEN_VAPIS) \
183         $(VAPI_DEPS)
184
185 endif # ENABLE_VAPIGEN
186 endif # HAVE_INTROSPECTION
187
188 # ------------------------------------------------------------------
189 # PKG CONFIG
190
191 libsecret-$(SECRET_MAJOR).pc: libsecret.pc
192         cp libsecret.pc libsecret-$(SECRET_MAJOR).pc
193
194 pkgconfigdir = $(libdir)/pkgconfig
195 pkgconfig_DATA = \
196         libsecret-$(SECRET_MAJOR).pc \
197         libsecret-unstable.pc
198
199 # ------------------------------------------------------------------
200
201
202 EXTRA_DIST = \
203         secret-enum-types.h.template \
204         secret-enum-types.c.template \
205         org.freedesktop.Secrets.xml \
206         Secret-@SECRET_MAJOR@.metadata \
207         SecretUnstable-0.metadata \
208         $(NULL)
209
210 CLEANFILES += \
211         $(pkgconfig_DATA) \
212         $(gir_DATA) \
213         $(typelibs_DATA) \
214         $(NULL)
215
216 DISTCLEANFILES = \
217         $(NULL)
218
219 check-memory:
220         make -C tests check-memory