49 lines
1.0 KiB
Makefile
49 lines
1.0 KiB
Makefile
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)
|