Building clang: "make clang" leads to "make: *** No rule to make target 'clang'. Stop."

Viewed 25

Scenario:

# /cygdrive/D/llvm-project-main/build
$ cmake ../llvm  -DCMAKE_BUILD_TYPE=Debug
...
-- Performing Test HAVE_STEADY_CLOCK -- success
-- Configuring done
-- Generating done
-- Build files have been written to: /cygdrive/D/llvm-project-main/build

$ make clang
make: *** No rule to make target 'clang'.  Stop.

Why? How to fix?

1 Answers

Add -DLLVM_ENABLE_PROJECTS=clang:

$ cmake ../llvm  -DCMAKE_BUILD_TYPE=Debug -DLLVM_ENABLE_PROJECTS=clang
...
-- Performing Test HAVE_STEADY_CLOCK -- success
-- Configuring done
-- Generating done
-- Build files have been written to: /cygdrive/D/llvm-project-main/build

$ make clang
[  0%] Building CXX object tools/clang/lib/Support/CMakeFiles/obj.clangSupport.dir/RISCVVIntrinsicUtils.cpp.o
...

Note: I don't know why project clang is not enabled by default. I expect it to be enabled by default (so, no extra -DLLVM_ENABLE_PROJECTS=clang is required). If anyone knows, please explain in comments.

Related