blob: 35579578b04f086f8f52a6ea449dcb6decf2510f [file] [log] [blame]
#################################################################################
# #
# Linux TPM 1.2 TSS and TPM 2.0 TSS and Utilities Makefile #
# Written by Ken Goldman #
# IBM Thomas J. Watson Research Center #
# #
# (c) Copyright IBM Corporation 2018 - 2019 #
# #
# All rights reserved. #
# #
# Redistribution and use in source and binary forms, with or without #
# modification, are permitted provided that the following conditions are #
# met: #
# #
# Redistributions of source code must retain the above copyright notice, #
# this list of conditions and the following disclaimer. #
# #
# Redistributions in binary form must reproduce the above copyright #
# notice, this list of conditions and the following disclaimer in the #
# documentation and/or other materials provided with the distribution. #
# #
# Neither the names of the IBM Corporation nor the names of its #
# contributors may be used to endorse or promote products derived from #
# this software without specific prior written permission. #
# #
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS #
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT #
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR #
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT #
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, #
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT #
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, #
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY #
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT #
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE #
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #
# #
#################################################################################
# C compiler
CC = /usr/bin/gcc
# compile - common flags for TSS library and applications
CCFLAGS += -DTPM_POSIX
# example of pointing to a locally built openssl 1.1
# CCFLAGS += -I/home/kgold/openssl/include
# compile - for TSS library
# include the hardening flag PIC needed for compiling for dynamic
# linking
CCLFLAGS += -I. \
-fPIC \
-DTPM_TPM20 \
-DTPM_TPM12
# to compile out printf's. Regression test will fail because it tries
# to print a structure -DTPM_TSS_NO_PRINT
# example of changing the default interface type
# -DTPM_INTERFACE_TYPE_DEFAULT="\"dev\""
# compile - for applications
# include the hardening flag PIE needed for compiling for
# static linking
CCAFLAGS += -I. \
-DTPM_TPM20 \
-DTPM_TPM12 \
-fPIE
# link - common flags flags TSS library and applications
LNFLAGS += -DTPM_POSIX \
-L.
# This seems to be required on some Ubuntu distros due to an issue with the gold linker
# -fuse-ld=bfd
# example of pointing to a locally built openssl 1.1
# LNFLAGS += -L/home/kgold/openssl
# This also requires setting the environment variable LD_LIBRARY_PATH. E.g.,
# setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/home/kgold/openssl
# link - for TSS library
# hardening flags for linking shared objects
LNLFLAGS += -shared -Wl,-z,now
# This is an alternative to using the bfd linker on Ubuntu
LNLLIBS += -lcrypto
# link - for applications, TSS path, TSS and OpenSSl libraries
# hardening flags for linking executables
LNAFLAGS += -pie -Wl,-z,now -Wl,-rpath,.
LNALIBS += -libmtssutils -libmtss
# shared library
# versioned shared library
LIBTSSVERSIONED=libibmtss.so.1.3
# soname field of the shared library
# which will be made symbolic link to the versioned shared library
# this is used to provide version backward-compatibility information
LIBTSSSONAME=libibmtss.so.1
# symbolic link to the versioned shared library
# this allows linking to the shared library with '-libmtss'
os := $(shell uname -o)
ifeq ($(os),Cygwin)
LIBTSS=libibmtss.dll
else
LIBTSS=libibmtss.so
endif
# TSS utilities shared library
LIBTSSUTILSVERSIONED=libibmtssutils.so.1.3
LIBTSSUTILSSONAME=libibmtssutils.so.1
LIBTSSUTILS=libibmtssutils.so
# executable extension
EXE =
#
TSS_HEADERS=
# default TSS library
TSS_OBJS = tssfile.o \
tsscryptoh.o \
tsscrypto.o \
tssprintcmd.o
TSSUTILS_OBJS = cryptoutils.o \
ekutils.o \
imalib.o \
eventlib.o
# common to all builds
include makefile-common
include makefile-common12
include makefile-common20
# default build target
all: $(ALL)
# TSS shared library source
tss.o: $(TSS_HEADERS) tss.c
$(CC) $(CCFLAGS) $(CCLFLAGS) tss.c
tssauth.o: $(TSS_HEADERS) tssauth.c
$(CC) $(CCFLAGS) $(CCLFLAGS) tssauth.c
tssproperties.o: $(TSS_HEADERS) tssproperties.c
$(CC) $(CCFLAGS) $(CCLFLAGS) tssproperties.c
tssmarshal.o: $(TSS_HEADERS) tssmarshal.c
$(CC) $(CCFLAGS) $(CCLFLAGS) tssmarshal.c
tsscryptoh.o: $(TSS_HEADERS) tsscryptoh.c
$(CC) $(CCFLAGS) $(CCLFLAGS) tsscryptoh.c
tsscrypto.o: $(TSS_HEADERS) tsscrypto.c
$(CC) $(CCFLAGS) $(CCLFLAGS) tsscrypto.c
tssutils.o: $(TSS_HEADERS) tssutils.c
$(CC) $(CCFLAGS) $(CCLFLAGS) tssutils.c
tssfile.o: $(TSS_HEADERS) tssfile.c
$(CC) $(CCFLAGS) $(CCLFLAGS) tssfile.c
tsssocket.o: $(TSS_HEADERS) tsssocket.c
$(CC) $(CCFLAGS) $(CCLFLAGS) tsssocket.c
tssdev.o: $(TSS_HEADERS) tssdev.c
$(CC) $(CCFLAGS) $(CCLFLAGS) tssdev.c
tsstransmit.o: $(TSS_HEADERS) tsstransmit.c
$(CC) $(CCFLAGS) $(CCLFLAGS) tsstransmit.c
tssresponsecode.o: $(TSS_HEADERS) tssresponsecode.c
$(CC) $(CCFLAGS) $(CCLFLAGS) tssresponsecode.c
tssccattributes.o: $(TSS_HEADERS) tssccattributes.c
$(CC) $(CCFLAGS) $(CCLFLAGS) tssccattributes.c
tssprint.o: $(TSS_HEADERS) tssprint.c
$(CC) $(CCFLAGS) $(CCLFLAGS) tssprint.c
tssprintcmd.o: $(TSS_HEADERS) tssprintcmd.c
$(CC) $(CCFLAGS) $(CCLFLAGS) tssprintcmd.c
Unmarshal.o: $(TSS_HEADERS) Unmarshal.c
$(CC) $(CCFLAGS) $(CCLFLAGS) Unmarshal.c
Commands.o: $(TSS_HEADERS) Commands.c
$(CC) $(CCFLAGS) $(CCLFLAGS) Commands.c
CommandAttributeData.o: $(TSS_HEADERS) CommandAttributeData.c
$(CC) $(CCFLAGS) $(CCLFLAGS) CommandAttributeData.c
ntc2lib.o: $(TSS_HEADERS) ntc2lib.c
$(CC) $(CCFLAGS) $(CCLFLAGS) ntc2lib.c
tssntc.o: $(TSS_HEADERS) tssntc.c
$(CC) $(CCFLAGS) $(CCLFLAGS) tssntc.c
# TPM 2.0
tss20.o: $(TSS_HEADERS) tss20.c
$(CC) $(CCFLAGS) $(CCLFLAGS) tss20.c
tssauth20.o: $(TSS_HEADERS) tssauth20.c
$(CC) $(CCFLAGS) $(CCLFLAGS) tssauth20.c
# TPM 1.2
tss12.o: $(TSS_HEADERS) tss12.c
$(CC) $(CCFLAGS) $(CCLFLAGS) tss12.c
tssauth12.o: $(TSS_HEADERS) tssauth12.c
$(CC) $(CCFLAGS) $(CCLFLAGS) tssauth12.c
tssmarshal12.o: $(TSS_HEADERS) tssmarshal12.c
$(CC) $(CCFLAGS) $(CCLFLAGS) tssmarshal12.c
Unmarshal12.o: $(TSS_HEADERS) Unmarshal12.c
$(CC) $(CCFLAGS) $(CCLFLAGS) Unmarshal12.c
Commands12.o: $(TSS_HEADERS) Commands12.c
$(CC) $(CCFLAGS) $(CCLFLAGS) Commands12.c
tssccattributes12.o: $(TSS_HEADERS) tssccattributes12.c
$(CC) $(CCFLAGS) $(CCLFLAGS) tssccattributes12.c
CommandAttributeData12.o: $(TSS_HEADERS) CommandAttributeData12.c
$(CC) $(CCFLAGS) $(CCLFLAGS) CommandAttributeData12.c
# TSS utilities shared library source
cryptoutils.o: $(TSS_HEADERS) cryptoutils.c
$(CC) $(CCFLAGS) $(CCLFLAGS) cryptoutils.c
ekutils.o: $(TSS_HEADERS) ekutils.c
$(CC) $(CCFLAGS) $(CCLFLAGS) ekutils.c
imalib.o: $(TSS_HEADERS) imalib.c
$(CC) $(CCFLAGS) $(CCLFLAGS) imalib.c
eventlib.o: $(TSS_HEADERS) eventlib.c
$(CC) $(CCFLAGS) $(CCLFLAGS) eventlib.c
# TSS shared library build
$(LIBTSS): $(TSS_OBJS)
$(CC) $(LNFLAGS) $(LNLFLAGS) -Wl,-soname,$(LIBTSSSONAME) -o $(LIBTSSVERSIONED) \
$(TSS_OBJS) $(LNLLIBS)
rm -f $(LIBTSSSONAME)
ln -sf $(LIBTSSVERSIONED) $(LIBTSSSONAME)
rm -f $(LIBTSS)
ln -sf $(LIBTSSSONAME) $(LIBTSS)
# TSS utilities shared library
$(LIBTSSUTILS): $(TSSUTILS_OBJS)
$(CC) $(LNFLAGS) $(LNLFLAGS) -Wl,-soname,$(LIBTSSUTILSSONAME) -o $(LIBTSSUTILSVERSIONED) \
$(TSSUTILS_OBJS) $(LNLLIBS)
rm -f $(LIBTSSSUTILSONAME)
ln -sf $(LIBTSSUTILSVERSIONED) $(LIBTSSUTILSSONAME)
rm -f $(LIBTSSUTILS)
ln -sf $(LIBTSSUTILSSONAME) $(LIBTSSUTILS)
.PHONY: clean
.PRECIOUS: %.o
clean:
rm -f *.o *~ \
h*.bin \
$(LIBTSSSONAME) \
$(LIBTSSVERSIONED) \
$(LIBTSSUTILSSONAME) \
$(LIBTSSUTILSVERSIONED) \
$(ALL)
# applications
activatecredential: ibmtss/tss.h activatecredential.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) activatecredential.o $(LNALIBS) -o activatecredential
eventextend: eventextend.o eventlib.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) eventextend.o $(LNALIBS) -o eventextend
imaextend: imaextend.o imalib.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) imaextend.o $(LNALIBS) -o imaextend
certify: ibmtss/tss.h certify.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) certify.o $(LNALIBS) -o certify
certifycreation: ibmtss/tss.h certifycreation.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) certifycreation.o $(LNALIBS) -o certifycreation
certifyx509: ibmtss/tss.h certifyx509.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) certifyx509.o $(LNALIBS) -lcrypto -o certifyx509
changeeps: ibmtss/tss.h changeeps.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) changeeps.o $(LNALIBS) -o changeeps
changepps: ibmtss/tss.h changepps.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) changepps.o $(LNALIBS) -o changepps
clear: ibmtss/tss.h clear.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) clear.o $(LNALIBS) -o clear
clearcontrol: ibmtss/tss.h clearcontrol.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) clearcontrol.o $(LNALIBS) -o clearcontrol
clockrateadjust: ibmtss/tss.h clockrateadjust.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) clockrateadjust.o $(LNALIBS) -o clockrateadjust
clockset: ibmtss/tss.h clockset.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) clockset.o $(LNALIBS) -o clockset
commit: ibmtss/tss.h commit.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) commit.o $(LNALIBS) -o commit
contextload: ibmtss/tss.h contextload.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) contextload.o $(LNALIBS) -o contextload
contextsave: ibmtss/tss.h contextsave.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) contextsave.o $(LNALIBS) -o contextsave
create: ibmtss/tss.h create.o objecttemplates.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) create.o objecttemplates.o $(LNALIBS) -o create
createloaded: ibmtss/tss.h createloaded.o objecttemplates.o $(LIBTSS) $(LIBTTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) createloaded.o objecttemplates.o $(LNALIBS) -o createloaded
createprimary: ibmtss/tss.h createprimary.o objecttemplates.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) createprimary.o objecttemplates.o $(LNALIBS) -o createprimary
dictionaryattacklockreset: ibmtss/tss.h dictionaryattacklockreset.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) dictionaryattacklockreset.o $(LNALIBS) -o dictionaryattacklockreset
dictionaryattackparameters: ibmtss/tss.h dictionaryattackparameters.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) dictionaryattackparameters.o $(LNALIBS) -o dictionaryattackparameters
duplicate: ibmtss/tss.h duplicate.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) duplicate.o $(LNALIBS) -o duplicate
eccparameters: ibmtss/tss.h eccparameters.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) eccparameters.o $(LNALIBS) -o eccparameters
ecephemeral: ibmtss/tss.h ecephemeral.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) ecephemeral.o $(LNALIBS) -o ecephemeral
encryptdecrypt: ibmtss/tss.h encryptdecrypt.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) encryptdecrypt.o $(LNALIBS) -o encryptdecrypt
eventsequencecomplete: ibmtss/tss.h eventsequencecomplete.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) eventsequencecomplete.o $(LNALIBS) -o eventsequencecomplete
evictcontrol: ibmtss/tss.h evictcontrol.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) evictcontrol.o $(LNALIBS) -o evictcontrol
flushcontext: ibmtss/tss.h flushcontext.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) flushcontext.o $(LNALIBS) -o flushcontext
getcommandauditdigest: ibmtss/tss.h getcommandauditdigest.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) getcommandauditdigest.o $(LNALIBS) -o getcommandauditdigest
getcapability: ibmtss/tss.h getcapability.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) getcapability.o $(LNALIBS) -o getcapability
getrandom: ibmtss/tss.h getrandom.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) getrandom.o $(LNALIBS) -o getrandom
gettestresult: ibmtss/tss.h gettestresult.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) gettestresult.o $(LNALIBS) -o gettestresult
getsessionauditdigest: ibmtss/tss.h getsessionauditdigest.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) getsessionauditdigest.o $(LNALIBS) -o getsessionauditdigest
gettime: ibmtss/tss.h gettime.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) gettime.o $(LNALIBS) -o gettime
hashsequencestart: ibmtss/tss.h hashsequencestart.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) hashsequencestart.o $(LNALIBS) -o hashsequencestart
hash: ibmtss/tss.h hash.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) hash.o $(LNALIBS) -o hash
hierarchycontrol: ibmtss/tss.h hierarchycontrol.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) hierarchycontrol.o $(LNALIBS) -o hierarchycontrol
hierarchychangeauth: ibmtss/tss.h hierarchychangeauth.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) hierarchychangeauth.o $(LNALIBS) -o hierarchychangeauth
hmac: ibmtss/tss.h hmac.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) hmac.o $(LNALIBS) -o hmac
hmacstart: ibmtss/tss.h hmacstart.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) hmacstart.o $(LNALIBS) -o hmacstart
import: ibmtss/tss.h import.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) import.o $(LNALIBS) -o import
importpem: ibmtss/tss.h importpem.o objecttemplates.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) importpem.o objecttemplates.o $(LNALIBS) -o importpem
load: ibmtss/tss.h load.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) load.o $(LNALIBS) -o load
loadexternal: ibmtss/tss.h loadexternal.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) loadexternal.o $(LNALIBS) -o loadexternal
makecredential: ibmtss/tss.h makecredential.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) makecredential.o $(LNALIBS) -o makecredential
nvcertify: ibmtss/tss.h nvcertify.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) nvcertify.o $(LNALIBS) -o nvcertify
nvchangeauth: ibmtss/tss.h nvchangeauth.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) nvchangeauth.o $(LNALIBS) -o nvchangeauth
nvdefinespace: ibmtss/tss.h nvdefinespace.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) nvdefinespace.o $(LNALIBS) -o nvdefinespace
nvextend: ibmtss/tss.h nvextend.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) nvextend.o $(LNALIBS) -o nvextend
nvglobalwritelock: ibmtss/tss.h nvglobalwritelock.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) nvglobalwritelock.o $(LNALIBS) -o nvglobalwritelock
nvincrement: ibmtss/tss.h nvincrement.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) nvincrement.o $(LNALIBS) -o nvincrement
nvread: ibmtss/tss.h nvread.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) nvread.o $(LNALIBS) -o nvread
nvreadlock: ibmtss/tss.h nvreadlock.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) nvreadlock.o $(LNALIBS) -o nvreadlock
nvreadpublic: ibmtss/tss.h nvreadpublic.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) nvreadpublic.o $(LNALIBS) -o nvreadpublic
nvsetbits: ibmtss/tss.h nvsetbits.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) nvsetbits.o $(LNALIBS) -o nvsetbits
nvundefinespace: ibmtss/tss.h nvundefinespace.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) nvundefinespace.o $(LNALIBS) -o nvundefinespace
nvundefinespacespecial: ibmtss/tss.h nvundefinespacespecial.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) nvundefinespacespecial.o $(LNALIBS) -o nvundefinespacespecial
nvwrite: ibmtss/tss.h nvwrite.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) nvwrite.o $(LNALIBS) -o nvwrite
nvwritelock: ibmtss/tss.h nvwritelock.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) nvwritelock.o $(LNALIBS) -o nvwritelock
objectchangeauth: ibmtss/tss.h objectchangeauth.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) objectchangeauth.o $(LNALIBS) -o objectchangeauth
pcrallocate: ibmtss/tss.h pcrallocate.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) pcrallocate.o $(LNALIBS) -o pcrallocate
pcrevent: ibmtss/tss.h pcrevent.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) pcrevent.o $(LNALIBS) -o pcrevent
pcrextend: ibmtss/tss.h pcrextend.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) pcrextend.o $(LNALIBS) -o pcrextend
pcrread: ibmtss/tss.h pcrread.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) pcrread.o $(LNALIBS) -o pcrread
pcrreset: ibmtss/tss.h pcrreset.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) pcrreset.o $(LNALIBS) -o pcrreset
policyauthorize: ibmtss/tss.h policyauthorize.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) policyauthorize.o $(LNALIBS) -o policyauthorize
policyauthvalue: ibmtss/tss.h policyauthvalue.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) policyauthvalue.o $(LNALIBS) -o policyauthvalue
policycommandcode: ibmtss/tss.h policycommandcode.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) policycommandcode.o $(LNALIBS) -o policycommandcode
policycphash: ibmtss/tss.h policycphash.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) policycphash.o $(LNALIBS) -o policycphash
policynamehash: ibmtss/tss.h policynamehash.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) policynamehash.o $(LNALIBS) -o policynamehash
policycountertimer: ibmtss/tss.h policycountertimer.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) policycountertimer.o $(LNALIBS) -o policycountertimer
policyduplicationselect: ibmtss/tss.h policyduplicationselect.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) policyduplicationselect.o $(LNALIBS) -o policyduplicationselect
policygetdigest: ibmtss/tss.h policygetdigest.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) policygetdigest.o $(LNALIBS) -o policygetdigest
policymaker: ibmtss/tss.h policymaker.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) policymaker.o $(LNALIBS) -o policymaker
policymakerpcr: ibmtss/tss.h policymakerpcr.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) policymakerpcr.o $(LNALIBS) -o policymakerpcr
policyauthorizenv: ibmtss/tss.h policyauthorizenv.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) policyauthorizenv.o $(LNALIBS) -o policyauthorizenv
policynv: ibmtss/tss.h policynv.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) policynv.o $(LNALIBS) -o policynv
policynvwritten: ibmtss/tss.h policynvwritten.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) policynvwritten.o $(LNALIBS) -o policynvwritten
policyor: ibmtss/tss.h policyor.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) policyor.o $(LNALIBS) -o policyor
policypassword: ibmtss/tss.h policypassword.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) policypassword.o $(LNALIBS) -o policypassword
policypcr: ibmtss/tss.h policypcr.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) policypcr.o $(LNALIBS) -o policypcr
policyrestart: ibmtss/tss.h policyrestart.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) policyrestart.o $(LNALIBS) -o policyrestart
policysigned: ibmtss/tss.h policysigned.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) policysigned.o $(LNALIBS) -o policysigned
policysecret: ibmtss/tss.h policysecret.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) policysecret.o $(LNALIBS) -o policysecret
policytemplate: ibmtss/tss.h policytemplate.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) policytemplate.o $(LNALIBS) -o policytemplate
policyticket: ibmtss/tss.h policyticket.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) policyticket.o $(LNALIBS) -o policyticket
quote: ibmtss/tss.h quote.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) quote.o $(LNALIBS) -o quote
powerup: ibmtss/tss.h powerup.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) powerup.o $(LNALIBS) -o powerup
readclock: ibmtss/tss.h readclock.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) readclock.o $(LNALIBS) -o readclock
readpublic: ibmtss/tss.h readpublic.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) readpublic.o $(LNALIBS) -o readpublic
returncode: ibmtss/tss.h returncode.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) returncode.o $(LNALIBS) -o returncode
rewrap: ibmtss/tss.h rewrap.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) rewrap.o $(LNALIBS) -o rewrap
rsadecrypt: ibmtss/tss.h rsadecrypt.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) rsadecrypt.o $(LNALIBS) -o rsadecrypt
rsaencrypt: ibmtss/tss.h rsaencrypt.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) rsaencrypt.o $(LNALIBS) -o rsaencrypt
sequenceupdate: ibmtss/tss.h sequenceupdate.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) sequenceupdate.o $(LNALIBS) -o sequenceupdate
sequencecomplete: ibmtss/tss.h sequencecomplete.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) sequencecomplete.o $(LNALIBS) -o sequencecomplete
setprimarypolicy: ibmtss/tss.h setprimarypolicy.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) setprimarypolicy.o $(LNALIBS) -o setprimarypolicy
setcommandcodeauditstatus: ibmtss/tss.h setcommandcodeauditstatus.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) setcommandcodeauditstatus.o $(LNALIBS) -o setcommandcodeauditstatus
shutdown: ibmtss/tss.h shutdown.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) shutdown.o $(LNALIBS) -o shutdown
sign: ibmtss/tss.h sign.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) sign.o $(LNALIBS) -o sign
startauthsession: ibmtss/tss.h startauthsession.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) startauthsession.o $(LNALIBS) -o startauthsession
startup: ibmtss/tss.h startup.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) startup.o $(LNALIBS) -o startup
stirrandom: ibmtss/tss.h stirrandom.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) stirrandom.o $(LNALIBS) -o stirrandom
unseal: ibmtss/tss.h unseal.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) unseal.o $(LNALIBS) -o unseal
verifysignature: ibmtss/tss.h verifysignature.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) verifysignature.o $(LNALIBS) -o verifysignature
zgen2phase: ibmtss/tss.h zgen2phase.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) zgen2phase.o $(LNALIBS) -o zgen2phase
signapp: ibmtss/tss.h signapp.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) signapp.o $(LNALIBS) -o signapp
writeapp: ibmtss/tss.h writeapp.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) writeapp.o $(LNALIBS) -o writeapp
timepacket: ibmtss/tss.h timepacket.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) timepacket.o $(LNALIBS) -o timepacket
createek: createek.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) createek.o $(LNALIBS) -o createek
createekcert: createekcert.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) createekcert.o $(LNALIBS) -o createekcert
tpm2pem: tpm2pem.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) tpm2pem.o $(LNALIBS) -o tpm2pem
tpmpublic2eccpoint: tpmpublic2eccpoint.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) tpmpublic2eccpoint.o $(LNALIBS) -o tpmpublic2eccpoint
ntc2getconfig: ntc2getconfig.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) ntc2getconfig.o $(LNALIBS) -o ntc2getconfig
ntc2preconfig: ntc2preconfig.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) ntc2preconfig.o $(LNALIBS) -o ntc2preconfig
ntc2lockconfig: ntc2lockconfig.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) ntc2lockconfig.o $(LNALIBS) -o ntc2lockconfig
publicname: publicname.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) publicname.o $(LNALIBS) -o publicname
getcryptolibrary: getcryptolibrary.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) getcryptolibrary.o $(LNALIBS) -o getcryptolibrary
printattr: printattr.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) printattr.o $(LNALIBS) -o printattr
tpmcmd: tpmcmd.o $(LIBTSS) $(LIBTSSUTILS)
$(CC) $(LNFLAGS) $(LNAFLAGS) tpmcmd.o $(LNALIBS) -o tpmcmd
# for applications, not for TSS library
%.o: %.c ibmtss/tss.h
$(CC) $(CCFLAGS) $(CCAFLAGS) $< -o $@