diff --git a/community/lld/APKBUILD b/community/lld/APKBUILD
index 2deaf04ef89ac150982718bfd0c30b50474affba..5dddacd91f5affeecf49821a445a947e74676f49 100644
--- a/community/lld/APKBUILD
+++ b/community/lld/APKBUILD
@@ -17,6 +17,7 @@ makedepends="
 	llvm$_llvmver-static
 	llvm$_llvmver-test-utils
 	llvm-libunwind-dev
+	ninja
 	xz
 	zlib-dev
 	"
@@ -32,10 +33,7 @@ case "$CARCH" in
 esac
 
 build() {
-	mkdir -p "$builddir"/build
-	cd "$builddir"/build
-
-	cmake -Wno-dev .. \
+	cmake -B build -G Ninja -Wno-dev \
 		-DCMAKE_BUILD_TYPE=MinSizeRel \
 		-DCMAKE_VERBOSE_MAKEFILE=OFF \
 		-DCMAKE_C_FLAGS_MINSIZEREL_INIT="$CFLAGS" \
@@ -44,7 +42,7 @@ build() {
 		-DCMAKE_INSTALL_PREFIX=/usr \
 		-DCMAKE_SKIP_INSTALL_RPATH=ON \
 		-DLLVM_INCLUDE_TESTS=ON
-	make
+	cmake --build build
 }
 
 # NOTE: Try to set -DLLVM_EXTERNAL_LIT=/usr/lib/llvm$_llvmver/bin/lit amove.
@@ -64,7 +62,7 @@ check() {
 }
 
 package() {
-	make -C build install DESTDIR="$pkgdir"
+	DESTDIR="$pkgdir" cmake --install build
 }
 
 sha512sums="