]> git.proxmox.com Git - libtpms.git/blob - src/Makefile.am
build: fix out of tree builds
[libtpms.git] / src / Makefile.am
1 #
2 # src/Makefile.am
3 #
4 # For the license, see the LICENSE file in the root directory.
5 #
6
7 lib_LTLIBRARIES=libtpms.la
8
9 #
10 # TPM1.2
11 #
12
13 noinst_LTLIBRARIES = libtpms_tpm12.la
14
15 libtpms_la_LIBADD = libtpms_tpm12.la
16
17 libtpms_tpm12_la_LIBADD =
18
19 libtpms_tpm12_la_CFLAGS = -include tpm_library_conf.h \
20 -I$(top_srcdir)/include/libtpms \
21 $(HARDENING_CFLAGS)
22
23 #Build 1.2 TPM
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
39
40 libtpms_tpm12_la_CFLAGS += @DEBUG_DEFINES@
41
42 CRYPTO_OBJFILES =
43
44 libtpms_tpm12_la_SOURCES = \
45 tpm12/tpm_admin.c \
46 tpm12/tpm_audit.c \
47 tpm12/tpm_auth.c \
48 tpm12/tpm_cryptoh.c \
49 tpm12/tpm_counter.c \
50 tpm12/tpm_daa.c \
51 tpm12/tpm_debug.c \
52 tpm12/tpm_delegate.c \
53 tpm12/tpm_digest.c \
54 tpm12/tpm_error.c \
55 tpm12/tpm_global.c \
56 tpm12/tpm_identity.c \
57 tpm12/tpm_init.c \
58 tpm12/tpm_libtpms_io.c \
59 tpm12/tpm_key.c \
60 tpm12/tpm_load.c \
61 tpm12/tpm_maint.c \
62 tpm12/tpm_memory.c \
63 tpm12/tpm_migration.c \
64 tpm12/tpm_nonce.c \
65 tpm12/tpm_nvfile.c \
66 tpm12/tpm_nvram.c \
67 tpm12/tpm_owner.c \
68 tpm12/tpm_pcr.c \
69 tpm12/tpm_permanent.c \
70 tpm12/tpm_platform.c \
71 tpm12/tpm_process.c \
72 tpm12/tpm_secret.c \
73 tpm12/tpm_session.c \
74 tpm12/tpm_sizedbuffer.c \
75 tpm12/tpm_startup.c \
76 tpm12/tpm_store.c \
77 tpm12/tpm_storage.c \
78 tpm12/tpm_ticks.c \
79 tpm12/tpm_time.c \
80 tpm12/tpm_transport.c \
81 tpm12/tpm_ver.c \
82 tpm12/tpm_svnrevision.c \
83 tpm_tpm12_interface.c \
84 tpm_tpm12_tis.c
85
86 noinst_HEADERS = \
87 tpm12/tpm_admin.h \
88 tpm12/tpm_audit.h \
89 tpm12/tpm_auth.h \
90 tpm12/tpm_commands.h \
91 tpm12/tpm_constants.h \
92 tpm12/tpm_counter.h \
93 tpm12/tpm_crypto.h \
94 tpm12/tpm_cryptoh.h \
95 tpm12/tpm_daa.h \
96 tpm12/tpm_debug.h \
97 tpm12/tpm_delegate.h \
98 tpm12/tpm_digest.h \
99 tpm12/tpm_global.h \
100 tpm12/tpm_identity.h \
101 tpm12/tpm_init.h \
102 tpm12/tpm_io.h \
103 tpm12/tpm_key.h \
104 tpm_library_conf.h \
105 tpm_library_intern.h \
106 tpm12/tpm_load.h \
107 tpm12/tpm_maint.h \
108 tpm12/tpm_migration.h \
109 tpm12/tpm_nonce.h \
110 tpm12/tpm_nvfile.h \
111 tpm12/tpm_nvram_const.h \
112 tpm12/tpm_nvram.h \
113 tpm12/tpm_owner.h \
114 tpm12/tpm_pcr.h \
115 tpm12/tpm_permanent.h \
116 tpm12/tpm_platform.h \
117 tpm12/tpm_process.h \
118 tpm12/tpm_secret.h \
119 tpm12/tpm_session.h \
120 tpm12/tpm_sizedbuffer.h \
121 tpm12/tpm_startup.h \
122 tpm12/tpm_storage.h \
123 tpm12/tpm_store.h \
124 tpm12/tpm_structures.h \
125 tpm12/tpm_svnrevision.h \
126 tpm12/tpm_ticks.h \
127 tpm12/tpm_time.h \
128 tpm12/tpm_transport.h \
129 tpm12/tpm_ver.h
130
131
132 if LIBTPMS_USE_FREEBL
133
134 libtpms_tpm12_la_SOURCES += tpm12/tpm_crypto_freebl.c
135 libtpms_tpm12_la_LIBADD += -lfreebl -lgmp -lnspr4 -lnssutil3 -lnss3
136
137 #work-around broken freebl includes
138 libtpms_tpm12_la_CFLAGS += $(shell [ ! -r /usr/include/nss3/alghmac.h ] && \
139 touch alghmac.h && \
140 echo -I./)
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)
145
146 else
147
148 if LIBTPMS_USE_OPENSSL
149
150 libtpms_tpm12_la_SOURCES += tpm12/tpm_crypto.c
151 libtpms_tpm12_la_LIBADD += -lcrypto
152
153 endif # LIBTPMS_USE_OPENSSL
154
155 endif # LIBTPMS_USE_FREEBL
156
157 #
158 # Library API layer
159 #
160
161 libtpms_la_SOURCES = \
162 tpm_library.c
163
164 libtpms_la_CFLAGS = \
165 $(libtpms_tpm12_la_CFLAGS)
166
167 libtpms_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libtpms.syms \
168 -version-info $(LIBTPMS_VERSION_INFO) \
169 -no-undefined
170
171
172 LDFLAGS_ARCH = $(findstring -m32, $(CFLAGS))
173 LDFLAGS_ARCH += $(findstring -m64, $(CFLAGS))
174 LDFLAGS_ARCH += $(findstring -m32, $(LDFLAGS))
175 LDFLAGS_ARCH += $(findstring -m64, $(LDFLAGS))
176
177 check-local:
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
182
183 EXTRA_DIST = \
184 tpm12/tpm_crypto_freebl.c \
185 tpm12/tpm_crypto.c \
186 libtpms.syms