blob: de7d8f3ffc11c19795e9b0e2d2ef6fee683cf284 [file] [log] [blame]
Qixiang Xu13275272017-07-11 20:33:12 +08001#
2# Copyright (c) 2015-2017, 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 ARM Trusted Firmware
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
64all:$(RESET_PNGS) $(INT_PNGS) $(XLAT_PNG)
65
66$(RESET_PNGS):$(RESET_DIA)
67 $(call generate_image,$($(patsubst %.png,%_layers,$@)),$@,png,$($(patsubst %.png,%_opts,$@)),$<)
68
69$(INT_PNGS):$(INT_DIA)
70 $(call generate_image,$($(patsubst %.png,%_layers,$@)),$@,png,$($(patsubst %.png,%_opts,$@)),$<)
71
72$(XLAT_PNG):$(XLAT_DIA)
73 $(call generate_image,$($(patsubst %.png,%_layers,$@)),$(patsubst %.png,%.svg,$@),svg,$($(patsubst %.png,%_opts,$@)),$<)
74 inkscape -z $(patsubst %.png,%.svg,$@) -e $@ -d 45