4 # For the license, see the LICENSE file in the root directory.
7 lib_LTLIBRARIES=libtpms.la
13 noinst_LTLIBRARIES = libtpms_tpm12.la
15 libtpms_la_LIBADD = libtpms_tpm12.la
17 libtpms_tpm12_la_LIBADD =
19 libtpms_tpm12_la_CFLAGS = -include tpm_library_conf.h \
20 -I$(top_srcdir)/include/libtpms \
24 libtpms_tpm12_la_CFLAGS += -DTPM_V12
25 # build a PC Client TPM
26 libtpms_tpm12_la_CFLAGS += -DTPM_PCCLIENT
27 # upon initialization have the TPM load the volatile state
28 libtpms_tpm12_la_CFLAGS += -DTPM_VOLATILE_LOAD
29 # build the TPM enabled and activated
30 libtpms_tpm12_la_CFLAGS += -DTPM_ENABLE_ACTIVATE
31 # build with AES support for symmetric crypto
32 libtpms_tpm12_la_CFLAGS += -DTPM_AES
33 # build with libtpms callback support
34 libtpms_tpm12_la_CFLAGS += -DTPM_LIBTPMS_CALLBACKS
35 # let the default NVRAM write to disk
36 libtpms_tpm12_la_CFLAGS += -DTPM_NV_DISK
37 # build a POSIX type of TPM
38 libtpms_tpm12_la_CFLAGS += -DTPM_POSIX
40 libtpms_tpm12_la_CFLAGS += @DEBUG_DEFINES@
44 libtpms_tpm12_la_SOURCES = \
52 tpm12/tpm_delegate.c \
56 tpm12/tpm_identity.c \
58 tpm12/tpm_libtpms_io.c \
63 tpm12/tpm_migration.c \
69 tpm12/tpm_permanent.c \
70 tpm12/tpm_platform.c \
74 tpm12/tpm_sizedbuffer.c \
80 tpm12/tpm_transport.c \
82 tpm12/tpm_svnrevision.c \
83 tpm_tpm12_interface.c \
90 tpm12/tpm_commands.h \
91 tpm12/tpm_constants.h \
97 tpm12/tpm_delegate.h \
100 tpm12/tpm_identity.h \
105 tpm_library_intern.h \
108 tpm12/tpm_migration.h \
111 tpm12/tpm_nvram_const.h \
115 tpm12/tpm_permanent.h \
116 tpm12/tpm_platform.h \
117 tpm12/tpm_process.h \
119 tpm12/tpm_session.h \
120 tpm12/tpm_sizedbuffer.h \
121 tpm12/tpm_startup.h \
122 tpm12/tpm_storage.h \
124 tpm12/tpm_structures.h \
125 tpm12/tpm_svnrevision.h \
128 tpm12/tpm_transport.h \
132 if LIBTPMS_USE_FREEBL
134 libtpms_tpm12_la_SOURCES += tpm12/tpm_crypto_freebl.c
135 libtpms_tpm12_la_LIBADD += -lfreebl -lgmp -lnspr4 -lnssutil3 -lnss3
137 #work-around broken freebl includes
138 libtpms_tpm12_la_CFLAGS += $(shell [ ! -r /usr/include/nss3/alghmac.h ] && \
141 # tpm12/tpm_crypto_freebl.c: work around #include "blapi.h" : should be <nss3/blapi.h>
142 libtpms_tpm12_la_CFLAGS += $(shell nss-config --cflags)
143 #including nss3/blapi.h requires a look into nspr4 dir
144 libtpms_tpm12_la_CFLAGS += $(shell nspr-config --cflags)
148 if LIBTPMS_USE_OPENSSL
150 libtpms_tpm12_la_SOURCES += tpm12/tpm_crypto.c
151 libtpms_tpm12_la_LIBADD += -lcrypto
153 endif # LIBTPMS_USE_OPENSSL
155 endif # LIBTPMS_USE_FREEBL
161 libtpms_la_SOURCES = \
164 libtpms_la_CFLAGS = \
165 $(libtpms_tpm12_la_CFLAGS)
167 libtpms_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libtpms.syms \
168 -version-info $(LIBTPMS_VERSION_INFO) \
172 LDFLAGS_ARCH = $(findstring -m32, $(CFLAGS))
173 LDFLAGS_ARCH += $(findstring -m64, $(CFLAGS))
174 LDFLAGS_ARCH += $(findstring -m32, $(LDFLAGS))
175 LDFLAGS_ARCH += $(findstring -m64, $(LDFLAGS))
178 @($(CC) $(LDFLAGS_ARCH) -nostdlib -L./.libs -ltpms 2>/dev/null || \
179 (echo "There are undefined symbols in libtpms ($(LDFLAGS_ARCH))";\
180 $(CC) $(LDFLAGS_ARCH) -nostdlib -L./.libs -ltpms 2>&1 | grep libtpms))
181 @$(CC) $(LDFLAGS_ARCH) -nostdlib -L./.libs -ltpms 2>/dev/null
184 tpm12/tpm_crypto_freebl.c \