GNU Linux-libre 6.9.1-gnu
[releases.git] / arch / powerpc / crypto / Makefile
1 # SPDX-License-Identifier: GPL-2.0
2 #
3 # powerpc/crypto/Makefile
4 #
5 # Arch-specific CryptoAPI modules.
6 #
7
8 obj-$(CONFIG_CRYPTO_AES_PPC_SPE) += aes-ppc-spe.o
9 obj-$(CONFIG_CRYPTO_MD5_PPC) += md5-ppc.o
10 obj-$(CONFIG_CRYPTO_SHA1_PPC) += sha1-powerpc.o
11 obj-$(CONFIG_CRYPTO_SHA1_PPC_SPE) += sha1-ppc-spe.o
12 obj-$(CONFIG_CRYPTO_SHA256_PPC_SPE) += sha256-ppc-spe.o
13 obj-$(CONFIG_CRYPTO_CRC32C_VPMSUM) += crc32c-vpmsum.o
14 obj-$(CONFIG_CRYPTO_CRCT10DIF_VPMSUM) += crct10dif-vpmsum.o
15 obj-$(CONFIG_CRYPTO_VPMSUM_TESTER) += crc-vpmsum_test.o
16 obj-$(CONFIG_CRYPTO_AES_GCM_P10) += aes-gcm-p10-crypto.o
17 obj-$(CONFIG_CRYPTO_CHACHA20_P10) += chacha-p10-crypto.o
18 obj-$(CONFIG_CRYPTO_POLY1305_P10) += poly1305-p10-crypto.o
19 obj-$(CONFIG_CRYPTO_DEV_VMX_ENCRYPT) += vmx-crypto.o
20
21 aes-ppc-spe-y := aes-spe-core.o aes-spe-keys.o aes-tab-4k.o aes-spe-modes.o aes-spe-glue.o
22 md5-ppc-y := md5-asm.o md5-glue.o
23 sha1-powerpc-y := sha1-powerpc-asm.o sha1.o
24 sha1-ppc-spe-y := sha1-spe-asm.o sha1-spe-glue.o
25 sha256-ppc-spe-y := sha256-spe-asm.o sha256-spe-glue.o
26 crc32c-vpmsum-y := crc32c-vpmsum_asm.o crc32c-vpmsum_glue.o
27 crct10dif-vpmsum-y := crct10dif-vpmsum_asm.o crct10dif-vpmsum_glue.o
28 aes-gcm-p10-crypto-y := aes-gcm-p10-glue.o aes-gcm-p10.o ghashp10-ppc.o aesp10-ppc.o
29 chacha-p10-crypto-y := chacha-p10-glue.o chacha-p10le-8x.o
30 poly1305-p10-crypto-y := poly1305-p10-glue.o poly1305-p10le_64.o
31 vmx-crypto-objs := vmx.o aesp8-ppc.o ghashp8-ppc.o aes.o aes_cbc.o aes_ctr.o aes_xts.o ghash.o
32
33 ifeq ($(CONFIG_CPU_LITTLE_ENDIAN),y)
34 override flavour := linux-ppc64le
35 else
36 ifdef CONFIG_PPC64_ELF_ABI_V2
37 override flavour := linux-ppc64-elfv2
38 else
39 override flavour := linux-ppc64
40 endif
41 endif
42
43 quiet_cmd_perl = PERL    $@
44       cmd_perl = $(PERL) $< $(flavour) > $@
45
46 targets += aesp10-ppc.S ghashp10-ppc.S aesp8-ppc.S ghashp8-ppc.S
47
48 $(obj)/aesp10-ppc.S $(obj)/ghashp10-ppc.S: $(obj)/%.S: $(src)/%.pl FORCE
49         $(call if_changed,perl)
50
51 $(obj)/aesp8-ppc.S $(obj)/ghashp8-ppc.S: $(obj)/%.S: $(src)/%.pl FORCE
52         $(call if_changed,perl)
53
54 OBJECT_FILES_NON_STANDARD_aesp10-ppc.o := y
55 OBJECT_FILES_NON_STANDARD_ghashp10-ppc.o := y
56 OBJECT_FILES_NON_STANDARD_aesp8-ppc.o := y