qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 1/2] Makefile: Add back TAGS/ctags/cscope rules


From: Connor Kuehl
Subject: Re: [PATCH 1/2] Makefile: Add back TAGS/ctags/cscope rules
Date: Tue, 1 Sep 2020 09:59:23 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0

On 9/1/20 9:20 AM, Greg Kurz wrote:
It is a bit of a pain to be forced to run configure before being able
to use cscope and friends. Add back the rules to build them in-tree
as before commit a56650518f5b.

Fixes: a56650518f5b ("configure: integrate Meson in the build system")
Signed-off-by: Greg Kurz <groug@kaod.org>

This might be a user error on my part, but the way I read this it sounds like I could do this:

        $ rm -rf build
        $ make cscope

and have it emit a cscope file, but when I do so it complains about the build dir not existing. As I understand it, running ./configure (or meson build) is what generates that build dir. Here's the error for posterity:

changing dir to build for make "cscope"...
make[1]: *** build: No such file or directory.  Stop.
make: *** [GNUmakefile:11: cscope] Error 2

One comment inline

---
  Makefile |   17 ++++++++++++++++-
  1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 81794d5c34a2..8ffe2872915d 100644
--- a/Makefile
+++ b/Makefile
@@ -62,7 +62,7 @@ ninja-distclean::
  build.ninja: config-host.mak
Makefile.ninja: build.ninja ninjatool
-       ./ninjatool -t ninja2make --omit clean dist uninstall < $< > $@
+       ./ninjatool -t ninja2make --omit clean dist uninstall cscope TAGS ctags < 
$< > $@
  -include Makefile.ninja
${ninja-targets-c_COMPILER} ${ninja-targets-cpp_COMPILER}: .var.command += -MP
@@ -229,6 +229,21 @@ distclean: clean ninja-distclean
        rm -f linux-headers/asm
        rm -Rf .sdk
+.PHONY: ctags
+ctags:
+       rm -f tags
+       find "$(SRC_PATH)" -name '*.[hc]' -exec ctags --append {} +
+
+.PHONY: TAGS
+TAGS:
+       rm -f TAGS
+       find "$(SRC_PATH)" -name '*.[hc]' -exec etags --append {} +
+
+cscope:

Since this recipe doesn't output an artifact called "cscope" I wonder if this should be:

.PHONY: cscope
cscope:
        ...

or alternatively:

cscope.out:
        ...


+       rm -f "$(SRC_PATH)"/cscope.*
+       find "$(SRC_PATH)/" -name "*.[chsS]" -print | sed -e 's,^\./,,' > 
"$(SRC_PATH)/cscope.files"
+       cscope -b -i"$(SRC_PATH)/cscope.files"
+
  ifdef INSTALL_BLOBS
  BLOBS=bios.bin bios-256k.bin bios-microvm.bin sgabios.bin vgabios.bin 
vgabios-cirrus.bin \
  vgabios-stdvga.bin vgabios-vmware.bin vgabios-qxl.bin vgabios-virtio.bin \




Connor




reply via email to

[Prev in Thread] Current Thread [Next in Thread]