tpm2-tools中Makefile的关键宏定义

  • AM_V_CC
AM_V_CC = $(am__v_CC_$(V))

可以看到,AM_V_CC实际上分为两个部分:am__v_CC_和V。

am__v_CC_相关定义如下: 

am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
AM_DEFAULT_VERBOSITY = 0
am__v_CC_0 = @echo "  CC      " $@;

变量V并没有被赋值,为空。

因此,综上得到AM_V_CC的值实际为:

@echo "  CC      " $@;

  • CC
CC = gcc

  • DEFS
DEFS = -DHAVE_CONFIG_H

  • DEFAULT_INCLUDES
DEFAULT_INCLUDES = -I. -I$(top_builddir)/lib
top_builddir = .

综上,最终得到AM_V_CC的值实际为:

-I. -I./lib


 

  • INCLUDES

变量INCLUDES并没有被赋值,为空。

  • AM_CPPFLAGS

变量AM_CPPFLAGS并没有被赋值,为空。

  • CPPFLAGS
CPPFLAGS =  -D_FORTIFY_SOURCE=2

  • tools_tpm2_CFLAGS
tools_tpm2_CFLAGS = $(AM_CFLAGS) -DTPM2_TOOLS_MAX="$(words $(tpm2_tools))"
AM_CFLAGS := \
    $(INCLUDE_DIRS) $(EXTRA_CFLAGS) $(TSS2_ESYS_CFLAGS) $(TSS2_MU_CFLAGS) \
    $(CRYPTO_CFLAGS) $(CODE_COVERAGE_CFLAGS) $(TSS2_TCTILDR_CFLAGS) \
    $(TSS2_RC_CFLAGS) $(TSS2_SYS_CFLAGS)

这个涉及的项就比较多了,直接给出最终的值为:

-I./tools -I./lib -Wall -Wextra -Wformat -Wformat-security -Wstack-protector -fstack-protector-all -Wstrict-overflow=5 -O2 -fPIC -fPIE -D_GNU_SOURCE -std=gnu99 -Wstringop-overflow=4 -Wstringop-truncation -Wduplicated-
branches -Wduplicated-cond -Wbool-compare -fdata-sections -ffunction-sections -I/usr/local/include -I/usr/local/include/tss2 -I/usr/local/include -I/usr/local/include/tss2 -I/usr/local/include -I/usr/local/include/tss2 -I/usr/local/incl
ude -I/usr/local/include/tss2   -I/usr/local/include -I/usr/local/include/tss2 -I/usr/local/include -I/usr/local/include/tss2 -I/usr/local/include -I/usr/local/include/tss2 -I/usr/local/include -I/usr/local/include/tss2 -DTPM2_TOOLS_MAX
=101

  • CFLAGS

变量CFLAGS并没有被赋值,为空。

  • tools_tpm2_OBJECTS
tools_tpm2_OBJECTS = $(am_tools_tpm2_OBJECTS)
am_tools_tpm2_OBJECTS = tools/tpm2-tpm2_tool.$(OBJEXT) \
	$(am__objects_5)
