1e71b7053SJung-uk KimLIBS=../../libcrypto 2*b077aed3SPierre Pronchery 3*b077aed3SPierre Pronchery$MODESASM= 4*b077aed3SPierre ProncheryIF[{- !$disabled{asm} -}] 5*b077aed3SPierre Pronchery $MODESASM_x86=ghash-x86.S 6*b077aed3SPierre Pronchery $MODESDEF_x86=GHASH_ASM 7*b077aed3SPierre Pronchery $MODESASM_x86_64=ghash-x86_64.s aesni-gcm-x86_64.s 8*b077aed3SPierre Pronchery $MODESDEF_x86_64=GHASH_ASM 9*b077aed3SPierre Pronchery 10*b077aed3SPierre Pronchery # ghash-ia64.s doesn't work on VMS 11*b077aed3SPierre Pronchery IF[{- $config{target} !~ /^vms-/ -}] 12*b077aed3SPierre Pronchery $MODESASM_ia64=ghash-ia64.s 13*b077aed3SPierre Pronchery $MODESDEF_ia64=GHASH_ASM 14*b077aed3SPierre Pronchery ENDIF 15*b077aed3SPierre Pronchery 16*b077aed3SPierre Pronchery $MODESASM_sparcv9=ghash-sparcv9.S 17*b077aed3SPierre Pronchery $MODESDEF_sparcv9=GHASH_ASM 18*b077aed3SPierre Pronchery 19*b077aed3SPierre Pronchery $MODESASM_alpha=ghash-alpha.S 20*b077aed3SPierre Pronchery $MODESDEF_alpha=GHASH_ASM 21*b077aed3SPierre Pronchery 22*b077aed3SPierre Pronchery $MODESASM_s390x=ghash-s390x.S 23*b077aed3SPierre Pronchery $MODESDEF_s390x=GHASH_ASM 24*b077aed3SPierre Pronchery 25*b077aed3SPierre Pronchery $MODESASM_armv4=ghash-armv4.S ghashv8-armx.S 26*b077aed3SPierre Pronchery $MODESDEF_armv4=GHASH_ASM 27*b077aed3SPierre Pronchery $MODESASM_aarch64=ghashv8-armx.S aes-gcm-armv8_64.S 28*b077aed3SPierre Pronchery $MODESDEF_aarch64= 29*b077aed3SPierre Pronchery 30*b077aed3SPierre Pronchery $MODESASM_parisc11=ghash-parisc.s 31*b077aed3SPierre Pronchery $MODESDEF_parisc11=GHASH_ASM 32*b077aed3SPierre Pronchery $MODESASM_parisc20_64=$MODESASM_parisc11 33*b077aed3SPierre Pronchery $MODESDEF_parisc20_64=$MODESDEF_parisc11 34*b077aed3SPierre Pronchery 35*b077aed3SPierre Pronchery $MODESASM_ppc32=ghashp8-ppc.s 36*b077aed3SPierre Pronchery $MODESDEF_ppc32= 37*b077aed3SPierre Pronchery $MODESASM_ppc64=$MODESASM_ppc32 38*b077aed3SPierre Pronchery $MODESDEF_ppc64=$MODESDEF_ppc32 39*b077aed3SPierre Pronchery 40*b077aed3SPierre Pronchery $MODESASM_c64xplus=ghash-c64xplus.s 41*b077aed3SPierre Pronchery $MODESDEF_c64xplus=GHASH_ASM 42*b077aed3SPierre Pronchery 43*b077aed3SPierre Pronchery # Now that we have defined all the arch specific variables, use the 44*b077aed3SPierre Pronchery # appropriate one, and define the appropriate macros 45*b077aed3SPierre Pronchery IF[$MODESASM_{- $target{asm_arch} -}] 46*b077aed3SPierre Pronchery $MODESASM=$MODESASM_{- $target{asm_arch} -} 47*b077aed3SPierre Pronchery $MODESDEF=$MODESDEF_{- $target{asm_arch} -} 48*b077aed3SPierre Pronchery ENDIF 49*b077aed3SPierre ProncheryENDIF 50*b077aed3SPierre Pronchery 51*b077aed3SPierre Pronchery$COMMON=cbc128.c ctr128.c cfb128.c ofb128.c gcm128.c ccm128.c xts128.c \ 52*b077aed3SPierre Pronchery wrap128.c $MODESASM 53*b077aed3SPierre ProncherySOURCE[../../libcrypto]=$COMMON \ 54*b077aed3SPierre Pronchery cts128.c ocb128.c siv128.c 55*b077aed3SPierre ProncherySOURCE[../../providers/libfips.a]=$COMMON 56*b077aed3SPierre Pronchery 57*b077aed3SPierre Pronchery# Implementations are now spread across several libraries, so the defines 58*b077aed3SPierre Pronchery# need to be applied to all affected libraries and modules. 59*b077aed3SPierre ProncheryDEFINE[../../libcrypto]=$MODESDEF 60*b077aed3SPierre ProncheryDEFINE[../../providers/libfips.a]=$MODESDEF 61*b077aed3SPierre Pronchery 62e71b7053SJung-uk Kim 63e71b7053SJung-uk KimINCLUDE[gcm128.o]=.. 64e71b7053SJung-uk Kim 65*b077aed3SPierre ProncheryGENERATE[ghash-ia64.s]=asm/ghash-ia64.pl 66*b077aed3SPierre ProncheryGENERATE[ghash-x86.S]=asm/ghash-x86.pl 67*b077aed3SPierre ProncheryGENERATE[ghash-x86_64.s]=asm/ghash-x86_64.pl 68*b077aed3SPierre ProncheryGENERATE[aesni-gcm-x86_64.s]=asm/aesni-gcm-x86_64.pl 69*b077aed3SPierre ProncheryGENERATE[ghash-sparcv9.S]=asm/ghash-sparcv9.pl 70e71b7053SJung-uk KimINCLUDE[ghash-sparcv9.o]=.. 71*b077aed3SPierre ProncheryGENERATE[ghash-alpha.S]=asm/ghash-alpha.pl 72*b077aed3SPierre ProncheryGENERATE[ghash-parisc.s]=asm/ghash-parisc.pl 73*b077aed3SPierre ProncheryGENERATE[ghashp8-ppc.s]=asm/ghashp8-ppc.pl 74*b077aed3SPierre ProncheryGENERATE[ghash-armv4.S]=asm/ghash-armv4.pl 75e71b7053SJung-uk KimINCLUDE[ghash-armv4.o]=.. 76*b077aed3SPierre ProncheryGENERATE[ghashv8-armx.S]=asm/ghashv8-armx.pl 77e71b7053SJung-uk KimINCLUDE[ghashv8-armx.o]=.. 78*b077aed3SPierre ProncheryGENERATE[aes-gcm-armv8_64.S]=asm/aes-gcm-armv8_64.pl 79*b077aed3SPierre ProncheryINCLUDE[aes-gcm-armv8_64.o]=.. 80*b077aed3SPierre ProncheryGENERATE[ghash-s390x.S]=asm/ghash-s390x.pl 81e71b7053SJung-uk KimINCLUDE[ghash-s390x.o]=.. 82*b077aed3SPierre ProncheryGENERATE[ghash-c64xplus.S]=asm/ghash-c64xplus.pl 83