git: d2f1c8e0d1be - main - Makefile: Update doxygen requirements

From: Alexander Ziaee <ziaee_at_FreeBSD.org>
Date: Thu, 08 Jan 2026 14:01:52 UTC
The branch main has been updated by ziaee:

URL: https://cgit.FreeBSD.org/src/commit/?id=d2f1c8e0d1bebab9fba32d69d261abc101f368ba

commit d2f1c8e0d1bebab9fba32d69d261abc101f368ba
Author:     Minsoo Choo <minsoochoo0122@proton.me>
AuthorDate: 2026-01-06 18:11:11 +0000
Commit:     Alexander Ziaee <ziaee@FreeBSD.org>
CommitDate: 2026-01-08 14:01:03 +0000

    Makefile: Update doxygen requirements
    
    MFC after:      3 days
    Reviewed by:    imp, ziaee
    Signed-off-by:  Minsoo Choo <minsoochoo0122@proton.me>
    Closes:         https://github.com/freebsd/freebsd-src/pull/1869
---
 Makefile      | 4 ++--
 Makefile.inc1 | 8 ++++++++
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 5f27f22d7a3f..da4bac4673fa 100644
--- a/Makefile
+++ b/Makefile
@@ -22,7 +22,7 @@
 # kernel              - buildkernel + installkernel.
 # kernel-toolchain    - Builds the subset of world necessary to build a kernel
 # kernel-toolchains   - Build kernel-toolchain for all universe targets.
-# doxygen             - Build API documentation of the kernel, needs doxygen.
+# doxygen             - Build API documentation of the kernel, needs doxygen, TeX, and graphviz.
 # checkworld          - Run test suite on installed world.
 # check-old           - List obsolete directories/files/libraries.
 # check-old-dirs      - List obsolete directories.
@@ -804,7 +804,7 @@ universe_epilogue: .PHONY
 .MAKE.MODE= normal
 # Normally the things we run from here don't either.
 # Using -DWITH_META_MODE
-# we can buildworld with meta files created which are useful 
+# we can buildworld with meta files created which are useful
 # for debugging, but without any of the rest of a meta mode build.
 MK_DIRDEPS_BUILD= no
 MK_STAGING= no
diff --git a/Makefile.inc1 b/Makefile.inc1
index 5005e4e0acc7..8b920c1dc571 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -2464,6 +2464,14 @@ doxygen: .PHONY
 		echo "You need doxygen (devel/doxygen) to generate the API documentation of the kernel." | /usr/bin/fmt; \
 		exit 1; \
 	fi
+	@if [ ! -x "${LOCALBASE}/bin/tex" ]; then \
+		echo "You need TeX (print/texlive-full) to generate the API documentation of the kernel." | /usr/bin/fmt; \
+		exit 1; \
+	fi
+	@if [ ! -x "${LOCALBASE}/bin/dot" ]; then \
+		echo "You need graphviz (graphics/graphviz) to generate the API documentation of the kernel." | /usr/bin/fmt; \
+		exit 1; \
+	fi
 	${_+_}cd ${.CURDIR}/tools/kerneldoc/subsys; ${MAKE} obj all
 
 #