Makefile revision 262254
1# $FreeBSD: stable/10/kerberos5/lib/libhx509/Makefile 262254 2014-02-20 20:51:27Z peter $
2
3LIB=	hx509
4LDFLAGS=	-Wl,--no-undefined
5VERSION_MAP= ${KRB5DIR}/lib/hx509/version-script.map
6LDADD=	-lasn1 -lcom_err -lcrypto -lroken -lwind
7DPADD=	${LIBASN1} ${LIBCOM_ERR} ${LIBCRYPTO} ${LIBROKEN} ${LIBWIND}
8
9MAN=	hx509.3 \
10	hx509_ca.3 \
11	hx509_cert.3 \
12	hx509_cms.3 \
13	hx509_crypto.3 \
14	hx509_env.3 \
15	hx509_error.3 \
16	hx509_keyset.3 \
17	hx509_lock.3 \
18	hx509_misc.3 \
19	hx509_name.3 \
20	hx509_peer.3 \
21	hx509_print.3 \
22	hx509_query.3 \
23	hx509_revoke.3 \
24	hx509_verify.3
25
26MLINKS=	hx509.3 hx509_context_free.3 \
27	hx509.3 hx509_context_init.3 \
28	hx509_ca.3 hx509_ca_sign.3 \
29	hx509_ca.3 hx509_ca_sign_self.3 \
30	hx509_ca.3 hx509_ca_tbs_add_crl_dp_uri.3 \
31	hx509_ca.3 hx509_ca_tbs_add_eku.3 \
32	hx509_ca.3 hx509_ca_tbs_add_san_hostname.3 \
33	hx509_ca.3 hx509_ca_tbs_add_san_jid.3 \
34	hx509_ca.3 hx509_ca_tbs_add_san_ms_upn.3 \
35	hx509_ca.3 hx509_ca_tbs_add_san_otherName.3 \
36	hx509_ca.3 hx509_ca_tbs_add_san_pkinit.3 \
37	hx509_ca.3 hx509_ca_tbs_add_san_rfc822name.3 \
38	hx509_ca.3 hx509_ca_tbs_free.3 \
39	hx509_ca.3 hx509_ca_tbs_init.3 \
40	hx509_ca.3 hx509_ca_tbs_set_ca.3 \
41	hx509_ca.3 hx509_ca_tbs_set_domaincontroller.3 \
42	hx509_ca.3 hx509_ca_tbs_set_notAfter.3 \
43	hx509_ca.3 hx509_ca_tbs_set_notAfter_lifetime.3 \
44	hx509_ca.3 hx509_ca_tbs_set_notBefore.3 \
45	hx509_ca.3 hx509_ca_tbs_set_proxy.3 \
46	hx509_ca.3 hx509_ca_tbs_set_serialnumber.3 \
47	hx509_ca.3 hx509_ca_tbs_set_spki.3 \
48	hx509_ca.3 hx509_ca_tbs_set_subject.3 \
49	hx509_ca.3 hx509_ca_tbs_set_template.3 \
50	hx509_ca.3 hx509_ca_tbs_set_unique.3 \
51	hx509_ca.3 hx509_ca_tbs_subject_expand.3 \
52	hx509_ca.3 hx509_ca_tbs_template_units.3 \
53	hx509_cert.3 hx509_cert_binary.3 \
54	hx509_cert.3 hx509_cert_check_eku.3 \
55	hx509_cert.3 hx509_cert_cmp.3 \
56	hx509_cert.3 hx509_cert_find_subjectAltName_otherName.3 \
57	hx509_cert.3 hx509_cert_free.3 \
58	hx509_cert.3 hx509_cert_get_SPKI.3 \
59	hx509_cert.3 hx509_cert_get_SPKI_AlgorithmIdentifier.3 \
60	hx509_cert.3 hx509_cert_get_attribute.3 \
61	hx509_cert.3 hx509_cert_get_base_subject.3 \
62	hx509_cert.3 hx509_cert_get_friendly_name.3 \
63	hx509_cert.3 hx509_cert_get_issuer.3 \
64	hx509_cert.3 hx509_cert_get_issuer_unique_id.3 \
65	hx509_cert.3 hx509_cert_get_notAfter.3 \
66	hx509_cert.3 hx509_cert_get_notBefore.3 \
67	hx509_cert.3 hx509_cert_get_serialnumber.3 \
68	hx509_cert.3 hx509_cert_get_subject.3 \
69	hx509_cert.3 hx509_cert_get_subject_unique_id.3 \
70	hx509_cert.3 hx509_cert_init.3 \
71	hx509_cert.3 hx509_cert_init_data.3 \
72	hx509_cert.3 hx509_cert_ref.3 \
73	hx509_cert.3 hx509_cert_set_friendly_name.3 \
74	hx509_cert.3 hx509_print_cert.3 \
75	hx509_cert.3 hx509_query_alloc.3 \
76	hx509_cert.3 hx509_query_free.3 \
77	hx509_cert.3 hx509_query_match_cmp_func.3 \
78	hx509_cert.3 hx509_query_match_eku.3 \
79	hx509_cert.3 hx509_query_match_friendly_name.3 \
80	hx509_cert.3 hx509_query_match_issuer_serial.3 \
81	hx509_cert.3 hx509_query_match_option.3 \
82	hx509_cert.3 hx509_query_statistic_file.3 \
83	hx509_cert.3 hx509_query_unparse_stats.3 \
84	hx509_cert.3 hx509_verify_ctx_f_allow_default_trustanchors.3 \
85	hx509_cert.3 hx509_verify_hostname.3 \
86	hx509_cms.3 hx509_cms_create_signed_1.3 \
87	hx509_cms.3 hx509_cms_envelope_1.3 \
88	hx509_cms.3 hx509_cms_unenvelope.3 \
89	hx509_cms.3 hx509_cms_unwrap_ContentInfo.3 \
90	hx509_cms.3 hx509_cms_verify_signed.3 \
91	hx509_cms.3 hx509_cms_wrap_ContentInfo.3 \
92	hx509_crypto.3 hx509_verify_signature.3 \
93	hx509_env.3 hx509_env_add.3 \
94	hx509_env.3 hx509_env_add_binding.3 \
95	hx509_env.3 hx509_env_find.3 \
96	hx509_env.3 hx509_env_find_binding.3 \
97	hx509_env.3 hx509_env_free.3 \
98	hx509_env.3 hx509_env_lfind.3 \
99	hx509_error.3 hx509_clear_error_string.3 \
100	hx509_error.3 hx509_err.3 \
101	hx509_error.3 hx509_free_error_string.3 \
102	hx509_error.3 hx509_get_error_string.3 \
103	hx509_error.3 hx509_set_error_string.3 \
104	hx509_error.3 hx509_set_error_stringv.3 \
105	hx509_keyset.3 hx509_certs_add.3 \
106	hx509_keyset.3 hx509_certs_append.3 \
107	hx509_keyset.3 hx509_certs_end_seq.3 \
108	hx509_keyset.3 hx509_certs_filter.3 \
109	hx509_keyset.3 hx509_certs_find.3 \
110	hx509_keyset.3 hx509_certs_free.3 \
111	hx509_keyset.3 hx509_certs_info.3 \
112	hx509_keyset.3 hx509_certs_init.3 \
113	hx509_keyset.3 hx509_certs_iter_f.3 \
114	hx509_keyset.3 hx509_certs_merge.3 \
115	hx509_keyset.3 hx509_certs_next_cert.3 \
116	hx509_keyset.3 hx509_certs_start_seq.3 \
117	hx509_keyset.3 hx509_certs_store.3 \
118	hx509_keyset.3 hx509_ci_print_names.3 \
119	hx509_keyset.3 hx509_get_one_cert.3 \
120	hx509_misc.3 hx509_free_octet_string_list.3 \
121	hx509_misc.3 hx509_xfree.3 \
122	hx509_name.3 hx509_general_name_unparse.3 \
123	hx509_name.3 hx509_name_binary.3 \
124	hx509_name.3 hx509_name_cmp.3 \
125	hx509_name.3 hx509_name_copy.3 \
126	hx509_name.3 hx509_name_expand.3 \
127	hx509_name.3 hx509_name_free.3 \
128	hx509_name.3 hx509_name_is_null_p.3 \
129	hx509_name.3 hx509_name_to_Name.3 \
130	hx509_name.3 hx509_name_to_string.3 \
131	hx509_name.3 hx509_parse_name.3 \
132	hx509_name.3 hx509_unparse_der_name.3 \
133	hx509_peer.3 hx509_peer_info_add_cms_alg.3 \
134	hx509_peer.3 hx509_peer_info_alloc.3 \
135	hx509_peer.3 hx509_peer_info_free.3 \
136	hx509_peer.3 hx509_peer_info_set_cert.3 \
137	hx509_peer.3 hx509_peer_info_set_cms_algs.3 \
138	hx509_print.3 hx509_bitstring_print.3 \
139	hx509_print.3 hx509_cert_keyusage_print.3 \
140	hx509_print.3 hx509_oid_print.3 \
141	hx509_print.3 hx509_oid_sprint.3 \
142	hx509_print.3 hx509_print_stdout.3 \
143	hx509_print.3 hx509_validate_cert.3 \
144	hx509_print.3 hx509_validate_ctx_add_flags.3 \
145	hx509_print.3 hx509_validate_ctx_free.3 \
146	hx509_print.3 hx509_validate_ctx_init.3 \
147	hx509_print.3 hx509_validate_ctx_set_print.3 \
148	hx509_revoke.3 hx509_ocsp_request.3 \
149	hx509_revoke.3 hx509_revoke_add_crl.3 \
150	hx509_revoke.3 hx509_revoke_add_ocsp.3 \
151	hx509_revoke.3 hx509_revoke_free.3 \
152	hx509_revoke.3 hx509_revoke_init.3 \
153	hx509_revoke.3 hx509_revoke_ocsp_print.3 \
154	hx509_revoke.3 hx509_revoke_verify.3 \
155	hx509_verify.3 hx509_context_set_missing_revoke.3 \
156	hx509_verify.3 hx509_crl_add_revoked_certs.3 \
157	hx509_verify.3 hx509_crl_alloc.3 \
158	hx509_verify.3 hx509_crl_free.3 \
159	hx509_verify.3 hx509_crl_lifetime.3 \
160	hx509_verify.3 hx509_crl_sign.3 \
161	hx509_verify.3 hx509_ocsp_verify.3 \
162	hx509_verify.3 hx509_verify_attach_anchors.3 \
163	hx509_verify.3 hx509_verify_attach_revoke.3 \
164	hx509_verify.3 hx509_verify_destroy_ctx.3 \
165	hx509_verify.3 hx509_verify_init_ctx.3 \
166	hx509_verify.3 hx509_verify_path.3 \
167	hx509_verify.3 hx509_verify_set_max_depth.3 \
168	hx509_verify.3 hx509_verify_set_proxy_certificate.3 \
169	hx509_verify.3 hx509_verify_set_strict_rfc3280_verification.3 \
170	hx509_verify.3 hx509_verify_set_time.3
171
172INCS=	hx509-private.h \
173	hx509-protos.h \
174	hx509.h \
175	hx509_err.h
176
177SRCS=	ca.c \
178	cert.c \
179	cms.c \
180	collector.c \
181	crypto.c \
182	doxygen.c \
183	error.c \
184	env.c \
185	file.c \
186	sel.c \
187	sel-gram.y \
188	sel-lex.l \
189	keyset.c \
190	ks_dir.c \
191	ks_file.c \
192	ks_mem.c \
193	ks_null.c \
194	ks_p11.c \
195	ks_p12.c \
196	ks_keychain.c \
197	lock.c \
198	name.c \
199	peer.c \
200	print.c \
201	softp11.c \
202	req.c \
203	revoke.c
204
205SRCS+=	hx509_err.c \
206	hx509_err.h
207
208SRCS+=	${GEN_OCSP:S/.x$/.c/:S/.hx$/.h/} \
209	${GEN_PKCS10:S/.x$/.c/:S/.hx$/.h/}
210
211CFLAGS+=-I${KRB5DIR}/lib/hx509
212CFLAGS+=-I${KRB5DIR}/lib/hx509/ref
213CFLAGS+=-I${KRB5DIR}/lib/asn1
214CFLAGS+=-I${KRB5DIR}/lib/wind
215CFLAGS+=-I${KRB5DIR}/lib/roken -I.
216
217GEN_OCSP= \
218	asn1_OCSPBasicOCSPResponse.x \
219	asn1_OCSPCertID.x \
220	asn1_OCSPCertStatus.x \
221	asn1_OCSPInnerRequest.x \
222	asn1_OCSPKeyHash.x \
223	asn1_OCSPRequest.x \
224	asn1_OCSPResponderID.x \
225	asn1_OCSPResponse.x \
226	asn1_OCSPResponseBytes.x \
227	asn1_OCSPResponseData.x \
228	asn1_OCSPResponseStatus.x \
229	asn1_OCSPSignature.x \
230	asn1_OCSPSingleResponse.x \
231	asn1_OCSPTBSRequest.x \
232	asn1_OCSPVersion.x \
233	asn1_id_pkix_ocsp.x \
234	asn1_id_pkix_ocsp_basic.x \
235	asn1_id_pkix_ocsp_nonce.x \
236	ocsp_asn1.hx \
237	ocsp_asn1-priv.hx
238
239GEN_PKCS10= \
240	asn1_CertificationRequestInfo.x \
241	asn1_CertificationRequest.x \
242	pkcs10_asn1.hx \
243	pkcs10_asn1-priv.hx
244
245GEN_CRMF= \
246	asn1_CRMFRDNSequence.x \
247	asn1_CertReqMessages.x \
248	asn1_CertReqMsg.x \
249	asn1_CertRequest.x \
250	asn1_CertTemplate.x \
251	asn1_Controls.x \
252	asn1_PBMParameter.x \
253	asn1_PKMACValue.x \
254	asn1_POPOPrivKey.x \
255	asn1_POPOSigningKey.x \
256	asn1_POPOSigningKeyInput.x \
257	asn1_ProofOfPossession.x \
258	asn1_SubsequentMessage.x \
259	crmf_asn1.hx \
260	crmf_asn1-priv.hx
261
262GEN+=	${GEN_OCSP}
263GEN+=	${GEN_PKCS10}
264GEN+=	${GEN_CRMF}
265
266CLEANFILES= ${GEN} ${GEN:S/.x$/.c/:S/.hx$/.h/} ocsp_asn1_files \
267	pkcs10_asn1_files crmf_asn1_files ocsp_asn1-template.[ch]* \
268	pkcs10_asn1-template.[ch]* crmf_asn1-template.[ch]*
269
270INCS+=	ocsp_asn1.h pkcs10_asn1.h crmf_asn1.h
271
272.ORDER: ${GEN_OSCP}
273${GEN_OCSP}: ocsp.asn1 ocsp.opt
274	${ASN1_COMPILE} --option-file=${.ALLSRC:M*.opt} \
275	 ${.ALLSRC:M*.asn1} ocsp_asn1
276
277.ORDER: ${GEN_PKCS10}
278${GEN_PKCS10}: pkcs10.asn1 pkcs10.opt
279	${ASN1_COMPILE} --option-file=${.ALLSRC:M*.opt} \
280	${.ALLSRC:M*.asn1} pkcs10_asn1
281
282.ORDER: ${GEN_CRMF}
283${GEN_CRMF}: crmf.asn1
284	${ASN1_COMPILE} ${.ALLSRC:M*.asn1} crmf_asn1
285
286.SUFFIXES: .h .c .x .hx
287
288.x.c:   
289	cmp -s ${.IMPSRC} ${.TARGET} 2> /dev/null || cp ${.IMPSRC} ${.TARGET}
290
291.hx.h:
292	cmp -s ${.IMPSRC} ${.TARGET} 2> /dev/null || cp ${.IMPSRC} ${.TARGET}
293
294.include <bsd.lib.mk>
295
296.SUFFIXES: .h .c .x .hx
297
298.PATH: ${KRB5DIR}/lib/hx509 ${KRB5DIR}/lib/asn1 ${KRB5DIR}/doc/doxyout/hx509/man/man3
299