diff Makefile.freebsd @ 16:bd5bb0742cc3

A "check" target that checks for all venv and host prerequisites
author Franz Glasner <fzglas.hg@dom66.de>
date Wed, 17 Sep 2025 21:11:25 +0200
parents 393e55ef9200
children dd663470c57c
line wrap: on
line diff
--- a/Makefile.freebsd	Wed Sep 17 21:11:04 2025 +0200
+++ b/Makefile.freebsd	Wed Sep 17 21:11:25 2025 +0200
@@ -26,7 +26,9 @@
 #     export PYMUPDF_SETUP_MUPDF_TESSERACT=0
 #
 
-.PHONY: build populate-venv
+.PHONY: build populate-venv check
+
+.SILENT: check
 
 THIS_MAKEFILE_JUSTNAME:=	$(firstword $(MAKEFILE_LIST))
 THIS_MAKEFILE_DIR:=		$(abspath $(dir $(THIS_MAKEFILE_JUSTNAME)))
@@ -49,18 +51,13 @@
 #CC=	$(CLANG_DIR)/bin/clang
 #CXX=	$(CLANG_DIR)/bin/clang++
 
-build:
-ifneq ($(firstword $(PYTHON_PREFIXES)),$(lastword $(PYTHON_PREFIXES)))
+build: check
 	$(TEST) -e $(firstword $(PYTHON_PREFIXES))/bin/make || $(SYMLINK) $(LOCALBASE)/bin/gmake $(firstword $(PYTHON_PREFIXES))/bin/make
-#	$(TEST) -e $(firstword $(PYTHON_PREFIXES))/bin/ar || $(SYMLINK) $(LOCALBASE)/bin/ar $(firstword $(PYTHON_PREFIXES))/bin/ar
 	$(TEST) -e $(firstword $(PYTHON_PREFIXES))/bin/ar || $(SYMLINK) $(CLANG_DIR)/bin/llvm-ar $(firstword $(PYTHON_PREFIXES))/bin/ar
 	$(TEST) -e $(firstword $(PYTHON_PREFIXES))/bin/cc || $(SYMLINK) $(CLANG_DIR)/bin/clang $(firstword $(PYTHON_PREFIXES))/bin/cc
 	$(TEST) -e $(firstword $(PYTHON_PREFIXES))/bin/c++ || $(SYMLINK) $(CLANG_DIR)/bin/clang++ $(firstword $(PYTHON_PREFIXES))/bin/c++
 	$(TEST) -e $(firstword $(PYTHON_PREFIXES))/bin/ld || $(SYMLINK) $(CLANG_DIR)/bin/ld.lld $(firstword $(PYTHON_PREFIXES))/bin/ld
 	PIPCL_VERBOSE=2 LIBCLANG_LIBRARY_PATH=$(LIBCLANG_LIBRARY_PATH) PYMUPDF_SETUP_MUPDF_BUILD=$(PYMUPDF_SETUP_MUPDF_BUILD) PYMUPDF_SETUP_MUPDF_TESSERACT=$(PYMUPDF_SETUP_MUPDF_TESSERACT) $(PYTHON) -m build --wheel --verbose --no-isolation
-else
-	$(error Not in a Python virtual environment)
-endif
 
 
 populate-venv:
@@ -69,3 +66,20 @@
 else
 	$(error Not in a Python virtual environment)
 endif
+
+
+check:
+ifneq ($(firstword $(PYTHON_PREFIXES)),$(lastword $(PYTHON_PREFIXES)))
+	$(PYTHON) -m pip freeze | grep -E '^\s*setuptools-scm==' >/dev/null
+	$(PYTHON) -m pip freeze | grep -E '^\s*build==' >/dev/null
+	$(PYTHON) -m pip freeze | grep -E '^\s*swig==' >/dev/null
+	$(PYTHON) -m pip freeze | grep -E '^\s*libclang==18\.' >/dev/null
+	$(TEST) -x $(LOCALBASE)/bin/gmake
+	$(TEST) -x $(LOCALBASE)/bin/cmake
+	$(TEST) -x $(CLANG_DIR)/bin/llvm-ar
+	$(TEST) -x $(CLANG_DIR)/bin/clang
+	$(TEST) -x $(CLANG_DIR)/bin/clang++
+	$(TEST) -x $(CLANG_DIR)/bin/ld.lld
+else
+	$(error Not in a Python virtual environment)
+endif