Mercurial > hgrepos > Python2 > PyMuPDF
comparison 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 |
comparison
equal
deleted
inserted
replaced
| 15:393e55ef9200 | 16:bd5bb0742cc3 |
|---|---|
| 24 # - At first to not build with tesseract (OCR) | 24 # - At first to not build with tesseract (OCR) |
| 25 # | 25 # |
| 26 # export PYMUPDF_SETUP_MUPDF_TESSERACT=0 | 26 # export PYMUPDF_SETUP_MUPDF_TESSERACT=0 |
| 27 # | 27 # |
| 28 | 28 |
| 29 .PHONY: build populate-venv | 29 .PHONY: build populate-venv check |
| 30 | |
| 31 .SILENT: check | |
| 30 | 32 |
| 31 THIS_MAKEFILE_JUSTNAME:= $(firstword $(MAKEFILE_LIST)) | 33 THIS_MAKEFILE_JUSTNAME:= $(firstword $(MAKEFILE_LIST)) |
| 32 THIS_MAKEFILE_DIR:= $(abspath $(dir $(THIS_MAKEFILE_JUSTNAME))) | 34 THIS_MAKEFILE_DIR:= $(abspath $(dir $(THIS_MAKEFILE_JUSTNAME))) |
| 33 | 35 |
| 34 PYMUPDF_SETUP_MUPDF_BUILD?= $(THIS_MAKEFILE_DIR)/mupdf-source | 36 PYMUPDF_SETUP_MUPDF_BUILD?= $(THIS_MAKEFILE_DIR)/mupdf-source |
| 47 # Symlink in the venv instead. | 49 # Symlink in the venv instead. |
| 48 # | 50 # |
| 49 #CC= $(CLANG_DIR)/bin/clang | 51 #CC= $(CLANG_DIR)/bin/clang |
| 50 #CXX= $(CLANG_DIR)/bin/clang++ | 52 #CXX= $(CLANG_DIR)/bin/clang++ |
| 51 | 53 |
| 52 build: | 54 build: check |
| 53 ifneq ($(firstword $(PYTHON_PREFIXES)),$(lastword $(PYTHON_PREFIXES))) | |
| 54 $(TEST) -e $(firstword $(PYTHON_PREFIXES))/bin/make || $(SYMLINK) $(LOCALBASE)/bin/gmake $(firstword $(PYTHON_PREFIXES))/bin/make | 55 $(TEST) -e $(firstword $(PYTHON_PREFIXES))/bin/make || $(SYMLINK) $(LOCALBASE)/bin/gmake $(firstword $(PYTHON_PREFIXES))/bin/make |
| 55 # $(TEST) -e $(firstword $(PYTHON_PREFIXES))/bin/ar || $(SYMLINK) $(LOCALBASE)/bin/ar $(firstword $(PYTHON_PREFIXES))/bin/ar | |
| 56 $(TEST) -e $(firstword $(PYTHON_PREFIXES))/bin/ar || $(SYMLINK) $(CLANG_DIR)/bin/llvm-ar $(firstword $(PYTHON_PREFIXES))/bin/ar | 56 $(TEST) -e $(firstword $(PYTHON_PREFIXES))/bin/ar || $(SYMLINK) $(CLANG_DIR)/bin/llvm-ar $(firstword $(PYTHON_PREFIXES))/bin/ar |
| 57 $(TEST) -e $(firstword $(PYTHON_PREFIXES))/bin/cc || $(SYMLINK) $(CLANG_DIR)/bin/clang $(firstword $(PYTHON_PREFIXES))/bin/cc | 57 $(TEST) -e $(firstword $(PYTHON_PREFIXES))/bin/cc || $(SYMLINK) $(CLANG_DIR)/bin/clang $(firstword $(PYTHON_PREFIXES))/bin/cc |
| 58 $(TEST) -e $(firstword $(PYTHON_PREFIXES))/bin/c++ || $(SYMLINK) $(CLANG_DIR)/bin/clang++ $(firstword $(PYTHON_PREFIXES))/bin/c++ | 58 $(TEST) -e $(firstword $(PYTHON_PREFIXES))/bin/c++ || $(SYMLINK) $(CLANG_DIR)/bin/clang++ $(firstword $(PYTHON_PREFIXES))/bin/c++ |
| 59 $(TEST) -e $(firstword $(PYTHON_PREFIXES))/bin/ld || $(SYMLINK) $(CLANG_DIR)/bin/ld.lld $(firstword $(PYTHON_PREFIXES))/bin/ld | 59 $(TEST) -e $(firstword $(PYTHON_PREFIXES))/bin/ld || $(SYMLINK) $(CLANG_DIR)/bin/ld.lld $(firstword $(PYTHON_PREFIXES))/bin/ld |
| 60 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 | 60 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 |
| 61 else | |
| 62 $(error Not in a Python virtual environment) | |
| 63 endif | |
| 64 | 61 |
| 65 | 62 |
| 66 populate-venv: | 63 populate-venv: |
| 67 ifneq ($(firstword $(PYTHON_PREFIXES)),$(lastword $(PYTHON_PREFIXES))) | 64 ifneq ($(firstword $(PYTHON_PREFIXES)),$(lastword $(PYTHON_PREFIXES))) |
| 68 $(PYTHON) -m pip install -U -r requirements-build.txt | 65 $(PYTHON) -m pip install -U -r requirements-build.txt |
| 69 else | 66 else |
| 70 $(error Not in a Python virtual environment) | 67 $(error Not in a Python virtual environment) |
| 71 endif | 68 endif |
| 69 | |
| 70 | |
| 71 check: | |
| 72 ifneq ($(firstword $(PYTHON_PREFIXES)),$(lastword $(PYTHON_PREFIXES))) | |
| 73 $(PYTHON) -m pip freeze | grep -E '^\s*setuptools-scm==' >/dev/null | |
| 74 $(PYTHON) -m pip freeze | grep -E '^\s*build==' >/dev/null | |
| 75 $(PYTHON) -m pip freeze | grep -E '^\s*swig==' >/dev/null | |
| 76 $(PYTHON) -m pip freeze | grep -E '^\s*libclang==18\.' >/dev/null | |
| 77 $(TEST) -x $(LOCALBASE)/bin/gmake | |
| 78 $(TEST) -x $(LOCALBASE)/bin/cmake | |
| 79 $(TEST) -x $(CLANG_DIR)/bin/llvm-ar | |
| 80 $(TEST) -x $(CLANG_DIR)/bin/clang | |
| 81 $(TEST) -x $(CLANG_DIR)/bin/clang++ | |
| 82 $(TEST) -x $(CLANG_DIR)/bin/ld.lld | |
| 83 else | |
| 84 $(error Not in a Python virtual environment) | |
| 85 endif |
