PREFIX ?= $(HOME)/.local BINDIR ?= $(PREFIX)/bin PROG ?= video2srt PYTHON ?= python3 VENV ?= .venv BACKEND ?= rocm PIP := $(VENV)/bin/pip ifeq ($(BACKEND),rocm) TORCH_INDEX := --index-url https://download.pytorch.org/whl/rocm6.3 else ifeq ($(BACKEND),cuda) TORCH_INDEX := --index-url https://download.pytorch.org/whl/cu124 else ifeq ($(BACKEND),cpu) TORCH_INDEX := else $(error Unknown BACKEND=$(BACKEND), expected: rocm | cuda | cpu) endif .PHONY: build install clean uninstall build: $(VENV)/.installed $(VENV)/.torch-$(BACKEND): | $(VENV) $(PIP) install torch torchaudio $(TORCH_INDEX) touch $@ $(VENV)/.installed: pyproject.toml $(VENV)/.torch-$(BACKEND) $(PIP) install -e . ifeq ($(BACKEND),rocm) $(PIP) uninstall -y triton || true $(PIP) install --force-reinstall --no-deps pytorch-triton-rocm $(TORCH_INDEX) endif touch $@ $(VENV): $(PYTHON) -m venv $(VENV) $(BINDIR)/$(PROG): $(VENV)/.installed install -D -m 755 $(VENV)/bin/$(PROG) $@ install: $(BINDIR)/$(PROG) clean: rm -rf $(VENV) uninstall: rm -f $(BINDIR)/$(PROG)