1# SPDX-License-Identifier: GPL-2.0+
2#
3# Makefile for asymmetric cryptographic keys
4#
5
6obj-$(CONFIG_$(PHASE_)ASYMMETRIC_KEY_TYPE) += asymmetric_keys.o
7
8asymmetric_keys-y := asymmetric_type.o
9
10obj-$(CONFIG_$(PHASE_)ASYMMETRIC_PUBLIC_KEY_SUBTYPE) += public_key_helper.o
11obj-$(CONFIG_$(PHASE_)ASYMMETRIC_PUBLIC_KEY_LEGACY) += public_key.o
12
13#
14# RSA public key parser
15#
16obj-$(CONFIG_$(PHASE_)RSA_PUBLIC_KEY_PARSER_LEGACY) += rsa_public_key.o
17rsa_public_key-y := \
18	rsapubkey.asn1.o \
19	rsa_helper.o
20
21$(obj)/rsapubkey.asn1.o: $(obj)/rsapubkey.asn1.c $(obj)/rsapubkey.asn1.h
22ifdef CONFIG_XPL_BUILD
23CFLAGS_rsapubkey.asn1.o += -I$(obj)
24endif
25
26$(obj)/rsa_helper.o: $(obj)/rsapubkey.asn1.h
27ifdef CONFIG_XPL_BUILD
28CFLAGS_rsa_helper.o += -I$(obj)
29endif
30
31#
32# X.509 Certificate handling
33#
34obj-$(CONFIG_$(PHASE_)X509_CERTIFICATE_PARSER) += x509_key_parser.o
35x509_key_parser-y := x509_helper.o
36x509_key_parser-$(CONFIG_$(PHASE_)X509_CERTIFICATE_PARSER_LEGACY) += \
37	x509.asn1.o \
38	x509_akid.asn1.o \
39	x509_cert_parser.o \
40	x509_public_key.o
41
42$(obj)/x509_cert_parser.o: \
43	$(obj)/x509.asn1.h \
44	$(obj)/x509_akid.asn1.h
45
46$(obj)/x509.asn1.o: $(obj)/x509.asn1.c $(obj)/x509.asn1.h
47$(obj)/x509_akid.asn1.o: $(obj)/x509_akid.asn1.c $(obj)/x509_akid.asn1.h
48
49#
50# PKCS#7 message handling
51#
52obj-$(CONFIG_$(PHASE_)PKCS7_MESSAGE_PARSER) += pkcs7_message.o
53pkcs7_message-y := pkcs7_helper.o
54pkcs7_message-$(CONFIG_$(PHASE_)PKCS7_MESSAGE_PARSER_LEGACY) += \
55	pkcs7.asn1.o \
56	pkcs7_parser.o
57
58$(obj)/pkcs7_parser.o: $(obj)/pkcs7.asn1.h
59$(obj)/pkcs7.asn1.o: $(obj)/pkcs7.asn1.c $(obj)/pkcs7.asn1.h
60
61obj-$(CONFIG_$(PHASE_)PKCS7_VERIFY) += pkcs7_verify.o
62
63#
64# Signed PE binary-wrapped key handling
65#
66obj-$(CONFIG_$(PHASE_)MSCODE_PARSER_LEGACY) += mscode.o
67
68mscode-y := \
69	mscode_parser.o \
70	mscode.asn1.o
71
72$(obj)/mscode_parser.o: $(obj)/mscode.asn1.h $(obj)/mscode.asn1.h
73$(obj)/mscode.asn1.o: $(obj)/mscode.asn1.c $(obj)/mscode.asn1.h
74