build: Fix parallel make issue
[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)/libsecret-@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-schemas.h secret-schemas.c \
53         secret-types.h \
54         $(NULL)
55
56 UNSTABLE_FILES = \
57         secret-collection.h secret-collection.c \
58         secret-item.h secret-item.c \
59         secret-methods.c \
60         secret-paths.h secret-paths.c \
61         secret-prompt.h secret-prompt.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
117 Secret-@SECRET_MAJOR@.gir: libsecret-@SECRET_MAJOR@.la
118
119 Secret_@SECRET_MAJOR@_gir_NAMESPACE = Secret
120 Secret_@SECRET_MAJOR@_gir_EXPORT_PACKAGES = libsecret-@SECRET_MAJOR@
121 Secret_@SECRET_MAJOR@_gir_INCLUDES = GObject-2.0 Gio-2.0
122 Secret_@SECRET_MAJOR@_gir_LIBS = libsecret-@SECRET_MAJOR@.la
123 Secret_@SECRET_MAJOR@_gir_CFLAGS = -I$(top_srcdir) -I$(top_builddir) -DSECRET_COMPILATION
124 Secret_@SECRET_MAJOR@_gir_FILES = $(STABLE_FILES)
125 Secret_@SECRET_MAJOR@_gir_SCANNERFLAGS = --c-include "libsecret/secret.h"
126
127 SecretUnstable-0.gir: Secret-@SECRET_MAJOR@.gir
128
129 SecretUnstable_0_gir_NAMESPACE = SecretUnstable
130 SecretUnstable_0_gir_EXPORT_PACKAGES = libsecret-unstable
131 SecretUnstable_0_gir_INCLUDES = GObject-2.0 Gio-2.0
132 SecretUnstable_0_gir_LIBS = libsecret-@SECRET_MAJOR@.la
133 SecretUnstable_0_gir_CFLAGS = -I$(top_srcdir) -I$(top_builddir) -DSECRET_COMPILATION -DSECRET_API_SUBJECT_TO_CHANGE
134 SecretUnstable_0_gir_FILES = $(UNSTABLE_FILES)
135 SecretUnstable_0_gir_SCANNERFLAGS = --c-include "libsecret/secret.h" --identifier-prefix=Secret --symbol-prefix=secret --include-uninstalled=$(builddir)/Secret-@SECRET_MAJOR@.gir
136
137 girdir = $(datadir)/gir-1.0
138 gir_DATA = $(INTROSPECTION_GIRS)
139
140 typelibsdir = $(libdir)/girepository-1.0
141 typelibs_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
142
143 if ENABLE_VAPIGEN
144 include $(VAPIGEN_MAKEFILE)
145
146 libsecret-@SECRET_MAJOR@.vapi: Secret-@SECRET_MAJOR@.gir Secret-@SECRET_MAJOR@.metadata libsecret-@SECRET_MAJOR@.deps
147
148 libsecret-unstable.vapi: SecretUnstable-0.gir SecretUnstable-0.metadata libsecret-unstable.deps
149
150 VAPIGEN_VAPIS = \
151         libsecret-@SECRET_MAJOR@.vapi \
152         libsecret-unstable.vapi
153
154 libsecret_@SECRET_MAJOR@_vapi_DEPS = glib-2.0 gio-2.0
155 libsecret_@SECRET_MAJOR@_vapi_METADATADIRS = $(srcdir)
156 libsecret_@SECRET_MAJOR@_vapi_FILES = Secret-@SECRET_MAJOR@.gir
157
158 libsecret_unstable_vapi_DEPS = gio-2.0 libsecret-@SECRET_MAJOR@
159 libsecret_unstable_vapi_METADATADIRS = $(srcdir)
160 libsecret_unstable_vapi_VAPIDIRS = $(builddir)
161 libsecret_unstable_vapi_GIRDIRS = $(builddir)
162 # ... because _GIRDIRS above is broken, yes, this is ugly
163 libsecret_unstable_vapi_FILES = --girdir=$(builddir)
164 libsecret_unstable_vapi_FILES += SecretUnstable-0.gir
165
166 VAPI_DEPS = $(VAPIGEN_VAPIS:.vapi=.deps)
167
168 libsecret-$(SECRET_MAJOR).deps: Makefile.am
169         $(AM_V_GEN) echo $(libsecret_@SECRET_MAJOR@_vapi_DEPS) | tr ' ' '\n' > $@
170 libsecret-unstable.deps: Makefile.am
171         $(AM_V_GEN) echo $(libsecret_unstable_vapi_DEPS) | tr ' ' '\n' > $@
172
173 vapidir = $(datadir)/vala/vapi
174 vapi_DATA = \
175         $(VAPIGEN_VAPIS) \
176         $(VAPI_DEPS)
177
178 CLEANFILES += \
179         $(VAPIGEN_VAPIS) \
180         $(VAPI_DEPS)
181
182 endif # ENABLE_VAPIGEN
183 endif # HAVE_INTROSPECTION
184
185 # ------------------------------------------------------------------
186 # PKG CONFIG
187
188 libsecret-$(SECRET_MAJOR).pc: libsecret.pc
189         cp libsecret.pc libsecret-$(SECRET_MAJOR).pc
190
191 pkgconfigdir = $(libdir)/pkgconfig
192 pkgconfig_DATA = \
193         libsecret-$(SECRET_MAJOR).pc \
194         libsecret-unstable.pc
195
196 # ------------------------------------------------------------------
197
198
199 EXTRA_DIST = \
200         secret-enum-types.h.template \
201         secret-enum-types.c.template \
202         org.freedesktop.Secrets.xml \
203         Secret-@SECRET_MAJOR@.metadata \
204         SecretUnstable-0.metadata \
205         $(NULL)
206
207 CLEANFILES += \
208         $(pkgconfig_DATA) \
209         $(gir_DATA) \
210         $(typelibs_DATA) \
211         $(NULL)
212
213 DISTCLEANFILES = \
214         $(NULL)
215
216 check-memory:
217         make -C tests check-memory