diff options
author | Raef Coles <raef.coles@arm.com> | 2019-11-08 11:02:00 +0000 |
---|---|---|
committer | David Vincze <david.vincze@arm.com> | 2019-11-28 16:06:26 +0100 |
commit | a87a438e1942e77d35ca6235ec349f114410f181 (patch) | |
tree | 521ba16dbae8c1211370f7b2760f09c67565d40b /lib | |
parent | c247566a3b6d679bbcba914ede77ca8069be49d8 (diff) | |
download | trusted-firmware-m-a87a438e1942e77d35ca6235ec349f114410f181.tar.gz |
CC312: Support out-of-tree build for CC312
Patch CC312 build system to allow building in a user-specified build
dir. Export all headers required by TF-M.
Change-Id: I9de114379b8437117b30b20b00e415a0b105e01a
Signed-off-by: Raef Coles <raef.coles@arm.com>
Diffstat (limited to 'lib')
6 files changed, 26 insertions, 9 deletions
diff --git a/lib/ext/cryptocell-312-runtime/host/Makefile.defs b/lib/ext/cryptocell-312-runtime/host/Makefile.defs index 83a4ec75e7..554298223f 100644 --- a/lib/ext/cryptocell-312-runtime/host/Makefile.defs +++ b/lib/ext/cryptocell-312-runtime/host/Makefile.defs @@ -181,7 +181,7 @@ AR = armar endif # subfolder for compilation/generation outcome/objects/binaries -BUILDDIR = build-$(CROSS_COMPILE:%-=%) +BUILDDIR = $(PWD)/build-$(CROSS_COMPILE:%-=%) # Object file suffix OBJEXT = .o diff --git a/lib/ext/cryptocell-312-runtime/host/Makefile.rules b/lib/ext/cryptocell-312-runtime/host/Makefile.rules index bc83eb7324..162c4612e5 100644 --- a/lib/ext/cryptocell-312-runtime/host/Makefile.rules +++ b/lib/ext/cryptocell-312-runtime/host/Makefile.rules @@ -159,7 +159,7 @@ clean: clean_intermediate .PHONY: default release test clean # Directory creation rule -$(PWD)/$(BUILDDIR) $(RELEASE_INCDIR) $(RELEASE_LIBDIR) $(RELEASE_EXEDIR) $(RELEASE_DATDIR): +$(BUILDDIR) $(RELEASE_INCDIR) $(RELEASE_LIBDIR) $(RELEASE_EXEDIR) $(RELEASE_DATDIR): @if [ ! -d $@ ] ; then $(ECHO) [MKDIR] $@ ; fi @if [ ! -d $@ ] ; then $(call exec_logged,$(MKDIR) $@ ) ; fi @@ -279,31 +279,31 @@ $(foreach exe,$(TARGET_EXES), $(eval $(call EXE_LINK_RULE,$(exe)))) ifneq ($(OBJECTS_FROM_C),) # Default implicit compile rule assuming C source code (+dependency generation) -$(OBJECTS_FROM_C): $(BUILDDIR)/%$(OBJEXT): %.c $(call DEPENDENCY_ON_EXISTENCE_OF,$(PWD)/$(BUILDDIR)) +$(OBJECTS_FROM_C): $(BUILDDIR)/%$(OBJEXT): %.c $(call DEPENDENCY_ON_EXISTENCE_OF,$(BUILDDIR)) $(addprefix $(RELEASE_INCDIR)/,$(notdir ${PUBLIC_INCLUDES})) @$(ECHO) [CC] $< --\> $@ # Compilation @$(call exec_logged,$(CC) $(CFLAGS) $< -o $@ ) @#$(ECHO) [MM] $(@:.o=.dep) \<-- $@ # Generate dependency of object when generated - @$(call exec_logged,$(CC) $(MM) $(CFLAGS) $< | sed 's/.*\.o:/$(BUILDDIR)\/&/' > $(BUILDDIR)/$*.dep ) + @$(call exec_logged,$(CC) $(MM) $(CFLAGS) $< | sed 's~.*\.o:~$(BUILDDIR)/&~' > $(BUILDDIR)/$*.dep ) # $(call exec_logged,$(SHELL) -ec '$(CC) -M $(CFLAGS) $< | sed '\''s/\($*\)\.o[ :]*/\1.o $@ : /g'\'' > $@; [ -s $@ ] || rm -f $@' ) endif ifneq ($(OBJECTS_FROM_CPP),) # Default implicit compile rule assuming C++ source code (+dependency generation) -$(OBJECTS_FROM_CPP): $(BUILDDIR)/%$(OBJEXT): %.cpp $(call DEPENDENCY_ON_EXISTENCE_OF,$(PWD)/$(BUILDDIR)) +$(OBJECTS_FROM_CPP): $(BUILDDIR)/%$(OBJEXT): %.cpp $(call DEPENDENCY_ON_EXISTENCE_OF,$(BUILDDIR)) $(addprefix $(RELEASE_INCDIR)/,$(notdir ${PUBLIC_INCLUDES})) @$(ECHO) [CPP] $< --\> $@ # Compilation @$(call exec_logged,$(CPP) $(CPPFLAGS) $< -o $@ ) @#$(ECHO) [MM] $(@:.o=.dep) \<-- $@ # Generate dependency of object when generated - @$(call exec_logged,$(CP) -MM $(CPPFLAGS) $< | sed 's/.*\.o:/$(BUILDDIR)\/&/' > $(BUILDDIR)/$*.dep ) + @$(call exec_logged,$(CP) -MM $(CPPFLAGS) $< | sed 's~.*\.o:~$(BUILDDIR)/&~' > $(BUILDDIR)/$*.dep ) endif ifneq ($(OBJECTS_FROM_GENERATED_C),) # Default implicit compile rule assuming generated C stub source code (+dependency generation) -$(OBJECTS_FROM_GENERATED_C): $(BUILDDIR)/%$(OBJEXT): $(PWD)/$(BUILDDIR)/%.c +$(OBJECTS_FROM_GENERATED_C): $(BUILDDIR)/%$(OBJEXT): $(PWD)/$(BUILDDIR)/%.c $(addprefix $(RELEASE_INCDIR)/,$(notdir ${PUBLIC_INCLUDES})) @$(ECHO) [CC4GEN] $< --\> $@ # Compilation @$(call exec_logged,$(CC) $(CFLAGS) $< -o $@ ) @#$(ECHO) [MM] $(@:.o=.dep) \<-- $@ # Generate dependency of object when generated - @$(call exec_logged,$(CC) -MM $(CFLAGS) $< | sed 's/.*\.o:/$(BUILDDIR)\/&/' > $(BUILDDIR)/$*.dep ) + @$(call exec_logged,$(CC) -MM $(CFLAGS) $< | sed 's~.*\.o:~$(BUILDDIR)/&~' > $(BUILDDIR)/$*.dep ) endif diff --git a/lib/ext/cryptocell-312-runtime/host/src/cc3x_lib/Makefile b/lib/ext/cryptocell-312-runtime/host/src/cc3x_lib/Makefile index bf93ff51e0..636b09785a 100755 --- a/lib/ext/cryptocell-312-runtime/host/src/cc3x_lib/Makefile +++ b/lib/ext/cryptocell-312-runtime/host/src/cc3x_lib/Makefile @@ -57,12 +57,16 @@ PUBLIC_INCLUDES += $(SHARED_INCDIR)/cc_bitops.h PUBLIC_INCLUDES += $(SHARED_INCDIR)/../hw/include/dx_host.h PUBLIC_INCLUDES += $(SHARED_INCDIR)/../hw/include/dx_nvm.h PUBLIC_INCLUDES += $(SHARED_INCDIR)/../hw/include/dx_reg_common.h -PUBLIC_INCLUDES += $(SHARED_INCDIR)/../hw/include/musca_b1/dx_reg_base_host.h PUBLIC_INCLUDES += $(HOST_PROJ_ROOT)/src/cc_mng/mbedtls_cc_mng_int.h PUBLIC_INCLUDES += $(HOST_PROJ_ROOT)/src/hal/cc_hal_plat.h +PUBLIC_INCLUDES += $(HOST_PROJ_ROOT)/src/cc3x_productionlib/common/prod_hw_defs.h +PUBLIC_INCLUDES += $(HOST_PROJ_ROOT)/src/cc3x_productionlib/common/prod_util.h + PUBLIC_INCLUDES += $(SHARED_INCDIR)/proj/cc3x/cc_general_defs.h $(SHARED_INCDIR)/proj/cc3x/cc_ecpki_domains_defs.h $(SHARED_INCDIR)/proj/cc3x/cc_sram_map.h PUBLIC_INCLUDES += $(SHARED_INCDIR)/proj/cc3x/cc_pka_hw_plat_defs.h +PUBLIC_INCLUDES += $(SHARED_INCDIR)/proj/cc3x/cc_otp_defs.h +PUBLIC_INCLUDES += $(SHARED_INCDIR)/proj/cc3x/cc_production_asset.h #FFCDH PUBLIC_INCLUDES += $(CC_API)/cc_ffcdh.h $(CC_API)/cc_ffc_domain.h $(CC_API)/cc_ffcdh_error.h $(CC_API)/cc_ffc_domain_error.h diff --git a/lib/ext/cryptocell-312-runtime/host/src/cc3x_productionlib/cmpu/project_cmpu.mk b/lib/ext/cryptocell-312-runtime/host/src/cc3x_productionlib/cmpu/project_cmpu.mk index fd03ec46cc..245482be27 100644 --- a/lib/ext/cryptocell-312-runtime/host/src/cc3x_productionlib/cmpu/project_cmpu.mk +++ b/lib/ext/cryptocell-312-runtime/host/src/cc3x_productionlib/cmpu/project_cmpu.mk @@ -73,6 +73,8 @@ VPATH += $(HOST_SRCDIR)/cc_mng PUBLIC_INCLUDES += $(SHARED_DIR)/include/crypto_api/cc_error.h PUBLIC_INCLUDES += cc_cmpu.h ../common/cc_prod.h ../common/cc_prod_error.h +PUBLIC_INCLUDES += cmpu_derivation.h cmpu_llf_rnd.h +PUBLIC_INCLUDES += $(SHARED_INCDIR)/cc_mng/mbedtls_cc_mng.h INCDIRS_EXTRA += $(HOST_SRCDIR)/pal/$(OS) INCDIRS_EXTRA += $(SHARED_DIR)/$(CC_TEE_HW_INC_DIR) @@ -87,6 +89,7 @@ INCDIRS_EXTRA += $(SHARED_DIR)/../mbedtls/include/mbedtls INCDIRS_EXTRA += $(HOST_SRCDIR)/cc3x_lib INCDIRS_EXTRA += $(HOST_SRCDIR)/hal INCDIRS_EXTRA += $(HOST_SRCDIR)/cc_mng +INCDIRS_EXTRA += $(SHARED_INCDIR)/cc_mng INCDIRS_EXTRA += $(SHARED_INCDIR)/trng INCDIRS_EXTRA += $(CODESAFE_SRCDIR)/crypto_api/rnd_dma/local/ INCDIRS_EXTRA += $(CODESAFE_SRCDIR)/crypto_api/rnd_dma diff --git a/lib/ext/cryptocell-312-runtime/host/src/cc3x_productionlib/dmpu/project_dmpu.mk b/lib/ext/cryptocell-312-runtime/host/src/cc3x_productionlib/dmpu/project_dmpu.mk index cbc2b59d11..e51422b8c7 100644 --- a/lib/ext/cryptocell-312-runtime/host/src/cc3x_productionlib/dmpu/project_dmpu.mk +++ b/lib/ext/cryptocell-312-runtime/host/src/cc3x_productionlib/dmpu/project_dmpu.mk @@ -42,6 +42,7 @@ ifeq ($(CC_CONFIG_MNG_MIN_BACKUP_SIZE_IN_BYTES),) endif VPATH += ../common +VPATH += $(HOST_SRCDIR)/cc3x_productionlib/cmpu VPATH += $(HOST_SRCDIR)/pal/$(OS) VPATH += $(HOST_SRCDIR)/hal/cc3x VPATH += $(CODESAFE_SRCDIR)/crypto_api/cc3x_sym/driver @@ -56,6 +57,7 @@ PUBLIC_INCLUDES += cc_dmpu.h ../common/cc_prod.h ../common/cc_prod_error.h INCDIRS_EXTRA += $(SHARED_DIR)/$(CC_TEE_HW_INC_DIR) INCDIRS_EXTRA += ../common +INCDIRS_EXTRA += ../cmpu INCDIRS_EXTRA += $(SHARED_DIR)/include/pal INCDIRS_EXTRA += $(SHARED_DIR)/include/crypto_api INCDIRS_EXTRA += $(HOST_SRCDIR)/pal/$(OS) @@ -67,6 +69,7 @@ INCDIRS_EXTRA += $(SHARED_DIR)/../mbedtls/include/mbedtls INCDIRS_EXTRA += $(HOST_SRCDIR)/cc3x_lib INCDIRS_EXTRA += $(HOST_SRCDIR)/hal INCDIRS_EXTRA += $(HOST_SRCDIR)/cc_mng +INCDIRS_EXTRA += $(SHARED_INCDIR)/cc_mng INCDIRS_EXTRA += $(CODESAFE_SRCDIR)/crypto_api/ INCDIRS_EXTRA += $(CODESAFE_SRCDIR)/crypto_api/common INCDIRS_EXTRA += $(SHARED_INCDIR)/crypto_api/$(PROJ_PRD) diff --git a/lib/ext/cryptocell-312-runtime/host/src/pal/project_pal.mk b/lib/ext/cryptocell-312-runtime/host/src/pal/project_pal.mk index bebae14b0e..d5eb063bd0 100644 --- a/lib/ext/cryptocell-312-runtime/host/src/pal/project_pal.mk +++ b/lib/ext/cryptocell-312-runtime/host/src/pal/project_pal.mk @@ -19,6 +19,13 @@ SOURCES_pal_$(PLAT_OS) += cc_pal_abort_plat.c SOURCES_pal_$(PLAT_OS) += cc_pal_trng.c SOURCES_pal_$(PLAT_OS) += cc_pal_apbc.c +PUBLIC_INCLUDES += $(SHARED_INCDIR)/pal/cc_pal_types.h +PUBLIC_INCLUDES += $(SHARED_INCDIR)/pal/cc_pal_log.h +PUBLIC_INCLUDES += $(SHARED_INCDIR)/pal/cc_log_mask.h +PUBLIC_INCLUDES += $(SHARED_INCDIR)/pal/$(PLAT_OS)/cc_pal_log_plat.h +PUBLIC_INCLUDES += $(SHARED_INCDIR)/pal/$(PLAT_OS)/cc_pal_types_plat.h +PUBLIC_INCLUDES += $(SHARED_INCDIR)/pal/cc_pal_buff_attr.h + INCDIRS_EXTRA += $(SHARED_INCDIR)/pal INCDIRS_EXTRA += $(SHARED_INCDIR)/pal/$(PLAT_OS) |