blob: 7e56fbbfd05c11163e3ff48f3f73cbda245745f9 [file] [log] [blame]
Zane Shelleyba5dc162020-11-09 21:47:55 -06001#-------------------------------------------------------------------------------
2# Chip Data Files
3#-------------------------------------------------------------------------------
4
Zane Shelley738276a2021-05-24 12:55:34 -05005build_cdb = find_program('parse_chip_data_xml')
Zane Shelleyba5dc162020-11-09 21:47:55 -06006
7# The key for each entry in this dictionary is a subdirectory containing XML for
8# a chip model. The value for each entry contains the expected output files that
9# will be produced for each chip model. It is important to note that the script
10# will generate all output files, regardless of what is listed, when the script
11# is run. However, this list must be kept in sync with the expected output so
12# that meson will know to run the script when an output file has changed or is
13# missing.
Caleb Palmer3b2760b2023-03-08 15:01:33 -060014cdb_files = {}
Zane Shelleyba5dc162020-11-09 21:47:55 -060015
Caleb Palmer3b2760b2023-03-08 15:01:33 -060016chip_config = get_option('chip_config')
17if 'p10' in chip_config
18 cdb_files += {'p10' : ['chip_data_p10_10.cdb', 'chip_data_p10_20.cdb']}
19endif
20
21if 'explorer' in chip_config
22 cdb_files += {'explorer' : ['chip_data_explorer_11.cdb',
23 'chip_data_explorer_20.cdb']}
24endif
Zane Shelleyba5dc162020-11-09 21:47:55 -060025
26foreach chip_dir, out_files : cdb_files
27
28 source_dir = meson.current_source_dir() + '/' + chip_dir
29 build_dir = meson.current_build_dir()
30
31 # Get all XML files in the chip directory. This is a bit of a workaround
32 # because meson does not allow wildcards.
33 xml_list = run_command('xml_list.sh', source_dir)
34 in_files = xml_list.stdout().strip().split('\n')
35
36 custom_target('build_cdb_' + chip_dir, build_by_default : true,
37 input : in_files, output : out_files,
Zane Shelley738276a2021-05-24 12:55:34 -050038 command : [ build_cdb, '--cdb',
39 '-i', source_dir,
40 '-o', build_dir ],
Zane Shelleyba5dc162020-11-09 21:47:55 -060041 install : true,
42 install_dir : join_paths(get_option('prefix'),
43 get_option('datadir'),
44 meson.project_name()))
45
46endforeach
47