diff --git a/src/freedreno/registers/adreno/meson.build b/src/freedreno/registers/adreno/meson.build index 44ba48e0217..9543401d59d 100644 --- a/src/freedreno/registers/adreno/meson.build +++ b/src/freedreno/registers/adreno/meson.build @@ -1,7 +1,7 @@ # Copyright © 2019 Google, Inc # SPDX-License-Identifier: MIT -xml_reg_files = [ +xml_reg_files = files( 'a2xx.xml', 'a3xx.xml', 'a4xx.xml', @@ -15,7 +15,7 @@ xml_reg_files = [ 'a8xx_enums.xml', 'a8xx_descriptors.xml', 'a8xx_perfcntrs.xml', -] +) perfcntr_files = [ [ 'a2xx.xml', 'a2xx_perfcntrs.json' ], @@ -26,15 +26,16 @@ perfcntr_files = [ ] xml_files = xml_reg_files -xml_files += [ +xml_files += files( 'a6xx_gmu.xml', 'ocmem.xml', 'adreno_control_regs.xml', 'adreno_pipe_regs.xml', 'adreno_common.xml', -] +) freedreno_pm4_xml_header_file = [] +adreno_pm4_xml = files('adreno_pm4.xml') freedreno_pm4_xml_header_file += custom_target( 'adreno_pm4.xml.h', @@ -42,6 +43,7 @@ freedreno_pm4_xml_header_file += custom_target( output: 'adreno_pm4.xml.h', command: [prog_python, '@INPUT0@', '--rnn', rnn_src_path, '--xml', '@INPUT1@', 'c-defines'], capture: true, + depend_files: xml_files, ) freedreno_pm4_xml_header_file += custom_target( @@ -50,6 +52,7 @@ freedreno_pm4_xml_header_file += custom_target( output: 'adreno-pm4-pack.xml.h', command: [prog_python, '@INPUT0@', '--rnn', rnn_src_path, '--xml', '@INPUT1@', 'c-pack-structs'], capture: true, + depend_files: xml_files, ) freedreno_xml_header_files += freedreno_pm4_xml_header_file @@ -67,16 +70,18 @@ if install_fd_decode_tools endif foreach f : xml_files - _name = f + '.h' + _fname = fs.name(f) + _name = fs.replace_suffix(_fname, '.xml.h') freedreno_xml_header_files += custom_target( _name, input: [gen_header_py, f, freedreno_schema, freedreno_copyright], output: _name, command: [prog_python, '@INPUT0@', '--validate', '--rnn', rnn_src_path, '--xml', '@INPUT1@', 'c-defines'], capture: true, + depend_files: [xml_files, adreno_pm4_xml] ) if install_fd_decode_tools - _gzname = f + '.gz' + _gzname = fs.replace_suffix(_fname, '.xml.gz') custom_target( _gzname, input: f, @@ -98,6 +103,7 @@ foreach e : perfcntr_files output: _name, command: [prog_python, '@INPUT0@', '--validate', '--rnn', rnn_src_path, '--xml', '@INPUT1@', 'perfcntrs', '--json', '@INPUT2@'], capture: true, + depend_files: [xml_files, adreno_pm4_xml] ) endforeach @@ -107,17 +113,20 @@ freedreno_xml_header_files += custom_target( output: 'a6xx-pack.xml.h', command: [prog_python, '@INPUT0@', '--rnn', rnn_src_path, '--xml', '@INPUT1@', 'c-pack-structs'], capture: true, + depend_files: [xml_files, adreno_pm4_xml] ) freedreno_py_header_files = [] foreach f : xml_reg_files - _pyname = f.split('.')[0] + '.py' + _fname = fs.name(f) + _pyname = fs.replace_suffix(_fname, '.py') freedreno_py_header_files += custom_target( _pyname, input: [gen_header_py, f, freedreno_schema, freedreno_copyright], output: _pyname, command: [prog_python, '@INPUT0@', '--rnn', rnn_src_path, '--xml', '@INPUT1@', 'py-defines'], capture: true, + depend_files: [xml_files, adreno_pm4_xml] ) endforeach diff --git a/src/freedreno/registers/meson.build b/src/freedreno/registers/meson.build index f4be68117c3..9318ce48fe5 100644 --- a/src/freedreno/registers/meson.build +++ b/src/freedreno/registers/meson.build @@ -1,14 +1,14 @@ # Copyright © 2019 Google, Inc # SPDX-License-Identifier: MIT -xml_files = [ +xml_adreno_files = [ 'adreno.xml', ] rules_file = 'rules-fd.xsd' copyright_file = 'freedreno_copyright.xml' -install_files = xml_files + [rules_file, copyright_file] +install_files = xml_adreno_files + [rules_file, copyright_file] gen_header_py = files('gen_header.py') freedreno_schema = files(rules_file) @@ -16,7 +16,9 @@ freedreno_copyright = files(copyright_file) freedreno_xml_header_files = [] -foreach f : xml_files +subdir('adreno') + +foreach f : xml_adreno_files _name = f + '.h' freedreno_xml_header_files += custom_target( _name, @@ -24,6 +26,7 @@ foreach f : xml_files output: _name, command: [prog_python, '@INPUT0@', '--validate', '--rnn', rnn_src_path, '--xml', '@INPUT1@', 'c-defines'], capture: true, + depend_files: xml_files + adreno_pm4_xml ) endforeach @@ -42,5 +45,3 @@ if install_fd_decode_tools ) endforeach endif - -subdir('adreno')