Qixiang Xu | 1327527 | 2017-07-11 20:33:12 +0800 | [diff] [blame] | 1 | # |
| 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 |
| 20 | define generate_image |
| 21 | dia --show-layers=$(1) --filter=$(3) --export=$(2) $(4) $(5) |
| 22 | endef |
| 23 | |
| 24 | RESET_DIA = reset_code_flow.dia |
| 25 | RESET_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. |
| 34 | default_reset_code_layers = "Frontground,Background,cpu_type_check,boot_type_check" |
| 35 | reset_code_no_cpu_check_layers = "Frontground,Background,no_cpu_type_check,boot_type_check" |
| 36 | reset_code_no_boot_type_check_layers= "Frontground,Background,cpu_type_check,no_boot_type_check" |
| 37 | reset_code_no_checks_layers = "Frontground,Background,no_cpu_type_check,no_boot_type_check" |
| 38 | |
| 39 | default_reset_code_opts = |
| 40 | reset_code_no_cpu_check_opts = |
| 41 | reset_code_no_boot_type_check_opts = |
| 42 | reset_code_no_checks_opts = |
| 43 | |
| 44 | INT_DIA = int_handling.dia |
| 45 | INT_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. |
| 52 | non-sec-int-handling_layers = "non_sec_int_bg,legend,non_sec_int_note,non_sec_int_handling" |
| 53 | sec-int-handling_layers = "sec_int_bg,legend,sec_int_note,sec_int_handling" |
| 54 | |
| 55 | non-sec-int-handling_opts = --size=1692x |
| 56 | sec-int-handling_opts = --size=1570x |
| 57 | |
| 58 | XLAT_DIA = xlat_align.dia |
| 59 | XLAT_PNG = xlat_align.png |
| 60 | |
| 61 | xlat_align_layers = "bg,translations" |
| 62 | xlat_align_opts = |
| 63 | |
| 64 | all:$(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 |