mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-01 14:53:54 -06:00
build: add a more generic way to specify make->ninja dependencies
Let any make target specify ninja goals that needs to be built for it (though selecting the goals is _not_ recursive on depending targets) instead of having a custom mechanism only for "make check" and "make bench". Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20220517092616.1272238-4-pbonzini@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20220527153603.887929-15-alex.bennee@linaro.org>
This commit is contained in:
parent
231ca96316
commit
9b32ba53f3
2 changed files with 5 additions and 6 deletions
3
Makefile
3
Makefile
|
@ -145,8 +145,7 @@ NINJAFLAGS = $(if $V,-v) $(if $(MAKE.n), -n) $(if $(MAKE.k), -k0) \
|
||||||
$(filter-out -j, $(lastword -j1 $(filter -l% -j%, $(MAKEFLAGS)))) \
|
$(filter-out -j, $(lastword -j1 $(filter -l% -j%, $(MAKEFLAGS)))) \
|
||||||
-d keepdepfile
|
-d keepdepfile
|
||||||
ninja-cmd-goals = $(or $(MAKECMDGOALS), all)
|
ninja-cmd-goals = $(or $(MAKECMDGOALS), all)
|
||||||
ninja-cmd-goals += $(foreach t, $(.check.build-suites), $(.check-$t.deps))
|
ninja-cmd-goals += $(foreach g, $(MAKECMDGOALS), $(.ninja-goals.$g))))
|
||||||
ninja-cmd-goals += $(foreach t, $(.bench.build-suites), $(.bench-$t.deps))
|
|
||||||
|
|
||||||
makefile-targets := build.ninja ctags TAGS cscope dist clean uninstall
|
makefile-targets := build.ninja ctags TAGS cscope dist clean uninstall
|
||||||
# "ninja -t targets" also lists all prerequisites. If build system
|
# "ninja -t targets" also lists all prerequisites. If build system
|
||||||
|
|
|
@ -81,12 +81,12 @@ def emit_prolog(suites, prefix):
|
||||||
|
|
||||||
def emit_suite_deps(name, suite, prefix):
|
def emit_suite_deps(name, suite, prefix):
|
||||||
deps = ' '.join(suite.deps)
|
deps = ' '.join(suite.deps)
|
||||||
targets = f'{prefix}-{name} {prefix}-report-{name}.junit.xml {prefix} {prefix}-report.junit.xml'
|
targets = [f'{prefix}-{name}', f'{prefix}-report-{name}.junit.xml', f'{prefix}', f'{prefix}-report.junit.xml',
|
||||||
|
f'{prefix}-build']
|
||||||
print()
|
print()
|
||||||
print(f'.{prefix}-{name}.deps = {deps}')
|
print(f'.{prefix}-{name}.deps = {deps}')
|
||||||
print(f'ifneq ($(filter {prefix}-build {targets}, $(MAKECMDGOALS)),)')
|
for t in targets:
|
||||||
print(f'.{prefix}.build-suites += {name}')
|
print(f'.ninja-goals.{t} += $(.{prefix}-{name}.deps)')
|
||||||
print(f'endif')
|
|
||||||
|
|
||||||
def emit_suite(name, suite, prefix):
|
def emit_suite(name, suite, prefix):
|
||||||
emit_suite_deps(name, suite, prefix)
|
emit_suite_deps(name, suite, prefix)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue