Home | History | Annotate | Download | only in diagrams
      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
     75