1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
# simple makefile to simplify repetitive build env management tasks under posix
PYTHON ?= python
DEFAULT_MESON_BUILD_DIR = build/cp$(shell python -c 'import sys, sysconfig; suffix = "t" if sysconfig.get_config_var("Py_GIL_DISABLED") else ""; print(f"{sys.version_info.major}{sys.version_info.minor}{suffix}")')
all:
@echo "Please use 'make <target>' where <target> is one of"
@echo " dev build scikit-learn with Meson"
@echo " clean clean scikit-learn Meson build. Very rarely needed,"
@echo " since meson-python recompiles on import."
.PHONY: all
dev: dev-meson
dev-meson:
pip install --verbose --no-build-isolation --editable . --config-settings editable-verbose=true
clean: clean-meson
clean-meson:
pip uninstall -y scikit-learn
# It seems in some cases removing the folder avoids weird compilation
# errors (e.g. when switching from numpy>=2 to numpy<2). For some
# reason ninja clean -C $(DEFAULT_MESON_BUILD_DIR) is not
# enough.
rm -rf $(DEFAULT_MESON_BUILD_DIR)
|