3f88bdec8b6ce107c0aecefeec0f76f48f73f440
[platform/upstream/gcr.git] / gcr / Makefile.am
1 SUBDIRS = . icons tests
2
3 # ------------------------------------------------------------------
4 # UI BUILDER
5 #
6
7 uidir = $(datadir)/gcr-@GCR_MAJOR@/ui/
8
9 ui_DATA = \
10         gcr-import-dialog.ui \
11         gcr-unlock-options-widget.ui
12
13 # ------------------------------------------------------------------
14 # HEADERS
15
16 HEADER_BASE_FILES = \
17         gcr-base.h \
18         gcr-certificate.h \
19         gcr-certificate-chain.h \
20         gcr-collection.h \
21         gcr-comparable.h \
22         gcr-deprecated-base.h \
23         gcr-icons.h \
24         gcr-library.h \
25         gcr-parser.h \
26         gcr-pkcs11-certificate.h \
27         gcr-simple-certificate.h \
28         gcr-trust.h \
29         gcr-types.h \
30         gcr-union-collection.h \
31         gcr-unlock-options.h
32
33 HEADER_UI_FILES = \
34         gcr.h \
35         gcr-certificate-basics-widget.h \
36         gcr-certificate-details-widget.h \
37         gcr-certificate-renderer.h \
38         gcr-certificate-widget.h \
39         gcr-collection-model.h \
40         gcr-column.h \
41         gcr-combo-selector.h \
42         gcr-deprecated.h \
43         gcr-key-renderer.h \
44         gcr-key-widget.h \
45         gcr-importer.h \
46         gcr-list-selector.h \
47         gcr-renderer.h \
48         gcr-simple-collection.h \
49         gcr-tree-selector.h \
50         gcr-unlock-options-widget.h \
51         gcr-viewer.h \
52         gcr-viewer-window.h
53
54 incdir = $(includedir)/gcr-@GCR_MAJOR@/gcr
55
56 inc_HEADERS = \
57         $(HEADER_BASE_FILES) \
58         $(HEADER_UI_FILES) \
59         gcr-enum-types-base.h \
60         gcr-enum-types.h
61
62 # ------------------------------------------------------------------
63 # LIBRARY
64
65 INCLUDES = \
66         -I$(top_builddir) \
67         -I$(top_srcdir) \
68         $(GOBJECT_CFLAGS) \
69         $(GLIB_CFLAGS) \
70         $(LIBGCRYPT_CFLAGS) \
71         $(P11_KIT_CFLAGS) \
72         -DG_LOG_DOMAIN=\"Gcr\"
73
74 lib_LTLIBRARIES = \
75         libgcr-base-@GCR_MAJOR@.la \
76         libgcr-@GCR_MAJOR@.la
77
78 BUILT_BASE_FILES = \
79         gcr-marshal.c gcr-marshal.h \
80         gcr-enum-types-base.c gcr-enum-types-base.h \
81         gcr-oids.c gcr-oids.h
82
83 BUILT_UI_FILES = \
84         gcr-marshal.c gcr-marshal.h \
85         gcr-enum-types.c gcr-enum-types.h \
86         gcr-oids.c gcr-oids.h
87
88 BUILT_SOURCES = \
89         $(BUILT_BASE_FILES) \
90         $(BUILT_UI_FILES)
91
92 libgcr_base_@GCR_MAJOR@_la_SOURCES = \
93         gcr-certificate.c gcr-certificate.h \
94         gcr-certificate-chain.c gcr-certificate-chain.h \
95         gcr-collection.c gcr-collection.h \
96         gcr-comparable.c gcr-comparable.h \
97         gcr-debug.c gcr-debug.h \
98         gcr-gnupg-collection.c gcr-gnupg-collection.h \
99         gcr-gnupg-key.c gcr-gnupg-key.h \
100         gcr-gnupg-process.c gcr-gnupg-process.h \
101         gcr-gnupg-util.c gcr-gnupg-util.h \
102         gcr-library.c gcr-library.h \
103         gcr-internal.h \
104         gcr-memory.c \
105         gcr-memory-icon.c gcr-memory-icon.h \
106         gcr-parser.c gcr-parser.h \
107         gcr-pkcs11-certificate.c gcr-pkcs11-certificate.h \
108         gcr-record.c gcr-record.h \
109         gcr-simple-certificate.c gcr-simple-certificate.h \
110         gcr-simple-collection.c gcr-simple-collection.h \
111         gcr-trust.c gcr-trust.h \
112         gcr-types.h \
113         gcr-union-collection.c gcr-union-collection.h \
114         gcr-util.c gcr-util.h \
115         $(BUILT_BASE_FILES)
116
117 libgcr_@GCR_MAJOR@_la_SOURCES = \
118         gcr-certificate-basics-widget.c gcr-certificate-basics-widget.h \
119         gcr-certificate-details-widget.c gcr-certificate-details-widget.h \
120         gcr-certificate-exporter.c gcr-certificate-exporter.h \
121         gcr-certificate-extensions.c gcr-certificate-extensions.h \
122         gcr-certificate-renderer.c gcr-certificate-renderer.h \
123         gcr-certificate-widget.c gcr-certificate-widget.h \
124         gcr-collection-model.c gcr-collection-model.h \
125         gcr-combo-selector.c gcr-combo-selector.h \
126         gcr-display-scrolled.c gcr-display-scrolled.h \
127         gcr-display-view.c gcr-display-view.h \
128         gcr-failure-renderer.c gcr-failure-renderer.h \
129         gcr-fingerprint.c gcr-fingerprint.h \
130         gcr-icons.c gcr-icons.h \
131         gcr-import-dialog.c gcr-import-dialog.h \
132         gcr-importer.c gcr-importer.h  \
133         gcr-key-renderer.c gcr-key-renderer.h \
134         gcr-key-widget.c gcr-key-widget.h \
135         gcr-list-selector.c gcr-list-selector.h gcr-list-selector-private.h \
136         gcr-live-search.c gcr-live-search.h \
137         gcr-memory.c \
138         gcr-renderer.c gcr-renderer.h \
139         gcr-tree-selector.c gcr-tree-selector.h \
140         gcr-unlock-options.h \
141         gcr-unlock-options-widget.c gcr-unlock-options-widget.h \
142         gcr-unlock-renderer.c gcr-unlock-renderer.h \
143         gcr-viewer.c gcr-viewer.h \
144         gcr-viewer-window.c \
145         $(BUILT_UI_FILES)
146
147 libgcr_base_@GCR_MAJOR@_la_CFLAGS = \
148         -DGCK_API_SUBJECT_TO_CHANGE \
149         -DGCR_API_SUBJECT_TO_CHANGE \
150         -DP11_KIT_API_SUBJECT_TO_CHANGE \
151         -DGCR_COMPILATION
152
153 libgcr_@GCR_MAJOR@_la_CFLAGS = \
154         $(GTK_CFLAGS) \
155         -DUIDIR=\""$(uidir)"\" \
156         $(libgcr_base_@GCR_MAJOR@_la_CFLAGS)
157
158 libgcr_base_@GCR_MAJOR@_la_LDFLAGS = \
159         -version-info $(GCR_LT_RELEASE) \
160         -no-undefined \
161         -export-symbols-regex '^gcr_*'
162
163 libgcr_@GCR_MAJOR@_la_LDFLAGS = \
164         $(libgcr_base_@GCR_MAJOR@_la_LDFLAGS)
165
166 libgcr_base_@GCR_MAJOR@_la_LIBADD = \
167         $(top_builddir)/egg/libegg.la \
168         $(top_builddir)/egg/libegg-entry-buffer.la \
169         $(top_builddir)/gck/libgck-@GCK_MAJOR@.la \
170         $(GOBJECT_LIBS) \
171         $(GLIB_LIBS) \
172         $(LIBGCRYPT_LIBS) \
173         $(P11_KIT_LIBS)
174
175 libgcr_@GCR_MAJOR@_la_LIBADD = \
176         $(GTK_LIBS) \
177         $(libgcr_base_@GCR_MAJOR@_la_LIBADD) \
178         $(builddir)/libgcr-base-$(GCR_MAJOR).la
179
180 noinst_LTLIBRARIES = libgcr-testable.la
181 libgcr_testable_la_SOURCES =
182 libgcr_testable_la_LIBADD = \
183         $(libgcr_base_@GCR_MAJOR@_la_OBJECTS) \
184         $(libgcr_@GCR_MAJOR@_la_OBJECTS) \
185         $(libgcr_@GCR_MAJOR@_la_LIBADD)
186 libgcr_testable_la_DEPENDENCIES = \
187         $(libgcr_base_@GCR_MAJOR@_la_OBJECTS) \
188         $(libgcr_@GCR_MAJOR@_la_OBJECTS)
189
190 gcr-marshal.h: gcr-marshal.list $(GLIB_GENMARSHAL)
191         $(AM_V_GEN) $(GLIB_GENMARSHAL) $< --header --prefix=_gcr_marshal > $@
192
193 gcr-marshal.c: gcr-marshal.list $(GLIB_GENMARSHAL)
194         $(AM_V_GEN) ( echo "#include \"gcr-marshal.h\"" > $@ && \
195                 $(GLIB_GENMARSHAL) $< --body --prefix=_gcr_marshal >> $@ )
196
197 gcr-enum-types.h: $(HEADER_UI_FILES) gcr-enum-types.h.template
198         $(AM_V_GEN) $(GLIB_MKENUMS) --template $(srcdir)/gcr-enum-types.h.template \
199                 $(HEADER_UI_FILES) > $@
200
201 gcr-enum-types.c: $(HEADER_UI_FILES) gcr-enum-types.c.template
202         $(AM_V_GEN) $(GLIB_MKENUMS) --template $(srcdir)/gcr-enum-types.c.template \
203                 $(HEADER_UI_FILES) > $@
204
205 gcr-enum-types-base.h: $(HEADER_BASE_FILES) gcr-enum-types.h.template
206         $(AM_V_GEN) $(GLIB_MKENUMS) --template $(srcdir)/gcr-enum-types.h.template \
207                 $(HEADER_BASE_FILES) > $@
208
209 gcr-enum-types-base.c: $(HEADER_BASE_FILES) gcr-enum-types.c.template
210         $(AM_V_GEN) $(GLIB_MKENUMS) --template $(srcdir)/gcr-enum-types.c.template \
211                 $(HEADER_BASE_FILES) > $@
212
213 gcr-oids.c: gcr-oids.list gcr-mkoids
214         $(AM_V_GEN) sh gcr-mkoids -p GCR -c gcr-oids.c -h gcr-oids.h gcr-oids.list
215
216 gcr-oids.h: gcr-oids.c
217
218 pkgconfigdir = $(libdir)/pkgconfig
219 pkgconfig_DATA = gcr-$(GCR_MAJOR).pc gcr-base-$(GCR_MAJOR).pc
220
221 gcr-$(GCR_MAJOR).pc: gcr.pc
222         cp gcr.pc gcr-$(GCR_MAJOR).pc
223 gcr-base-$(GCR_MAJOR).pc: gcr-base.pc
224         cp gcr-base.pc gcr-base-$(GCR_MAJOR).pc
225
226 # ----------------------------------------------------------------
227 # SYSTEM INTEGRATION
228
229 # The new mime system
230 mimedir = $(datadir)/mime/packages
231 mime_DATA = gcr-crypto-types.xml
232
233 if WITH_UPDATE_MIME
234 update_mime_database_cmd = update-mime-database $(datadir)/mime/
235
236 install-data-hook: update_mime_database
237 uninstall-hook: update_mime_database
238
239 update_mime_database:
240         @-if test -z "$(DESTDIR)"; then \
241                 echo "Updating MIME database."; \
242                 $(update_mime_database_cmd); \
243         else \
244                 echo "*** MIME database not updated.  After (un)install, run this:"; \
245                 echo "***   $(update_mime_database_cmd)"; \
246         fi
247 endif
248
249 desktopdir = $(datadir)/applications
250 desktop_in_in_files = gcr-viewer.desktop.in.in
251 desktop_in_files = $(desktop_in_in_files:.desktop.in.in=.desktop.in)
252 desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
253 @INTLTOOL_DESKTOP_RULE@
254
255 # ----------------------------------------------------------------
256 # TOOLS
257
258 bin_PROGRAMS = gcr-viewer
259
260 gcr_viewer_SOURCES = \
261         gcr-viewer-tool.c
262
263 gcr_viewer_CFLAGS = \
264         $(GTK_CFLAGS) \
265         -DLOCALEDIR=\""$(datadir)/locale"\"
266
267 gcr_viewer_LDADD = \
268         $(builddir)/libgcr-$(GCR_MAJOR).la \
269         $(top_builddir)/gck/libgck-@GCK_MAJOR@.la \
270         $(GTK_LIBS)
271
272 # ----------------------------------------------------------------
273
274 gcr-expected-base.abi: gcr-base.symbols
275         $(AM_V_GEN) cpp -P $< | sort > $@
276 gcr-expected.abi: gcr.symbols
277         $(AM_V_GEN) cpp -P $< | sort > $@
278
279 gcr-actual-base.abi: $(builddir)/.libs/libgcr-base-@GCR_MAJOR@.so
280         $(AM_V_GEN)  $(NM) -D -g --defined-only $< | \
281                 cut -d ' ' -f 3 | grep -Ev '^(__bss_start|_edata|_end)' | sort > $@
282 gcr-actual.abi: $(builddir)/.libs/libgcr-@GCR_MAJOR@.so
283         $(AM_V_GEN)  $(NM) -D -g --defined-only $< | \
284                 cut -d ' ' -f 3 | grep -Ev '^(__bss_start|_edata|_end)' | sort > $@
285
286 check-symbols: gcr-expected.abi gcr-actual.abi gcr-expected-base.abi gcr-actual-base.abi
287         $(AM_V_GEN) diff -U0 --ignore-blank-lines gcr-expected-base.abi gcr-actual-base.abi || \
288                 (echo "check-symbols: Symbols have CHANGED. Fix gcr-base.symbols"; exit 1)
289         $(AM_V_GEN) diff -U0 --ignore-blank-lines gcr-expected.abi gcr-actual.abi || \
290                 (echo "check-symbols: Symbols have CHANGED. Fix gcr.symbols"; exit 1)
291
292 check-local: check-symbols
293
294 EXTRA_DIST = \
295         gcr.pc.in \
296         gcr-base.pc.in \
297         gcr-marshal.list \
298         gcr-oids.list \
299         gcr-mkoids \
300         $(ui_DATA) \
301         $(conf_DATA) \
302         gcr-enum-types.h.template \
303         gcr-enum-types.c.template \
304         gcr.symbols \
305         gcr-base.symbols \
306         $(desktop_in_in_files) \
307         $(desktop_in_files) \
308         $(desktop_DATA) \
309         $(mime_DATA)
310
311 CLEANFILES = \
312         $(BUILT_SOURCES) \
313         $(pkgconfig_DATA) \
314         gcr-actual.abi \
315         gcr-actual-base.abi \
316         gcr-expected.abi \
317         gcr-expected-base.abi
318
319 DISTCLEANFILES = \
320         $(desktop_in_files) \
321         $(desktop_DATA) \
322         $(pkgconfig_DATA)