OBJEXT = o
am__objects_5 = tools/misc/tpm2-tpm2_certifyX509certutil.$(OBJEXT) \
	tools/misc/tpm2-tpm2_checkquote.$(OBJEXT) \
	tools/misc/tpm2-tpm2_encodeobject.$(OBJEXT) \
	tools/misc/tpm2-tpm2_eventlog.$(OBJEXT) \
	tools/misc/tpm2-tpm2_print.$(OBJEXT) \
	tools/misc/tpm2-tpm2_rc_decode.$(OBJEXT) \
	tools/tpm2-tpm2_activatecredential.$(OBJEXT) \
	tools/tpm2-tpm2_certify.$(OBJEXT) \
	tools/tpm2-tpm2_changeauth.$(OBJEXT) \
	tools/tpm2-tpm2_changeeps.$(OBJEXT) \
	tools/tpm2-tpm2_changepps.$(OBJEXT) \
	tools/tpm2-tpm2_clear.$(OBJEXT) \
	tools/tpm2-tpm2_clearcontrol.$(OBJEXT) \
	tools/tpm2-tpm2_clockrateadjust.$(OBJEXT) \
	tools/tpm2-tpm2_create.$(OBJEXT) \
	tools/tpm2-tpm2_createak.$(OBJEXT) \
	tools/tpm2-tpm2_createek.$(OBJEXT) \
	tools/tpm2-tpm2_createpolicy.$(OBJEXT) \
	tools/tpm2-tpm2_setprimarypolicy.$(OBJEXT) \
	tools/tpm2-tpm2_createprimary.$(OBJEXT) \
	tools/tpm2-tpm2_dictionarylockout.$(OBJEXT) \
	tools/tpm2-tpm2_duplicate.$(OBJEXT) \
	tools/tpm2-tpm2_getcap.$(OBJEXT) \
	tools/tpm2-tpm2_gettestresult.$(OBJEXT) \
	tools/tpm2-tpm2_encryptdecrypt.$(OBJEXT) \
	tools/tpm2-tpm2_evictcontrol.$(OBJEXT) \
	tools/tpm2-tpm2_flushcontext.$(OBJEXT) \
	tools/tpm2-tpm2_getekcertificate.$(OBJEXT) \
	tools/tpm2-tpm2_getrandom.$(OBJEXT) \
	tools/tpm2-tpm2_gettime.$(OBJEXT) \
	tools/tpm2-tpm2_hash.$(OBJEXT) \
	tools/tpm2-tpm2_hierarchycontrol.$(OBJEXT) \
	tools/tpm2-tpm2_hmac.$(OBJEXT) \
	tools/tpm2-tpm2_import.$(OBJEXT) \
	tools/tpm2-tpm2_incrementalselftest.$(OBJEXT) \
	tools/tpm2-tpm2_load.$(OBJEXT) \
	tools/tpm2-tpm2_loadexternal.$(OBJEXT) \
	tools/tpm2-tpm2_makecredential.$(OBJEXT) \
	tools/tpm2-tpm2_nvdefine.$(OBJEXT) \
	tools/tpm2-tpm2_nvextend.$(OBJEXT) \
	tools/tpm2-tpm2_nvincrement.$(OBJEXT) \
	tools/tpm2-tpm2_nvreadpublic.$(OBJEXT) \
	tools/tpm2-tpm2_nvread.$(OBJEXT) \
	tools/tpm2-tpm2_nvreadlock.$(OBJEXT) \
	tools/tpm2-tpm2_nvundefine.$(OBJEXT) \
	tools/tpm2-tpm2_nvwrite.$(OBJEXT) \
	tools/tpm2-tpm2_nvwritelock.$(OBJEXT) \
	tools/tpm2-tpm2_nvsetbits.$(OBJEXT) \
	tools/tpm2-tpm2_pcrallocate.$(OBJEXT) \
	tools/tpm2-tpm2_pcrevent.$(OBJEXT) \
	tools/tpm2-tpm2_pcrextend.$(OBJEXT) \
	tools/tpm2-tpm2_pcrread.$(OBJEXT) \
	tools/tpm2-tpm2_pcrreset.$(OBJEXT) \
	tools/tpm2-tpm2_policypcr.$(OBJEXT) \
	tools/tpm2-tpm2_policyauthorize.$(OBJEXT) \
	tools/tpm2-tpm2_policyauthorizenv.$(OBJEXT) \
	tools/tpm2-tpm2_policynv.$(OBJEXT) \
	tools/tpm2-tpm2_policycountertimer.$(OBJEXT) \
	tools/tpm2-tpm2_policyor.$(OBJEXT) \
	tools/tpm2-tpm2_policynamehash.$(OBJEXT) \
	tools/tpm2-tpm2_policytemplate.$(OBJEXT) \
	tools/tpm2-tpm2_policycphash.$(OBJEXT) \
	tools/tpm2-tpm2_policypassword.$(OBJEXT) \
	tools/tpm2-tpm2_policysigned.$(OBJEXT) \
	tools/tpm2-tpm2_policyticket.$(OBJEXT) \
	tools/tpm2-tpm2_policyauthvalue.$(OBJEXT) \
	tools/tpm2-tpm2_policysecret.$(OBJEXT) \
	tools/tpm2-tpm2_policyrestart.$(OBJEXT) \
	tools/tpm2-tpm2_policycommandcode.$(OBJEXT) \
	tools/tpm2-tpm2_policynvwritten.$(OBJEXT) \
	tools/tpm2-tpm2_policyduplicationselect.$(OBJEXT) \
	tools/tpm2-tpm2_policylocality.$(OBJEXT) \
	tools/tpm2-tpm2_quote.$(OBJEXT) \
	tools/tpm2-tpm2_readclock.$(OBJEXT) \
	tools/tpm2-tpm2_readpublic.$(OBJEXT) \
	tools/tpm2-tpm2_rsadecrypt.$(OBJEXT) \
	tools/tpm2-tpm2_rsaencrypt.$(OBJEXT) \
	tools/tpm2-tpm2_send.$(OBJEXT) \
	tools/tpm2-tpm2_selftest.$(OBJEXT) \
	tools/tpm2-tpm2_setclock.$(OBJEXT) \
	tools/tpm2-tpm2_shutdown.$(OBJEXT) \
	tools/tpm2-tpm2_sign.$(OBJEXT) \
	tools/tpm2-tpm2_certifycreation.$(OBJEXT) \
	tools/tpm2-tpm2_nvcertify.$(OBJEXT) \
	tools/tpm2-tpm2_startauthsession.$(OBJEXT) \
	tools/tpm2-tpm2_startup.$(OBJEXT) \
	tools/tpm2-tpm2_stirrandom.$(OBJEXT) \
	tools/tpm2-tpm2_testparms.$(OBJEXT) \
	tools/tpm2-tpm2_unseal.$(OBJEXT) \
	tools/tpm2-tpm2_verifysignature.$(OBJEXT) \
	tools/tpm2-tpm2_setcommandauditstatus.$(OBJEXT) \
	tools/tpm2-tpm2_getcommandauditdigest.$(OBJEXT) \
	tools/tpm2-tpm2_getsessionauditdigest.$(OBJEXT) \
	tools/tpm2-tpm2_geteccparameters.$(OBJEXT) \
	tools/tpm2-tpm2_ecephemeral.$(OBJEXT) \
	tools/tpm2-tpm2_commit.$(OBJEXT) \
	tools/tpm2-tpm2_ecdhkeygen.$(OBJEXT) \
	tools/tpm2-tpm2_ecdhzgen.$(OBJEXT) \
	tools/tpm2-tpm2_zgen2phase.$(OBJEXT) \
	tools/tpm2-tpm2_sessionconfig.$(OBJEXT) \
	tools/tpm2-tpm2_getpolicydigest.$(OBJEXT) \

