view Makefile.freebsd @ 6:b5f06508363a

PyMuPDF builds on FreeBSD now with "gmake -f Makefile.freebsd". A virtual environment with requirements from "requirements-build.txt" is required.
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 15 Sep 2025 16:16:51 +0200
parents
children bf1744083a54
line wrap: on
line source

# -*- mode: makefile; coding: utf-8 -*-
#
# GNU make and binutils/ar
#

.PHONY: build

THIS_MAKEFILE_JUSTNAME:=	$(firstword $(MAKEFILE_LIST))
THIS_MAKEFILE_DIR:=		$(abspath $(dir $(THIS_MAKEFILE_JUSTNAME)))

PYMUPDF_SETUP_MUPDF_BUILD?=	$(THIS_MAKEFILE_DIR)/mupdf-source
PYMUPDF_SETUP_MUPDF_TESSERACT?=	0
LIBCLANG_LIBRARY_PATH?=		$(CLANG_DIR)/lib

TEST=				/bin/test
LOCALBASE?=			/usr/local
SYMLINK?=			/bin/ln -s
PYTHON?=			python
PYTHON_PREFIXES!=		$(PYTHON) -c 'import sys; print(sys.prefix); print(sys.base_prefix)'
CLANG_DIR?=			/usr/local/llvm18

# Setting these does not work for some parts built by sub-makes
#CC=	$(CLANG_DIR)/bin/clang
#CXX=	$(CLANG_DIR)/bin/clang++

build:
ifneq ($(firstword $(PYTHON_PREFIXES)),$(lastword $(PYTHON_PREFIXES)))
	$(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
	echo $(PYTHON_PREFIXES)
	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