1# 2# Copyright (c) 2015-2022, Arm Limited and Contributors. All rights reserved. 3# 4# SPDX-License-Identifier: BSD-3-Clause 5# 6# 7# This Makefile generates the image files used in the Trusted Firmware-A 8# document from the dia file. 9# 10# The PNG files in the present directory have been generated using Dia version 11# 0.97.2, which can be obtained from https://wiki.gnome.org/Apps/Dia/Download 12# 13 14# generate_image use the tool dia generate png from dia file 15# $(1) = layers 16# $(2) = image file name 17# $(3) = image file format 18# $(4) = addition opts 19# $(5) = dia source file 20define generate_image 21 dia --show-layers=$(1) --filter=$(3) --export=$(2) $(4) $(5) 22endef 23 24RESET_DIA = reset_code_flow.dia 25RESET_PNGS = \ 26 default_reset_code.png \ 27 reset_code_no_cpu_check.png \ 28 reset_code_no_boot_type_check.png \ 29 reset_code_no_checks.png \ 30 31# The $(RESET_DIA) file is organized in several layers. 32# Each image is generated by combining and exporting the appropriate set of 33# layers. 34default_reset_code_layers = "Frontground,Background,cpu_type_check,boot_type_check" 35reset_code_no_cpu_check_layers = "Frontground,Background,no_cpu_type_check,boot_type_check" 36reset_code_no_boot_type_check_layers= "Frontground,Background,cpu_type_check,no_boot_type_check" 37reset_code_no_checks_layers = "Frontground,Background,no_cpu_type_check,no_boot_type_check" 38 39default_reset_code_opts = 40reset_code_no_cpu_check_opts = 41reset_code_no_boot_type_check_opts = 42reset_code_no_checks_opts = 43 44INT_DIA = int_handling.dia 45INT_PNGS = \ 46 sec-int-handling.png \ 47 non-sec-int-handling.png 48 49# The $(INT_DIA) file is organized in several layers. 50# Each image is generated by combining and exporting the appropriate set of 51# layers. 52non-sec-int-handling_layers = "non_sec_int_bg,legend,non_sec_int_note,non_sec_int_handling" 53sec-int-handling_layers = "sec_int_bg,legend,sec_int_note,sec_int_handling" 54 55non-sec-int-handling_opts = --size=1692x 56sec-int-handling_opts = --size=1570x 57 58XLAT_DIA = xlat_align.dia 59XLAT_PNG = xlat_align.png 60 61xlat_align_layers = "bg,translations" 62xlat_align_opts = 63 64RMM_DIA = rmm_cold_boot_generic.dia 65RMM_PNG = rmm_cold_boot_generic.png 66 67rmm_cold_boot_generic_layers = "background" 68rmm_cold_boot_generic_opts = 69 70RMM_EL3_MANIFEST_DIA = rmm_el3_manifest_struct.dia 71RMM_EL3_MANIFEST_PNG = rmm_el3_manifest_struct.png 72 73rmm_el3_manifest_struct_layers = "Background" 74rmm_el3_manifest_struct_opts = 75 76all:$(RESET_PNGS) $(INT_PNGS) $(XLAT_PNG) $(RMM_PNG) $(RMM_EL3_MANIFEST_PNG) 77 78$(RESET_PNGS):$(RESET_DIA) 79 $(call generate_image,$($(patsubst %.png,%_layers,$@)),$@,png,$($(patsubst %.png,%_opts,$@)),$<) 80 81$(INT_PNGS):$(INT_DIA) 82 $(call generate_image,$($(patsubst %.png,%_layers,$@)),$@,png,$($(patsubst %.png,%_opts,$@)),$<) 83 84$(XLAT_PNG):$(XLAT_DIA) 85 $(call generate_image,$($(patsubst %.png,%_layers,$@)),$(patsubst %.png,%.svg,$@),svg,$($(patsubst %.png,%_opts,$@)),$<) 86 inkscape -z $(patsubst %.png,%.svg,$@) -e $@ -d 45 87 88$(RMM_PNG):$(RMM_DIA) 89 $(call generate_image,$($(patsubst %.png,%_layers,$@)),$@,png,$($(patsubst %.png,%_opts,$@)),$<) 90 91$(RMM_EL3_MANIFEST_PNG):$(RMM_EL3_MANIFEST_DIA) 92 $(call generate_image,$($(patsubst %.png,%_layers,$@)),$@,png,$($(patsubst %.png,%_opts,$@)),$<) 93