diff options
author | David Goulet <dgoulet@torproject.org> | 2020-12-16 10:01:15 -0500 |
---|---|---|
committer | David Goulet <dgoulet@torproject.org> | 2021-01-21 16:06:31 -0500 |
commit | 8500700aa45722595938ef59935e7efde2b1e9e3 (patch) | |
tree | 5799a91583de6b7ad4a171c4b2d1159bc65a3466 /Makefile.am | |
parent | faf7b550e740642e060518adc6a8624b036ed8e2 (diff) | |
download | tor-8500700aa45722595938ef59935e7efde2b1e9e3.tar.gz tor-8500700aa45722595938ef59935e7efde2b1e9e3.zip |
build: Add "make lsp" command
Generates the compile_commands.json file using the "bear" application so the
ccls server can be more efficient with our code base.
Closes #40227
Signed-off-by: David Goulet <dgoulet@torproject.org>
Diffstat (limited to 'Makefile.am')
-rw-r--r-- | Makefile.am | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am index a868be7362..c7bc514287 100644 --- a/Makefile.am +++ b/Makefile.am @@ -470,3 +470,17 @@ show-libs: show-testing-libs: @echo $(TOR_INTERNAL_TESTING_LIBS) + +# Note here that we hardcode this -j2 because if the user would pass too many +# cores, bear actually chockes and dies :S. For this to work, a make clean +# needs to be done else bear will miss some compile flags. +lsp: + @if test -x "`which bear 2>&1;true`"; then \ + echo "Generating LSP compile_commands.json. Might take few minutes..."; \ + $(MAKE) clean 2>&1 >/dev/null; \ + bear >/dev/null 2>&1 -- $(MAKE) -j2 2>&1 >/dev/null; \ + echo "Generating .ccls file..."; \ + ./scripts/maint/gen_ccls_file.sh \ + else \ + echo "No bear command found. On debian, apt install bear"; \ + fi |