1LIBS=../../libcrypto 2 3IF[{- !$disabled{asm} -}] 4 $SM4DEF_aarch64=SM4_ASM VPSM4_ASM 5 $SM4ASM_aarch64=sm4-armv8.S vpsm4-armv8.S vpsm4_ex-armv8.S 6 7 $SM4DEF_riscv64=SM4_ASM 8 $SM4ASM_riscv64=sm4-riscv64-zvksed.s 9 10 # Now that we have defined all the arch specific variables, use the 11 # appropriate one, and define the appropriate macros 12 IF[$SM4ASM_{- $target{asm_arch} -}] 13 $SM4ASM=$SM4ASM_{- $target{asm_arch} -} 14 $SM4DEF=$SM4DEF_{- $target{asm_arch} -} 15 ENDIF 16ENDIF 17 18SOURCE[../../libcrypto]= $SM4ASM sm4.c 19 20 21# Implementations are now spread across several libraries, so the defines 22# need to be applied to all affected libraries and modules. 23DEFINE[../../libcrypto]=$SM4DEF 24DEFINE[../../providers/libfips.a]=$SM4DEF 25DEFINE[../../providers/libdefault.a]=$SM4DEF 26# We only need to include the SM4DEF stuff in the legacy provider when it's a 27# separate module and it's dynamically linked with libcrypto. Otherwise, it 28# already gets everything that the static libcrypto.a has, and doesn't need it 29# added again. 30IF[{- !$disabled{module} && !$disabled{shared} -}] 31 DEFINE[../../providers/liblegacy.a]=$SM4DEF 32ENDIF 33 34GENERATE[sm4-armv8.S]=asm/sm4-armv8.pl 35GENERATE[vpsm4-armv8.S]=asm/vpsm4-armv8.pl 36GENERATE[vpsm4_ex-armv8.S]=asm/vpsm4_ex-armv8.pl 37INCLUDE[sm4-armv8.o]=.. 38INCLUDE[vpsm4-armv8.o]=.. 39INCLUDE[vpsm4_ex-armv8.o]=.. 40GENERATE[sm4-riscv64-zvksed.s]=asm/sm4-riscv64-zvksed.pl 41