同样由于涉及的项就比较多了,因此直接给出最终的值为:

tools/tpm2-tpm2_tool.o tools/misc/tpm2-tpm2_certifyX509certutil.o tools/misc/tpm2-tpm2_checkquote.o tools/misc/tpm2-tpm2_encodeobject.o tools/misc/tpm2-tpm2_eventlog.o tools/misc/tpm2-tpm2_print.o tools/misc/tpm2-tpm
2_rc_decode.o tools/tpm2-tpm2_activatecredential.o tools/tpm2-tpm2_certify.o tools/tpm2-tpm2_changeauth.o tools/tpm2-tpm2_changeeps.o tools/tpm2-tpm2_changepps.o tools/tpm2-tpm2_clear.o tools/tpm2-tpm2_clearcontrol.o tools/tpm2-tpm2_clo
ckrateadjust.o tools/tpm2-tpm2_create.o tools/tpm2-tpm2_createak.o tools/tpm2-tpm2_createek.o tools/tpm2-tpm2_createpolicy.o tools/tpm2-tpm2_setprimarypolicy.o tools/tpm2-tpm2_createprimary.o tools/tpm2-tpm2_dictionarylockout.o tools/tp
m2-tpm2_duplicate.o tools/tpm2-tpm2_getcap.o tools/tpm2-tpm2_gettestresult.o tools/tpm2-tpm2_encryptdecrypt.o tools/tpm2-tpm2_evictcontrol.o tools/tpm2-tpm2_flushcontext.o tools/tpm2-tpm2_getekcertificate.o tools/tpm2-tpm2_getrandom.o t
ools/tpm2-tpm2_gettime.o tools/tpm2-tpm2_hash.o tools/tpm2-tpm2_hierarchycontrol.o tools/tpm2-tpm2_hmac.o tools/tpm2-tpm2_import.o tools/tpm2-tpm2_incrementalselftest.o tools/tpm2-tpm2_load.o tools/tpm2-tpm2_loadexternal.o tools/tpm2-tp
m2_makecredential.o tools/tpm2-tpm2_nvdefine.o tools/tpm2-tpm2_nvextend.o tools/tpm2-tpm2_nvincrement.o tools/tpm2-tpm2_nvreadpublic.o tools/tpm2-tpm2_nvread.o tools/tpm2-tpm2_nvreadlock.o tools/tpm2-tpm2_nvundefine.o tools/tpm2-tpm2_nv
write.o tools/tpm2-tpm2_nvwritelock.o tools/tpm2-tpm2_nvsetbits.o tools/tpm2-tpm2_pcrallocate.o tools/tpm2-tpm2_pcrevent.o tools/tpm2-tpm2_pcrextend.o tools/tpm2-tpm2_pcrread.o tools/tpm2-tpm2_pcrreset.o tools/tpm2-tpm2_policypcr.o tool
s/tpm2-tpm2_policyauthorize.o tools/tpm2-tpm2_policyauthorizenv.o tools/tpm2-tpm2_policynv.o tools/tpm2-tpm2_policycountertimer.o tools/tpm2-tpm2_policyor.o tools/tpm2-tpm2_policynamehash.o tools/tpm2-tpm2_policytemplate.o tools/tpm2-tp
m2_policycphash.o tools/tpm2-tpm2_policypassword.o tools/tpm2-tpm2_policysigned.o tools/tpm2-tpm2_policyticket.o tools/tpm2-tpm2_policyauthvalue.o tools/tpm2-tpm2_policysecret.o tools/tpm2-tpm2_policyrestart.o tools/tpm2-tpm2_policycomm
andcode.o tools/tpm2-tpm2_policynvwritten.o tools/tpm2-tpm2_policyduplicationselect.o tools/tpm2-tpm2_policylocality.o tools/tpm2-tpm2_quote.o tools/tpm2-tpm2_readclock.o tools/tpm2-tpm2_readpublic.o tools/tpm2-tpm2_rsadecrypt.o tools/t
pm2-tpm2_rsaencrypt.o tools/tpm2-tpm2_send.o tools/tpm2-tpm2_selftest.o tools/tpm2-tpm2_setclock.o tools/tpm2-tpm2_shutdown.o tools/tpm2-tpm2_sign.o tools/tpm2-tpm2_certifycreation.o tools/tpm2-tpm2_nvcertify.o tools/tpm2-tpm2_startauth
session.o tools/tpm2-tpm2_startup.o tools/tpm2-tpm2_stirrandom.o tools/tpm2-tpm2_testparms.o tools/tpm2-tpm2_unseal.o tools/tpm2-tpm2_verifysignature.o tools/tpm2-tpm2_setcommandauditstatus.o tools/tpm2-tpm2_getcommandauditdigest.o tool
s/tpm2-tpm2_getsessionauditdigest.o tools/tpm2-tpm2_geteccparameters.o tools/tpm2-tpm2_ecephemeral.o tools/tpm2-tpm2_commit.o tools/tpm2-tpm2_ecdhkeygen.o tools/tpm2-tpm2_ecdhzgen.o tools/tpm2-tpm2_zgen2phase.o tools/tpm2-tpm2_sessionco
nfig.o tools/tpm2-tpm2_getpolicydigest.o

  • tools_tpm2_LDADD
