# # Copyright (c) 2015-2022, Arm Limited and Contributors. All rights reserved. # # SPDX-License-Identifier: BSD-3-Clause # # # This Makefile generates the image files used in the Trusted Firmware-A # document from the dia file. # # The PNG files in the present directory have been generated using Dia version # 0.97.2, which can be obtained from https://wiki.gnome.org/Apps/Dia/Download # # generate_image use the tool dia generate png from dia file # $(1) = layers # $(2) = image file name # $(3) = image file format # $(4) = addition opts # $(5) = dia source file define generate_image dia --show-layers=$(1) --filter=$(3) --export=$(2) $(4) $(5) endef RESET_DIA = reset_code_flow.dia RESET_PNGS = \ default_reset_code.png \ reset_code_no_cpu_check.png \ reset_code_no_boot_type_check.png \ reset_code_no_checks.png \ # The $(RESET_DIA) file is organized in several layers. # Each image is generated by combining and exporting the appropriate set of # layers. default_reset_code_layers = "Frontground,Background,cpu_type_check,boot_type_check" reset_code_no_cpu_check_layers = "Frontground,Background,no_cpu_type_check,boot_type_check" reset_code_no_boot_type_check_layers= "Frontground,Background,cpu_type_check,no_boot_type_check" reset_code_no_checks_layers = "Frontground,Background,no_cpu_type_check,no_boot_type_check" default_reset_code_opts = reset_code_no_cpu_check_opts = reset_code_no_boot_type_check_opts = reset_code_no_checks_opts = INT_DIA = int_handling.dia INT_PNGS = \ sec-int-handling.png \ non-sec-int-handling.png # The $(INT_DIA) file is organized in several layers. # Each image is generated by combining and exporting the appropriate set of # layers. non-sec-int-handling_layers = "non_sec_int_bg,legend,non_sec_int_note,non_sec_int_handling" sec-int-handling_layers = "sec_int_bg,legend,sec_int_note,sec_int_handling" non-sec-int-handling_opts = --size=1692x sec-int-handling_opts = --size=1570x XLAT_DIA = xlat_align.dia XLAT_PNG = xlat_align.png xlat_align_layers = "bg,translations" xlat_align_opts = RMM_DIA = rmm_cold_boot_generic.dia RMM_PNG = rmm_cold_boot_generic.png rmm_cold_boot_generic_layers = "background" rmm_cold_boot_generic_opts = RMM_EL3_MANIFEST_DIA = rmm_el3_manifest_struct.dia RMM_EL3_MANIFEST_PNG = rmm_el3_manifest_struct.png rmm_el3_manifest_struct_layers = "Background" rmm_el3_manifest_struct_opts = PSA_FWU_DIA = PSA-FWU.dia PSA_FWU_PNG = PSA-FWU.png FWU-update_struct_layers = "background" FWU-update_struct_opts = MB_DESIGN_DIA = measured_boot_design.dia MB_DESIGN_PNG = measured_boot_design.png measured_boot_design_layers = "background" measured_boot_design_opts = all:$(RESET_PNGS) $(INT_PNGS) $(XLAT_PNG) $(RMM_PNG) $(RMM_EL3_MANIFEST_PNG) $(PSA_FWU_PNG) $(MB_DESIGN_PNG) $(RESET_PNGS):$(RESET_DIA) $(call generate_image,$($(patsubst %.png,%_layers,$@)),$@,png,$($(patsubst %.png,%_opts,$@)),$<) $(INT_PNGS):$(INT_DIA) $(call generate_image,$($(patsubst %.png,%_layers,$@)),$@,png,$($(patsubst %.png,%_opts,$@)),$<) $(XLAT_PNG):$(XLAT_DIA) $(call generate_image,$($(patsubst %.png,%_layers,$@)),$(patsubst %.png,%.svg,$@),svg,$($(patsubst %.png,%_opts,$@)),$<) inkscape -z $(patsubst %.png,%.svg,$@) -e $@ -d 45 $(RMM_PNG):$(RMM_DIA) $(call generate_image,$($(patsubst %.png,%_layers,$@)),$@,png,$($(patsubst %.png,%_opts,$@)),$<) $(RMM_EL3_MANIFEST_PNG):$(RMM_EL3_MANIFEST_DIA) $(call generate_image,$($(patsubst %.png,%_layers,$@)),$@,png,$($(patsubst %.png,%_opts,$@)),$<) $(PSA_FWU_PNG):$(PSA_FWU_DIA) $(call generate_image,$($(patsubst %.png,%_layers,$@)),$@,png,$($(patsubst %.png,%_opts,$@)),$<) $(MB_DESIGN_PNG):$(MB_DESIGN_DIA) $(call generate_image,$($(patsubst %.png,%_layers,$@)),$@,png,$($(patsubst %.png,%_opts,$@)),$<)