# TPM2 TSS library
modules-$(CONFIG_TPM2_TSS) += tpm2-tss

tpm2-tss_version := 3.2.0
tpm2-tss_dir := tpm2-tss-$(tpm2-tss_version)
tpm2-tss_tar := tpm2-tss-$(tpm2-tss_version).tar.gz
tpm2-tss_url := https://github.com/tpm2-software/tpm2-tss/releases/download/$(tpm2-tss_version)/$(tpm2-tss_tar)
tpm2-tss_hash := 48305e4144dcf6d10f3b25b7bccf0189fd2d1186feafd8cd68c6b17ecf0d7912

tpm2-tss_configure := aclocal && automake --add-missing && autoreconf -fi \
	&& ./configure \
	$(CROSS_TOOLS) \
	--host $(MUSL_ARCH)-elf-linux \
	--prefix "/" \
	--disable-doxygen-doc \
	--disable-doxygen-man \
	--disable-doxygen-rtf \
	--disable-doxygen-html \
	--disable-fapi \

# Run one build to generate the executables with the pre-defined
# exec_prefix and datarootdir, then a second make to install the binaries
# into our actual target location

tpm2-tss_target := $(MAKE_JOBS) \
	DESTDIR="$(INSTALL)" \
	$(CROSS_TOOLS) \
	install \

# tpm2 binary wants to dlopen some libraries, so be sure that
# they are available.  It would be nice to statically link these.
tpm2-tss_libraries := \
	src/tss2-rc/.libs/libtss2-rc.so.0 \
	src/tss2-mu/.libs/libtss2-mu.so.0 \
	src/tss2-sys/.libs/libtss2-sys.so.1 \
	src/tss2-esys/.libs/libtss2-esys.so.0 \
	src/tss2-tcti/.libs/libtss2-tctildr.so.0 \
	src/tss2-tcti/.libs/libtss2-tcti-device.so.0 \

# The pcap TCTI driver is only included if enabled in the board config.
ifeq "$(CONFIG_TPM2_CAPTURE_PCAP)" "y"
tpm2-tss_libraries += src/tss2-tcti/.libs/libtss2-tcti-pcap.so.0
endif

tpm2-tss_depends := openssl $(musl_dep)
