blob: 7cf596dda6a6b76b62070919f4c93d74e8242a4e [file] [log] [blame]
Philip Triccac054cf92018-11-11 11:06:00 -08001# SPDX-License-Identifier: BSD-2
Philip Tricca49635f42018-03-10 19:19:58 -08002# Copyright (c) 2015 - 2018 Intel Corporation
Andreas Fuchs0dc7c292018-02-28 20:01:13 +01003# Copyright (c) 2018 Fraunhofer SIT sponsored by Infineon Technologies AG
Will Arthurca8e7f32015-08-03 15:35:19 -04004# All rights reserved.
Andreas Fuchs2968c712018-02-01 18:22:47 +01005
Andreas Fuchs0dc7c292018-02-28 20:01:13 +01006### Initialize global variables used throughout the file ###
Philip Triccad5a6ff42018-03-13 18:19:42 -07007INCLUDE_DIRS = -I$(srcdir)/src -I$(srcdir)/include/tss2
Alon Bar-Levd1106342019-01-11 19:29:52 +02008ACLOCAL_AMFLAGS = -I m4 --install
Andreas Fuchs61cb7fb2017-11-22 10:23:01 +01009AM_CFLAGS = $(INCLUDE_DIRS) $(EXTRA_CFLAGS) $(CODE_COVERAGE_CFLAGS)
10AM_LDFLAGS = $(EXTRA_LDFLAGS) $(CODE_COVERAGE_LIBS)
Philip Triccaa509a682015-09-14 15:34:52 -070011
Andreas Fuchs0dc7c292018-02-28 20:01:13 +010012# Initialize empty variables to be extended throughout
13lib_LTLIBRARIES =
14noinst_LTLIBRARIES =
15EXTRA_DIST =
16CLEANFILES =
17MOSTLYCLEANFILES =
Andreas Fuchsa0eda362018-03-28 11:56:42 +020018noinst_PROGRAMS =
Philip Tricca4334dee2016-08-09 19:56:28 -070019
Andreas Fuchs0dc7c292018-02-28 20:01:13 +010020### Add ax_* rules ###
21# ax_code_coverage
Jonas Witschel648fa842019-01-07 22:15:06 +010022if AUTOCONF_CODE_COVERAGE_2019_01_06
23include $(top_srcdir)/aminclude_static.am
24clean-local: code-coverage-clean
Joshua Lockc6793f32019-01-25 14:36:08 +000025distclean-local: code-coverage-dist-clean
Jonas Witschel648fa842019-01-07 22:15:06 +010026else
Andreas Fuchs0dc7c292018-02-28 20:01:13 +010027@CODE_COVERAGE_RULES@
Jonas Witschel648fa842019-01-07 22:15:06 +010028endif
Juergen Reppff821bd2017-12-11 15:21:42 +010029
Andreas Fuchs0dc7c292018-02-28 20:01:13 +010030# ax_doxygen
31@DX_RULES@
32MOSTLYCLEANFILES += $(DX_CLEANFILES)
Philip Tricca99d41422017-06-18 15:11:50 -070033
Andreas Fuchse5273b32018-04-26 16:16:24 +020034if DOXYMAN
35DOXYMAN3 = \
Jonas Witscheldd54f332018-11-14 22:17:34 +010036 doxygen-doc/man/ESYS_CONTEXT.3 \
37 doxygen-doc/man/ESYS_TR.3 \
38 doxygen-doc/man/ESYS_TR_defines.3 \
39 doxygen-doc/man/Esys_ActivateCredential.3 \
40 doxygen-doc/man/Esys_Certify.3 \
41 doxygen-doc/man/Esys_CertifyCreation.3 \
42 doxygen-doc/man/Esys_ChangeEPS.3 \
43 doxygen-doc/man/Esys_ChangePPS.3 \
44 doxygen-doc/man/Esys_Clear.3 \
45 doxygen-doc/man/Esys_ClearControl.3 \
46 doxygen-doc/man/Esys_ClockRateAdjust.3 \
47 doxygen-doc/man/Esys_ClockSet.3 \
48 doxygen-doc/man/Esys_Commit.3 \
49 doxygen-doc/man/Esys_ContextLoad.3 \
50 doxygen-doc/man/Esys_ContextSave.3 \
51 doxygen-doc/man/Esys_Create.3 \
52 doxygen-doc/man/Esys_CreatePrimary.3 \
53 doxygen-doc/man/Esys_DictionaryAttackLockReset.3 \
54 doxygen-doc/man/Esys_DictionaryAttackParameters.3 \
55 doxygen-doc/man/Esys_Duplicate.3 \
56 doxygen-doc/man/Esys_ECC_Parameters.3 \
57 doxygen-doc/man/Esys_ECDH_KeyGen.3 \
58 doxygen-doc/man/Esys_ECDH_ZGen.3 \
59 doxygen-doc/man/Esys_EC_Ephemeral.3 \
60 doxygen-doc/man/Esys_EncryptDecrypt.3 \
61 doxygen-doc/man/Esys_EventSequenceComplete.3 \
62 doxygen-doc/man/Esys_EvictControl.3 \
63 doxygen-doc/man/Esys_FlushContext.3 \
64 doxygen-doc/man/Esys_GetCapability.3 \
65 doxygen-doc/man/Esys_GetCommandAuditDigest.3 \
66 doxygen-doc/man/Esys_GetRandom.3 \
67 doxygen-doc/man/Esys_GetSessionAuditDigest.3 \
68 doxygen-doc/man/Esys_GetTestResult.3 \
69 doxygen-doc/man/Esys_GetTime.3 \
70 doxygen-doc/man/Esys_Hash.3 \
71 doxygen-doc/man/Esys_HashSequenceStart.3 \
72 doxygen-doc/man/Esys_HierarchyChangeAuth.3 \
73 doxygen-doc/man/Esys_HierarchyControl.3 \
74 doxygen-doc/man/Esys_HMAC.3 \
75 doxygen-doc/man/Esys_HMAC_Start.3 \
76 doxygen-doc/man/Esys_Import.3 \
77 doxygen-doc/man/Esys_IncrementalSelfTest.3 \
78 doxygen-doc/man/Esys_Load.3 \
79 doxygen-doc/man/Esys_LoadExternal.3 \
80 doxygen-doc/man/Esys_MakeCredential.3 \
81 doxygen-doc/man/Esys_NV_Certify.3 \
82 doxygen-doc/man/Esys_NV_ChangeAuth.3 \
83 doxygen-doc/man/Esys_NV_DefineSpace.3 \
84 doxygen-doc/man/Esys_NV_Extend.3 \
85 doxygen-doc/man/Esys_NV_GlobalWriteLock.3 \
86 doxygen-doc/man/Esys_NV_Increment.3 \
87 doxygen-doc/man/Esys_NV_Read.3 \
88 doxygen-doc/man/Esys_NV_ReadLock.3 \
89 doxygen-doc/man/Esys_NV_ReadPublic.3 \
90 doxygen-doc/man/Esys_NV_SetBits.3 \
91 doxygen-doc/man/Esys_NV_UndefineSpace.3 \
92 doxygen-doc/man/Esys_NV_UndefineSpaceSpecial.3 \
93 doxygen-doc/man/Esys_NV_Write.3 \
94 doxygen-doc/man/Esys_NV_WriteLock.3 \
95 doxygen-doc/man/Esys_ObjectChangeAuth.3 \
96 doxygen-doc/man/Esys_PCR_Allocate.3 \
97 doxygen-doc/man/Esys_PCR_Event.3 \
98 doxygen-doc/man/Esys_PCR_Extend.3 \
99 doxygen-doc/man/Esys_PCR_Read.3 \
100 doxygen-doc/man/Esys_PCR_Reset.3 \
101 doxygen-doc/man/Esys_PCR_SetAuthPolicy.3 \
102 doxygen-doc/man/Esys_PCR_SetAuthValue.3 \
103 doxygen-doc/man/Esys_PolicyAuthorize.3 \
104 doxygen-doc/man/Esys_PolicyAuthValue.3 \
105 doxygen-doc/man/Esys_PolicyCommandCode.3 \
106 doxygen-doc/man/Esys_PolicyCounterTimer.3 \
107 doxygen-doc/man/Esys_PolicyCpHash.3 \
108 doxygen-doc/man/Esys_PolicyDuplicationSelect.3 \
109 doxygen-doc/man/Esys_PolicyGetDigest.3 \
110 doxygen-doc/man/Esys_PolicyLocality.3 \
111 doxygen-doc/man/Esys_PolicyNameHash.3 \
112 doxygen-doc/man/Esys_PolicyNV.3 \
113 doxygen-doc/man/Esys_PolicyNvWritten.3 \
114 doxygen-doc/man/Esys_PolicyOR.3 \
115 doxygen-doc/man/Esys_PolicyPassword.3 \
116 doxygen-doc/man/Esys_PolicyPCR.3 \
117 doxygen-doc/man/Esys_PolicyPhysicalPresence.3 \
118 doxygen-doc/man/Esys_PolicyRestart.3 \
119 doxygen-doc/man/Esys_PolicySecret.3 \
120 doxygen-doc/man/Esys_PolicySigned.3 \
121 doxygen-doc/man/Esys_PolicyTicket.3 \
122 doxygen-doc/man/Esys_PP_Commands.3 \
123 doxygen-doc/man/Esys_Quote.3 \
124 doxygen-doc/man/Esys_ReadClock.3 \
125 doxygen-doc/man/Esys_ReadPublic.3 \
126 doxygen-doc/man/Esys_Rewrap.3 \
127 doxygen-doc/man/Esys_RSA_Decrypt.3 \
128 doxygen-doc/man/Esys_RSA_Encrypt.3 \
129 doxygen-doc/man/Esys_SelfTest.3 \
130 doxygen-doc/man/Esys_SequenceComplete.3 \
131 doxygen-doc/man/Esys_SequenceUpdate.3 \
132 doxygen-doc/man/Esys_SetAlgorithmSet.3 \
133 doxygen-doc/man/Esys_SetCommandCodeAuditStatus.3 \
134 doxygen-doc/man/Esys_SetPrimaryPolicy.3 \
135 doxygen-doc/man/Esys_Shutdown.3 \
136 doxygen-doc/man/Esys_Sign.3 \
137 doxygen-doc/man/Esys_StartAuthSession.3 \
138 doxygen-doc/man/Esys_Startup.3 \
139 doxygen-doc/man/Esys_StirRandom.3 \
140 doxygen-doc/man/Esys_TestParms.3 \
141 doxygen-doc/man/Esys_Unseal.3 \
142 doxygen-doc/man/Esys_Vendor_TCG_Test.3 \
143 doxygen-doc/man/Esys_VerifySignature.3 \
144 doxygen-doc/man/Esys_ZGen_2Phase.3
Andreas Fuchse5273b32018-04-26 16:16:24 +0200145$(DOXYMAN3): doxygen-doc
146else #DOXYMAN
147DOXYMAN3 =
148endif #DOXYMAN
149
Andreas Fuchs0dc7c292018-02-28 20:01:13 +0100150### Include make files ###
151# Add source code files from bootstrap
152include src_vars.mk
Andreas Fuchs24fb1302017-11-22 10:21:18 +0100153
Andreas Fuchs0dc7c292018-02-28 20:01:13 +0100154# Add test definitions
155include Makefile-test.am
hp43ac71d2016-12-02 11:16:45 -0800156
dantpmd0899fe2018-04-06 14:26:05 -0700157### Distribution files ###
Javier Martinez Canillas0075f882018-04-13 12:49:37 +0200158# Add udev rule
Javier Martinez Canillas0075f882018-04-13 12:49:37 +0200159udevrules_DATA = dist/tpm-udev.rules
Javier Martinez Canillas0075f882018-04-13 12:49:37 +0200160
Andreas Fuchs0dc7c292018-02-28 20:01:13 +0100161# Adding user and developer information
162EXTRA_DIST += \
Philip Triccac0841fc2017-12-08 12:10:20 -0800163 CHANGELOG.md \
164 CONTRIBUTING.md \
165 INSTALL.md \
166 LICENSE \
167 README.md \
Andreas Fuchs0dc7c292018-02-28 20:01:13 +0100168 RELEASE.md
Philip Tricca2bd4adb2015-09-25 00:14:16 -0700169
Andreas Fuchs0dc7c292018-02-28 20:01:13 +0100170# Generate the AUTHORS file from git log
171AUTHORS :
172 $(AM_V_GEN)git log --format='%aN <%aE>' | grep -v 'users.noreply.github.com' | sort | \
173 uniq -c | sort -nr | sed 's/^\s*//' | cut -d" " -f2- > $@
174EXTRA_DIST += AUTHORS
175CLEANFILES += AUTHORS
Philip Triccab194be92016-03-15 13:27:09 -0700176
Andreas Fuchs0dc7c292018-02-28 20:01:13 +0100177# pkg-config setup. pc-file declarations happen in the corresponding modules
178pkgconfigdir = $(libdir)/pkgconfig
179nodist_pkgconfig_DATA =
180CLEANFILES += $(nodist_pkgconfig_DATA)
Philip Triccae0a93d12017-06-29 08:42:34 -0700181
Andreas Fuchs0dc7c292018-02-28 20:01:13 +0100182%.pc : %.pc.in
183 $(AM_V_GEN)$(call make_parent_dir,$@) && \
184 sed -e "s,[@]VERSION[@],$(PACKAGE_VERSION),g; \
185 s,[@]libdir[@],$(libdir),g; \
186 s,[@]includedir[@],$(includedir),g;" $^ > $@
Philip Tricca6f634c42016-07-23 12:32:15 -0700187
Philip Tricca8ffd3c42018-03-09 16:27:24 -0800188# Base TSS2 headers
189tss2dir = $(includedir)/tss2
190tss2_HEADERS = \
191 $(srcdir)/include/tss2/tss2_common.h \
192 $(srcdir)/include/tss2/tss2_tcti.h \
Philip Tricca910f17c2018-03-15 12:38:37 -0700193 $(srcdir)/include/tss2/tss2_tpm2_types.h
Philip Tricca8ffd3c42018-03-09 16:27:24 -0800194
Andreas Fuchs0dc7c292018-02-28 20:01:13 +0100195### Internal utility library
196libutil = libutil.la
197noinst_LTLIBRARIES += $(libutil)
Philip Triccaa003ae62018-02-19 10:32:46 -0800198libutil_la_CFLAGS = $(AM_CFLAGS)
Philip Tricca57360da2018-03-15 17:22:10 -0700199libutil_la_SOURCES = $(UTIL_SRC)
Philip Triccaa003ae62018-02-19 10:32:46 -0800200
dantpmd0899fe2018-04-06 14:26:05 -0700201### TCG TSS Marshaling/Unmarshaling spec library ###
Philip Triccaee730622018-03-10 16:40:41 -0800202libtss2_mu = src/tss2-mu/libtss2-mu.la
Philip Tricca8ffd3c42018-03-09 16:27:24 -0800203tss2_HEADERS += $(srcdir)/include/tss2/tss2_mu.h
Philip Triccaee730622018-03-10 16:40:41 -0800204lib_LTLIBRARIES += $(libtss2_mu)
205nodist_pkgconfig_DATA += lib/tss2-mu.pc
206EXTRA_DIST += lib/tss2-mu.map lib/tss2-mu.pc.in
Andreas Fuchs0dc7c292018-02-28 20:01:13 +0100207
David R. Bild1e49b4c2017-11-28 18:09:42 -0600208if HAVE_LD_VERSION_SCRIPT
Philip Triccaee730622018-03-10 16:40:41 -0800209src_tss2_mu_libtss2_mu_la_LDFLAGS = -Wl,--version-script=$(srcdir)/lib/tss2-mu.map
David R. Bild1e49b4c2017-11-28 18:09:42 -0600210endif # HAVE_LD_VERSION_SCRIPT
Philip Triccaee730622018-03-10 16:40:41 -0800211src_tss2_mu_libtss2_mu_la_LIBADD = $(libutil)
212src_tss2_mu_libtss2_mu_la_SOURCES = $(TSS2_MU_SRC)
Philip Tricca73609722017-02-10 10:50:06 -0800213
Andreas Fuchs0dc7c292018-02-28 20:01:13 +0100214### TCG TSS TCTI spec libraries ###
Andreas Fuchs0dc7c292018-02-28 20:01:13 +0100215# tcti device library
Andreas Fuchs2b085e92018-05-02 16:42:47 +0200216if ENABLE_TCTI_DEVICE
Philip Triccab8584ac2018-03-10 17:02:30 -0800217libtss2_tcti_device = src/tss2-tcti/libtss2-tcti-device.la
Philip Tricca8ffd3c42018-03-09 16:27:24 -0800218tss2_HEADERS += $(srcdir)/include/tss2/tss2_tcti_device.h
Philip Triccab8584ac2018-03-10 17:02:30 -0800219lib_LTLIBRARIES += $(libtss2_tcti_device)
220nodist_pkgconfig_DATA += lib/tss2-tcti-device.pc
221EXTRA_DIST += lib/tss2-tcti-device.map lib/tss2-tcti-device.pc.in
Juergen Reppff821bd2017-12-11 15:21:42 +0100222
Philip Triccab8584ac2018-03-10 17:02:30 -0800223src_tss2_tcti_libtss2_tcti_device_la_CFLAGS = $(AM_CFLAGS)
David R. Bild1e49b4c2017-11-28 18:09:42 -0600224if HAVE_LD_VERSION_SCRIPT
Philip Triccab8584ac2018-03-10 17:02:30 -0800225src_tss2_tcti_libtss2_tcti_device_la_LDFLAGS = -Wl,--version-script=$(srcdir)/lib/tss2-tcti-device.map
David R. Bild1e49b4c2017-11-28 18:09:42 -0600226endif # HAVE_LD_VERSION_SCRIPT
Philip Triccab8584ac2018-03-10 17:02:30 -0800227src_tss2_tcti_libtss2_tcti_device_la_LIBADD = $(libtss2_mu) $(libutil)
Philip Tricca850bb592018-04-03 09:29:22 -0700228src_tss2_tcti_libtss2_tcti_device_la_SOURCES = \
229 src/tss2-tcti/tcti-common.c src/tss2-tcti/tcti-common.h \
230 src/tss2-tcti/tcti-device.c src/tss2-tcti/tcti-device.h
Andreas Fuchs2b085e92018-05-02 16:42:47 +0200231endif # ENABLE_TCTI_DEVICE
Philip Tricca97e869f2015-11-03 20:19:44 -0500232
dantpmd0899fe2018-04-06 14:26:05 -0700233# tcti library for Microsoft TPM2 simulator
Andreas Fuchs2b085e92018-05-02 16:42:47 +0200234if ENABLE_TCTI_MSSIM
Philip Triccab8584ac2018-03-10 17:02:30 -0800235libtss2_tcti_mssim = src/tss2-tcti/libtss2-tcti-mssim.la
Philip Tricca8ffd3c42018-03-09 16:27:24 -0800236tss2_HEADERS += $(srcdir)/include/tss2/tss2_tcti_mssim.h
Philip Triccab8584ac2018-03-10 17:02:30 -0800237lib_LTLIBRARIES += $(libtss2_tcti_mssim)
238nodist_pkgconfig_DATA += lib/tss2-tcti-mssim.pc
239EXTRA_DIST += lib/tss2-tcti-mssim.map lib/tss2-tcti-mssim.pc.in
Andreas Fuchs0dc7c292018-02-28 20:01:13 +0100240
Jonas Witschel17a670d2019-01-13 12:52:48 +0100241src_tss2_tcti_libtss2_tcti_mssim_la_CFLAGS = $(AM_CFLAGS)
David R. Bild1e49b4c2017-11-28 18:09:42 -0600242if HAVE_LD_VERSION_SCRIPT
Philip Triccab8584ac2018-03-10 17:02:30 -0800243src_tss2_tcti_libtss2_tcti_mssim_la_LDFLAGS = -Wl,--version-script=$(srcdir)/lib/tss2-tcti-mssim.map
David R. Bild1e49b4c2017-11-28 18:09:42 -0600244endif # HAVE_LD_VERSION_SCRIPT
Jonas Witschel17a670d2019-01-13 12:52:48 +0100245src_tss2_tcti_libtss2_tcti_mssim_la_LIBADD = $(libtss2_mu) $(libutil)
Philip Tricca850bb592018-04-03 09:29:22 -0700246src_tss2_tcti_libtss2_tcti_mssim_la_SOURCES = \
247 src/tss2-tcti/tcti-common.c src/tss2-tcti/tcti-common.h \
248 src/tss2-tcti/tcti-mssim.c src/tss2-tcti/tcti-mssim.h
Andreas Fuchs2b085e92018-05-02 16:42:47 +0200249endif # ENABLE_TCTI_MSSIM
Philip Triccaa51ca972015-11-04 00:13:42 -0500250
Andreas Fuchs0dc7c292018-02-28 20:01:13 +0100251### TCG TSS SAPI spec library ###
Philip Tricca5f0ab552018-03-10 18:18:29 -0800252libtss2_sys = src/tss2-sys/libtss2-sys.la
Philip Tricca8ffd3c42018-03-09 16:27:24 -0800253tss2_HEADERS += $(srcdir)/include/tss2/tss2_sys.h
Philip Tricca5f0ab552018-03-10 18:18:29 -0800254lib_LTLIBRARIES += $(libtss2_sys)
255nodist_pkgconfig_DATA += lib/tss2-sys.pc
256EXTRA_DIST += lib/tss2-sys.pc.in
Philip Tricca8ffd3c42018-03-09 16:27:24 -0800257
Philip Triccad5a6ff42018-03-13 18:19:42 -0700258src_tss2_sys_libtss2_sys_la_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/src/tss2-sys
Safayet N Ahmed1354f492018-11-03 16:02:49 -0400259src_tss2_sys_libtss2_sys_la_LDFLAGS = $(AM_LDFLAGS) $(LIBSOCKET_LDFLAGS)
Andreas Fuchs28164ad2018-03-16 13:33:26 +0100260src_tss2_sys_libtss2_sys_la_LIBADD = $(libtss2_mu) $(libutil)
Philip Tricca5f0ab552018-03-10 18:18:29 -0800261src_tss2_sys_libtss2_sys_la_SOURCES = $(TSS2_SYS_SRC)
hp43ac71d2016-12-02 11:16:45 -0800262
Andreas Fuchs0dc7c292018-02-28 20:01:13 +0100263### TCG TSS ESAPI spec library ###
Juergen Reppff821bd2017-12-11 15:21:42 +0100264if ESAPI
Philip Tricca49635f42018-03-10 19:19:58 -0800265libtss2_esys = src/tss2-esys/libtss2-esys.la
Philip Tricca8ffd3c42018-03-09 16:27:24 -0800266tss2_HEADERS += $(srcdir)/include/tss2/tss2_esys.h
Philip Tricca49635f42018-03-10 19:19:58 -0800267lib_LTLIBRARIES += $(libtss2_esys)
268nodist_pkgconfig_DATA += lib/tss2-esys.pc
269EXTRA_DIST += lib/tss2-esys.pc.in
Philip Tricca8ffd3c42018-03-09 16:27:24 -0800270
Juergen Reppbebbc7a2018-06-22 14:03:12 +0200271
Philip Tricca49635f42018-03-10 19:19:58 -0800272src_tss2_esys_libtss2_esys_la_LIBADD = $(libtss2_sys) $(libtss2_mu) \
Philip Tricca5f0ab552018-03-10 18:18:29 -0800273 $(libtss2_tcti_device) $(libtss2_tcti_mssim) $(libutil)
Juergen Reppbebbc7a2018-06-22 14:03:12 +0200274
275if ESYS_OSSL
276TSS2_ESYS_SRC += src/tss2-esys/esys_crypto_ossl.h src/tss2-esys/esys_crypto_ossl.c
277src_tss2_esys_libtss2_esys_la_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/src/tss2-esys -DOSSL
Safayet N Ahmed1354f492018-11-03 16:02:49 -0400278src_tss2_esys_libtss2_esys_la_LDFLAGS = $(AM_LDFLAGS) $(LIBDL_LDFLAGS) $(LIBSOCKET_LDFLAGS) -lssl -lcrypto
Juergen Reppbebbc7a2018-06-22 14:03:12 +0200279else
280if ESYS_GCRYPT
281TSS2_ESYS_SRC += src/tss2-esys/esys_crypto_gcrypt.h src/tss2-esys/esys_crypto_gcrypt.c
282src_tss2_esys_libtss2_esys_la_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/src/tss2-esys
Safayet N Ahmed1354f492018-11-03 16:02:49 -0400283src_tss2_esys_libtss2_esys_la_LDFLAGS = $(AM_LDFLAGS) $(LIBDL_LDFLAGS) $(LIBSOCKET_LDFLAGS) -lgcrypt
Juergen Reppbebbc7a2018-06-22 14:03:12 +0200284endif
285endif
Philip Tricca49635f42018-03-10 19:19:58 -0800286src_tss2_esys_libtss2_esys_la_SOURCES = $(TSS2_ESYS_SRC)
Philip Tricca0f0516e2018-03-05 09:59:12 -0800287
Andreas Fuchs0dc7c292018-02-28 20:01:13 +0100288endif #ESAPI
Juergen Reppecd44eb2018-02-23 13:41:16 +0100289
Andreas Fuchs0dc7c292018-02-28 20:01:13 +0100290### Man Pages
Andreas Fuchse5273b32018-04-26 16:16:24 +0200291man3_MANS = man/man3/Tss2_Tcti_Device_Init.3 man/man3/Tss2_Tcti_Mssim_Init.3 $(DOXYMAN3)
Philip Triccab8584ac2018-03-10 17:02:30 -0800292man7_MANS = man/man7/tss2-tcti-device.7 man/man7/tss2-tcti-mssim.7
Philip Tricca7ae01542016-05-05 18:45:03 -0700293
Philip Triccafe671682017-06-04 19:14:31 -0700294man/man3/%.3 : man/%.3.in $(srcdir)/man/man-postlude.troff
Andreas Fuchs3c965e72017-11-24 16:16:20 +0100295 $(AM_V_GEN)$(call make_man,$@,$<,$(srcdir)/man/man-postlude.troff)
Philip Triccafe671682017-06-04 19:14:31 -0700296
Philip Tricca632c4312017-06-05 11:58:08 -0700297man/man7/%.7 : man/%.7.in $(srcdir)/man/man-postlude.troff
Andreas Fuchs3c965e72017-11-24 16:16:20 +0100298 $(AM_V_GEN)$(call make_man,$@,$<,$(srcdir)/man/man-postlude.troff)
Philip Tricca632c4312017-06-05 11:58:08 -0700299
Javier Martinez Canillas0075f882018-04-13 12:49:37 +0200300EXTRA_DIST += dist/tpm-udev.rules
301
302if WITH_UDEVRULESPREFIX
303install-data-hook:
304 mv $(DESTDIR)$(udevrulesdir)/tpm-udev.rules $(DESTDIR)$(udevrulesdir)/$(udevrulesprefix)tpm-udev.rules
305
306uninstall-local:
307 -rm $(DESTDIR)$(udevrulesdir)/$(udevrulesprefix)tpm-udev.rules
308endif
309
Andreas Fuchs0dc7c292018-02-28 20:01:13 +0100310EXTRA_DIST += \
Jonas Witschel3e2c09a2019-01-09 23:37:34 +0100311 doc/doxygen.dox \
Tadeusz Strukb62a7522019-02-04 14:31:58 -0800312 doc/coding_standard_c.md \
313 doc/logging.md \
Andreas Fuchs0dc7c292018-02-28 20:01:13 +0100314 man/man-postlude.troff \
Philip Tricca5a235282018-02-27 14:59:49 -0800315 man/Tss2_Tcti_Device_Init.3.in \
Philip Triccaaddad782018-03-09 11:42:05 -0800316 man/Tss2_Tcti_Mssim_Init.3.in \
Philip Triccab8584ac2018-03-10 17:02:30 -0800317 man/tss2-tcti-device.7.in \
318 man/tss2-tcti-mssim.7.in
Philip Tricca632c4312017-06-05 11:58:08 -0700319
Andreas Fuchs0dc7c292018-02-28 20:01:13 +0100320CLEANFILES += \
321 $(man3_MANS) \
322 $(man7_MANS)
323
324### Helper Functions ###
Philip Tricca632c4312017-06-05 11:58:08 -0700325define make_parent_dir
326 if [ ! -d $(dir $1) ]; then mkdir -p $(dir $1); fi
327endef
Andreas Fuchs0dc7c292018-02-28 20:01:13 +0100328
Philip Triccafe671682017-06-04 19:14:31 -0700329# function to transform man .in files to man pages
330# $1: target
331# $2: .in file
332# $3: man postlude file
333define make_man
Andreas Fuchs3c965e72017-11-24 16:16:20 +0100334 $(call make_parent_dir,$1) && \
335 cat $2 $3 > $1 && \
Philip Triccafe671682017-06-04 19:14:31 -0700336 sed -i -e "s,[@]VERSION[@],$(PACKAGE_VERSION),g;" $1
337endef