|
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 cscopeand 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.makMakefile.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
[Prev in Thread] | Current Thread | [Next in Thread] |