aboutsummaryrefslogtreecommitdiffstats
path: root/roms/skiboot/libstb/tss2/ibmtpm20tss/utils/makefile.nofile
diff options
context:
space:
mode:
authorAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
committerAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
commitaf1a266670d040d2f4083ff309d732d648afba2a (patch)
tree2fc46203448ddcc6f81546d379abfaeb323575e9 /roms/skiboot/libstb/tss2/ibmtpm20tss/utils/makefile.nofile
parente02cda008591317b1625707ff8e115a4841aa889 (diff)
Add submodule dependency filesHEADmaster
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'roms/skiboot/libstb/tss2/ibmtpm20tss/utils/makefile.nofile')
-rw-r--r--roms/skiboot/libstb/tss2/ibmtpm20tss/utils/makefile.nofile243
1 files changed, 243 insertions, 0 deletions
diff --git a/roms/skiboot/libstb/tss2/ibmtpm20tss/utils/makefile.nofile b/roms/skiboot/libstb/tss2/ibmtpm20tss/utils/makefile.nofile
new file mode 100644
index 000000000..3d22cc4fc
--- /dev/null
+++ b/roms/skiboot/libstb/tss2/ibmtpm20tss/utils/makefile.nofile
@@ -0,0 +1,243 @@
+#################################################################################
+# #
+# Linux TPM2 Utilities Makefile for TSS without files #
+# Written by Ken Goldman #
+# IBM Thomas J. Watson Research Center #
+# #
+# (c) Copyright IBM Corporation 2016 - 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. #
+# #
+#################################################################################
+
+# makefile to build a TSS library that does not require file read/write.
+#
+# See the documentation for limitations.
+
+# C compiler
+
+CC = /usr/bin/gcc
+
+# compile - common flags for TSS library and applications
+
+CCFLAGS += -DTPM_POSIX \
+ -DTPM_TSS_NOFILE
+
+# -DTPM_NOSOCKET
+
+# compile - for TSS library
+
+# include the hardening flag PIC needed for compiling for dynamic
+# linking
+
+CCLFLAGS += -I. \
+ -fPIC \
+ -DTPM_TPM20
+
+# compile - for applications
+
+# include the hardening flag PIE needed for compiling for
+# static linking
+
+CCAFLAGS += -I. \
+ -DTPM_TPM20 \
+ -fPIE
+
+# link - common flags flags TSS library and applications
+
+LNFLAGS += -DTPM_POSIX \
+ -L.
+
+# 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
+
+LNAFLAGS += -pie -Wl,-z,now -Wl,-rpath,.
+
+LNALIBS += -libmtssutils -libmtssmin
+
+# versioned shared library
+LIBTSSVERSIONED=libibmtssmin.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=libibmtssmin.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=libibmtssmin.dll
+else
+ LIBTSS=libibmtssmin.so
+endif
+
+# TSS utilities shared library
+
+LIBTSSUTILSVERSIONED=libibmtssutils.so.1.3
+LIBTSSUTILSSONAME=libibmtssutils.so.1
+LIBTSSUTILS=libibmtssutils.so
+
+# executable extension
+
+EXE =
+
+ALL = signapp writeapp
+
+TSS_HEADERS = ibmtss/tssfile.h
+
+# default TSS library
+
+TSS_OBJS = 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-common20
+
+# default build target
+
+all: signapp writeapp
+
+# 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
+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
+
+# 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 \
+ $(LIBTSSSONAME) \
+ $(LIBTSSVERSIONED) \
+ $(LIBTSSUTILSSONAME) \
+ $(LIBTSSUTILSVERSIONED) \
+ $(ALL)
+
+# applications
+
+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
+
+# for applications, not for TSS library
+
+%.o: %.c ibmtss/tss.h
+ $(CC) $(CCFLAGS) $(CCAFLAGS) $< -o $@
+