tools_tpm2_LDADD = $(LDADD) $(CURL_LIBS)
LDADD = \
    $(LIB_COMMON) $(TSS2_ESYS_LIBS) $(TSS2_MU_LIBS) $(CRYPTO_LIBS) $(TSS2_TCTILDR_LIBS) \
    $(TSS2_RC_LIBS) $(TSS2_SYS_LIBS) $(EFIVAR_LIBS)
LIB_COMMON := lib/libcommon.a
TSS2_ESYS_LIBS = -L/usr/local/lib -ltss2-esys
TSS2_MU_LIBS = -L/usr/local/lib -ltss2-mu
CRYPTO_LIBS = -lcrypto
TSS2_TCTILDR_LIBS = -L/usr/local/lib -ltss2-tctildr
TSS2_RC_LIBS = -L/usr/local/lib -ltss2-rc
TSS2_SYS_LIBS = -L/usr/local/lib -ltss2-sys
EFIVAR_LIBS = -L/usr/lib64 -lefivar
CURL_LIBS = -lcurl

综上,最终得到LDADD的值实际为:

lib/libcommon.a -L/usr/local/lib -ltss2-esys -L/usr/local/lib -ltss2-mu -lcrypto -L/usr/local/lib -ltss2-tctildr -L/usr/local/lib -ltss2-rc -L/usr/local/lib -ltss2-sys -L/usr/lib64 -lefivar -lcurl

猜你喜欢

转载自blog.csdn.net/phmatthaus/article/details/130788067
今日推荐