[PATCH] Makefile: Ensure cscope.out/tags/TAGS are generated in the source tree

Greg Kurz posted 1 patch 3 years, 6 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/160277334665.1754102.10921580280105870386.stgit@bahia.lan
Makefile |   10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
[PATCH] Makefile: Ensure cscope.out/tags/TAGS are generated in the source tree
Posted by Greg Kurz 3 years, 6 months ago
Tools usually expect the index files to be in the source tree, eg. emacs.
This is already the case when doing out-of-tree builds, but with in-tree
builds they end up in the build directory.

Force cscope, ctags and etags to put them in the source tree.

Signed-off-by: Greg Kurz <groug@kaod.org>
---
 Makefile |   10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/Makefile b/Makefile
index 3c5a0b0f7a11..45f983d9ef08 100644
--- a/Makefile
+++ b/Makefile
@@ -194,19 +194,19 @@ find-src-path = find "$(SRC_PATH)/" -path "$(SRC_PATH)/meson" -prune -o \( -name
 
 .PHONY: ctags
 ctags:
-	rm -f tags
-	$(find-src-path) -exec ctags --append {} +
+	rm -f "$(SRC_PATH)/"tags
+	$(find-src-path) -exec ctags -f "$(SRC_PATH)/"tags --append {} +
 
 .PHONY: TAGS
 TAGS:
-	rm -f TAGS
-	$(find-src-path) -exec etags --append {} +
+	rm -f "$(SRC_PATH)/"TAGS
+	$(find-src-path) -exec etags -f "$(SRC_PATH)/"TAGS --append {} +
 
 .PHONY: cscope
 cscope:
 	rm -f "$(SRC_PATH)"/cscope.*
 	$(find-src-path) -print | sed -e 's,^\./,,' > "$(SRC_PATH)/cscope.files"
-	cscope -b -i"$(SRC_PATH)/cscope.files"
+	cscope -b -i"$(SRC_PATH)/cscope.files" -f"$(SRC_PATH)"/cscope.out
 
 # Needed by "meson install"
 export DESTDIR



Re: [PATCH] Makefile: Ensure cscope.out/tags/TAGS are generated in the source tree
Posted by Paolo Bonzini 3 years, 6 months ago
On 15/10/20 16:49, Greg Kurz wrote:
> Tools usually expect the index files to be in the source tree, eg. emacs.
> This is already the case when doing out-of-tree builds, but with in-tree
> builds they end up in the build directory.
> 
> Force cscope, ctags and etags to put them in the source tree.
> 
> Signed-off-by: Greg Kurz <groug@kaod.org>
> ---
>  Makefile |   10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index 3c5a0b0f7a11..45f983d9ef08 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -194,19 +194,19 @@ find-src-path = find "$(SRC_PATH)/" -path "$(SRC_PATH)/meson" -prune -o \( -name
>  
>  .PHONY: ctags
>  ctags:
> -	rm -f tags
> -	$(find-src-path) -exec ctags --append {} +
> +	rm -f "$(SRC_PATH)/"tags
> +	$(find-src-path) -exec ctags -f "$(SRC_PATH)/"tags --append {} +
>  
>  .PHONY: TAGS
>  TAGS:
> -	rm -f TAGS
> -	$(find-src-path) -exec etags --append {} +
> +	rm -f "$(SRC_PATH)/"TAGS
> +	$(find-src-path) -exec etags -f "$(SRC_PATH)/"TAGS --append {} +
>  
>  .PHONY: cscope
>  cscope:
>  	rm -f "$(SRC_PATH)"/cscope.*
>  	$(find-src-path) -print | sed -e 's,^\./,,' > "$(SRC_PATH)/cscope.files"
> -	cscope -b -i"$(SRC_PATH)/cscope.files"
> +	cscope -b -i"$(SRC_PATH)/cscope.files" -f"$(SRC_PATH)"/cscope.out
>  
>  # Needed by "meson install"
>  export DESTDIR
> 
> 

Queued, thanks.

Paolo