1ACLOCAL_AMFLAGS = -I m4
2EXTRA_DIST = opencryptoki.map opencryptoki_tok.map
3CLEANFILES =
4AM_YFLAGS = -d -v
5BUILT_SOURCES =
6
7man1_MANS =
8man5_MANS =
9man7_MANS =
10man8_MANS =
11sbin_PROGRAMS =
12nobase_lib_LTLIBRARIES =
13noinst_HEADERS =
14noinst_LTLIBRARIES =
15noinst_PROGRAMS =
16noinst_SCRIPTS =
17
18if ENABLE_LIBRARY
19include misc/misc.mk
20else
21if ENABLE_DAEMON
22include misc/misc.mk
23endif
24endif
25if ENABLE_TESTCASES
26include testcases/testcases.mk
27endif
28
29include man/man.mk
30include usr/usr.mk
31
32install-data-hook:
33if ENABLE_LIBRARY
34	$(MKDIR_P) $(DESTDIR)$(libdir)/opencryptoki/stdll
35	$(MKDIR_P) $(DESTDIR)$(libdir)/pkcs11
36	cd $(DESTDIR)$(libdir)/opencryptoki && \
37		ln -fs libopencryptoki.so PKCS11_API.so
38	cd $(DESTDIR)$(libdir)/opencryptoki && \
39		ln -nfs ../../sbin methods
40	cd $(DESTDIR)$(libdir)/pkcs11 && \
41		ln -nfs ../../sbin methods
42	cd $(DESTDIR)$(libdir)/pkcs11 && \
43		ln -fs ../opencryptoki/libopencryptoki.so PKCS11_API.so
44	cd $(DESTDIR)$(libdir)/pkcs11 && \
45		ln -fs ../opencryptoki/libopencryptoki.so libopencryptoki.so
46	cd $(DESTDIR)$(libdir)/pkcs11 && \
47		ln -nfs ../opencryptoki/stdll/ stdll
48endif
49if ENABLE_CCATOK
50	cd $(DESTDIR)$(libdir)/opencryptoki/stdll && \
51		ln -fs libpkcs11_cca.so PKCS11_CCA.so
52	$(MKDIR_P) $(DESTDIR)$(localstatedir)/lib/opencryptoki/ccatok/TOK_OBJ
53	$(CHGRP) @PKCS11GROUP@ $(DESTDIR)$(localstatedir)/lib/opencryptoki/ccatok/TOK_OBJ
54	$(CHGRP) @PKCS11GROUP@ $(DESTDIR)$(localstatedir)/lib/opencryptoki/ccatok
55	$(CHMOD) 0770 $(DESTDIR)$(localstatedir)/lib/opencryptoki/ccatok/TOK_OBJ
56	$(CHMOD) 0770 $(DESTDIR)$(localstatedir)/lib/opencryptoki/ccatok
57	$(MKDIR_P) $(DESTDIR)$(lockdir)/ccatok
58	$(CHGRP) @PKCS11GROUP@ $(DESTDIR)$(lockdir)/ccatok
59	$(CHMOD) 0770 $(DESTDIR)$(lockdir)/ccatok
60endif
61if ENABLE_EP11TOK
62	cd $(DESTDIR)$(libdir)/opencryptoki/stdll && \
63		ln -fs libpkcs11_ep11.so PKCS11_EP11.so
64	$(MKDIR_P) $(DESTDIR)$(localstatedir)/lib/opencryptoki/ep11tok/TOK_OBJ
65	$(CHGRP) @PKCS11GROUP@ $(DESTDIR)$(localstatedir)/lib/opencryptoki/ep11tok/TOK_OBJ
66	$(CHGRP) @PKCS11GROUP@ $(DESTDIR)$(localstatedir)/lib/opencryptoki/ep11tok
67	$(CHMOD) 0770 $(DESTDIR)$(localstatedir)/lib/opencryptoki/ep11tok/TOK_OBJ
68	$(CHMOD) 0770 $(DESTDIR)$(localstatedir)/lib/opencryptoki/ep11tok
69	$(MKDIR_P) $(DESTDIR)$(lockdir)/ep11tok
70	$(CHGRP) @PKCS11GROUP@ $(DESTDIR)$(lockdir)/ep11tok
71	$(CHMOD) 0770 $(DESTDIR)$(lockdir)/ep11tok
72	test -f $(DESTDIR)$(sysconfdir)/opencryptoki || $(MKDIR_P) $(DESTDIR)$(sysconfdir)/opencryptoki || true
73	test -f $(DESTDIR)$(sysconfdir)/opencryptoki/ep11tok.conf || $(INSTALL) -m 644 $(srcdir)/usr/lib/ep11_stdll/ep11tok.conf $(DESTDIR)$(sysconfdir)/opencryptoki/ep11tok.conf || true
74	test -f $(DESTDIR)$(sysconfdir)/opencryptoki/ep11cpfilter.conf || $(INSTALL) -m 644 $(srcdir)/usr/lib/ep11_stdll/ep11cpfilter.conf $(DESTDIR)$(sysconfdir)/opencryptoki/ep11cpfilter.conf || true
75endif
76if ENABLE_ICATOK
77	cd $(DESTDIR)$(libdir)/opencryptoki/stdll && \
78		ln -fs libpkcs11_ica.so PKCS11_ICA.so
79	$(MKDIR_P) $(DESTDIR)$(localstatedir)/lib/opencryptoki/lite/TOK_OBJ
80	$(CHGRP) @PKCS11GROUP@ $(DESTDIR)$(localstatedir)/lib/opencryptoki/lite/TOK_OBJ
81	$(CHGRP) @PKCS11GROUP@ $(DESTDIR)$(localstatedir)/lib/opencryptoki/lite
82	$(CHMOD) 0770 $(DESTDIR)$(localstatedir)/lib/opencryptoki/lite/TOK_OBJ
83	$(CHMOD) 0770 $(DESTDIR)$(localstatedir)/lib/opencryptoki/lite
84	$(MKDIR_P) $(DESTDIR)$(lockdir)/lite
85	$(CHGRP) @PKCS11GROUP@ $(DESTDIR)$(lockdir)/lite
86	$(CHMOD) 0770 $(DESTDIR)$(lockdir)/lite
87endif
88if ENABLE_SWTOK
89	cd $(DESTDIR)$(libdir)/opencryptoki/stdll && \
90		ln -fs libpkcs11_sw.so PKCS11_SW.so
91	$(MKDIR_P) $(DESTDIR)$(localstatedir)/lib/opencryptoki/swtok/TOK_OBJ
92	$(CHGRP) @PKCS11GROUP@ $(DESTDIR)$(localstatedir)/lib/opencryptoki/swtok/TOK_OBJ
93	$(CHGRP) @PKCS11GROUP@ $(DESTDIR)$(localstatedir)/lib/opencryptoki/swtok
94	$(CHMOD) 0770 $(DESTDIR)$(localstatedir)/lib/opencryptoki/swtok/TOK_OBJ
95	$(CHMOD) 0770 $(DESTDIR)$(localstatedir)/lib/opencryptoki/swtok
96	$(MKDIR_P) $(DESTDIR)$(lockdir)/swtok
97	$(CHGRP) @PKCS11GROUP@ $(DESTDIR)$(lockdir)/swtok
98	$(CHMOD) 0770 $(DESTDIR)$(lockdir)/swtok
99endif
100if ENABLE_TPMTOK
101	$(MKDIR_P) $(DESTDIR)$(localstatedir)/lib/opencryptoki/tpm
102	cd $(DESTDIR)$(libdir)/opencryptoki/stdll && \
103		ln -fs libpkcs11_tpm.so PKCS11_TPM.so
104	$(MKDIR_P) $(DESTDIR)$(localstatedir)/lib/opencryptoki/tpm
105	$(CHGRP) @PKCS11GROUP@ $(DESTDIR)$(localstatedir)/lib/opencryptoki/tpm
106	$(CHMOD) 0770 $(DESTDIR)$(localstatedir)/lib/opencryptoki/tpm
107	$(MKDIR_P) $(DESTDIR)$(lockdir)/tpm
108	$(CHGRP) @PKCS11GROUP@ $(DESTDIR)$(lockdir)/tpm
109	$(CHMOD) 0770 $(DESTDIR)$(lockdir)/tpm
110endif
111if ENABLE_ICSFTOK
112	$(MKDIR_P) $(DESTDIR)$(localstatedir)/lib/opencryptoki/icsf
113	cd $(DESTDIR)$(libdir)/opencryptoki/stdll && \
114		ln -fs libpkcs11_icsf.so PKCS11_ICSF.so
115	$(MKDIR_P) $(DESTDIR)$(localstatedir)/lib/opencryptoki/icsf
116	$(CHGRP) @PKCS11GROUP@ $(DESTDIR)$(localstatedir)/lib/opencryptoki/icsf
117	$(CHMOD) 0770 $(DESTDIR)$(localstatedir)/lib/opencryptoki/icsf
118	$(MKDIR_P) $(DESTDIR)$(lockdir)/icsf
119	$(CHGRP) @PKCS11GROUP@ $(DESTDIR)$(lockdir)/icsf
120	$(CHMOD) 0770 $(DESTDIR)$(lockdir)/icsf
121endif
122if ENABLE_DAEMON
123	test -f $(DESTDIR)$(sysconfdir)/opencryptoki || $(MKDIR_P) $(DESTDIR)$(sysconfdir)/opencryptoki || true
124	test -f $(DESTDIR)$(sysconfdir)/opencryptoki/opencryptoki.conf || $(INSTALL) -m 644 $(srcdir)/usr/sbin/pkcsslotd/opencryptoki.conf $(DESTDIR)$(sysconfdir)/opencryptoki/opencryptoki.conf || true
125if ENABLE_SYSTEMD
126	mkdir -p $(DESTDIR)/usr/lib/tmpfiles.d
127	cp $(srcdir)/misc/tmpfiles.conf $(DESTDIR)/usr/lib/tmpfiles.d/opencryptoki.conf
128	$(CHMOD) 0644 $(DESTDIR)/usr/lib/tmpfiles.d/opencryptoki.conf
129	rm -f $(DESTDIR)/usr/lib/systemd/system/tmpfiles.conf
130endif
131endif
132	$(MKDIR_P) $(DESTDIR)$(lockdir) $(DESTDIR)$(logdir)
133	$(CHGRP) @PKCS11GROUP@ $(DESTDIR)$(lockdir) $(DESTDIR)$(logdir)
134	$(CHMOD) 0770 $(DESTDIR)$(lockdir) $(DESTDIR)$(logdir)
135
136
137uninstall-hook:
138if ENABLE_LIBRARY
139	if test -d $(DESTDIR)$(libdir)/opencryptoki/stdll; then \
140		cd $(DESTDIR)$(libdir)/opencryptoki && \
141		rm -f PKCS11_API.so && \
142		rm -f methods; fi
143	if test -d $(DESTDIR)$(libdir)/pkcs11; then \
144		cd $(DESTDIR)$(libdir)/pkcs11 && \
145		rm -f methods && \
146		rm -f PKCS11_API.so && \
147		rm -f libopencryptoki.so && \
148		rm -f stdll; fi
149endif
150if ENABLE_CCATOK
151	if test -d $(DESTDIR)/$(libdir)/opencryptoki/stdll; then \
152		cd $(DESTDIR)/$(libdir)/opencryptoki/stdll && \
153		rm -f PKCS11_CCA.so; fi
154endif
155if ENABLE_EP11TOK
156	if test -d $(DESTDIR)$(libdir)/opencryptoki/stdll; then \
157		cd $(DESTDIR)$(libdir)/opencryptoki/stdll && \
158		rm -f PKCS11_EP11.so; fi
159endif
160if ENABLE_ICATOK
161	if test -d $(DESTDIR)$(libdir)/opencryptoki/stdll; then \
162		cd $(DESTDIR)$(libdir)/opencryptoki/stdll && \
163		rm -f PKCS11_ICA.so; fi
164endif
165if ENABLE_SWTOK
166	if test -d $(DESTDIR)$(libdir)/opencryptoki/stdll; then \
167		cd $(DESTDIR)$(libdir)/opencryptoki/stdll && \
168		rm -f PKCS11_SW.so; fi
169endif
170if ENABLE_TPMTOK
171	if test -d $(DESTDIR)$(libdir)/opencryptoki/stdll; then \
172		cd $(DESTDIR)$(libdir)/opencryptoki/stdll && \
173		rm -rf PKCS11_TPM.so; fi
174endif
175	rm -f $(DESTDIR)/etc/ld.so.conf.d/opencryptoki-$(target_cpu).conf
176if ENABLE_ICSFTOK
177	if test -d $(DESTDIR)$(libdir)/opencryptoki/stdll; then \
178		cd $(DESTDIR)$(libdir)/opencryptoki/stdll && \
179		rm -rf PKCS11_ICSF.so; fi
180endif
181if ENABLE_DAEMON
182if ENABLE_SYSTEMD
183	if test -e $(DESTDIR)/usr/lib/tmpfiles.d/opencryptoki.conf; then \
184		rm -f $(DESTDIR)/usr/lib/tmpfiles.d/opencryptoki.conf; fi
185endif
186endif
187	rm -f $(DESTDIR)$(sysconfdir)/opencryptoki/opencryptoki.conf || true
188
189
190if ENABLE_TESTCASES
191installcheck-local: all
192	killall -HUP pkcsslotd || true
193	@sbindir@/pkcsslotd
194	if test ! -z ${PKCS11_TEST_USER}; then				\
195		cd ${srcdir}/testcases && su ${PKCS11_TEST_USER} -c "PKCS11_SO_PIN=76543210 PKCS11_USER_PIN=01234567 PKCSLIB=@libdir@/opencryptoki/libopencryptoki.so sh ./ock_tests.sh"; \
196	else								\
197		cd ${srcdir}/testcases && PKCS11_SO_PIN=76543210 PKCS11_USER_PIN=01234567 PKCSLIB=@libdir@/opencryptoki/libopencryptoki.so sh ./ock_tests.sh; \
198	fi
199	killall -HUP pkcsslotd
200endif
201
202