# We make separate GOAL variables for each algorithm, to make it easy to
# switch each to the Legacy provider when needed.

$TLS1_PRF_GOAL=../../libimplementations.a
$HKDF_GOAL=../../libimplementations.a
$KBKDF_GOAL=../../libimplementations.a
$KRB5KDF_GOAL=../../libimplementations.a
$PBKDF2_GOAL=../../libimplementations.a
$PKCS12KDF_GOAL=../../libimplementations.a
$SSKDF_GOAL=../../libimplementations.a
$SCRYPT_GOAL=../../libimplementations.a
$SSHKDF_GOAL=../../libimplementations.a
$X942KDF_GOAL=../../libimplementations.a

SOURCE[$TLS1_PRF_GOAL]=tls1_prf.c

SOURCE[$HKDF_GOAL]=hkdf.c

SOURCE[$KBKDF_GOAL]=kbkdf.c

SOURCE[$KRB5KDF_GOAL]=krb5kdf.c

SOURCE[$PBKDF2_GOAL]=pbkdf2.c
# Extra code to satisfy the FIPS and non-FIPS separation.
# When the PBKDF2 moves to legacy, this can be removed.
SOURCE[../../libfips.a]=pbkdf2_fips.c
SOURCE[../../libnonfips.a]=pbkdf2_fips.c

SOURCE[$PKCS12KDF_GOAL]=pkcs12kdf.c

SOURCE[$SSKDF_GOAL]=sskdf.c

SOURCE[$SCRYPT_GOAL]=scrypt.c
SOURCE[$SSHKDF_GOAL]=sshkdf.c
SOURCE[$X942KDF_GOAL]=x942kdf.c
DEPEND[x942kdf.o]=../../common/include/prov/der_wrap.h
