aboutsummaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorAkihiko Odaki <akihiko.odaki@daynix.com>2023-11-19 19:16:02 +0900
committerPaolo Bonzini <pbonzini@redhat.com>2023-11-24 16:21:55 +0100
commit9abbb37535b27321e9f7bde38a6996343b2bc5f2 (patch)
treed5327ee252a024cca5db489a76991bb453af3727 /configure
parentcd9113633fbaf708a2181dfe886b2380874af2bc (diff)
configure: Make only once with pseudo-"in source tree" builds
Pseudo-"in source tree" build used to run make in the build directory as many times as goals. Worse, although .NOTPARALLEL is specified, it does not work for patterns, and run make in parallel, which can break things. Add a new rule "build", and let it call make. The pattern rule only needs to specify "build" as its prerequisite and have a no-op recipe so that it does more than canceling built-in implicit rules. Fixes: dedad02720 ("configure: add support for pseudo-"in source tree" builds") Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> Message-ID: <20231119101604.47325-1-akihiko.odaki@daynix.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure12
1 files changed, 4 insertions, 8 deletions
diff --git a/configure b/configure
index 959b1a20c1..bdda912f36 100755
--- a/configure
+++ b/configure
@@ -41,12 +41,7 @@ then
# This file is auto-generated by configure to support in-source tree
# 'make' command invocation
-ifeq ($(MAKECMDGOALS),)
-recurse: all
-endif
-
-.NOTPARALLEL: %
-%: force
+build:
@echo 'changing dir to build for $(MAKE) "$(MAKECMDGOALS)"...'
@$(MAKE) -C build -f Makefile $(MAKECMDGOALS)
@if test "$(MAKECMDGOALS)" = "distclean" && \
@@ -54,8 +49,9 @@ endif
then \
rm -rf build GNUmakefile ; \
fi
-force: ;
-.PHONY: force
+%: build
+ @
+.PHONY: build
GNUmakefile: ;
EOF