mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 12:54:11 +08:00
Pull Request resolved: https://github.com/pytorch/pytorch/pull/156741 Approved by: https://github.com/aorenste
93 lines
2.3 KiB
Makefile
93 lines
2.3 KiB
Makefile
# This makefile does nothing but delegating the actual building to cmake.
|
|
|
|
SHELL = /bin/bash
|
|
.SHELLFLAGS := -eu -o pipefail -c
|
|
PYTHON ?= $(shell command -v python3 || command -v python)
|
|
PIP = $(PYTHON) -m pip
|
|
NIGHTLY_TOOL_OPTS := pull
|
|
|
|
.PHONY: all
|
|
all:
|
|
@cmake -S . -B build $(shell $(PYTHON) ./scripts/get_python_cmake_flags.py) && \
|
|
cmake --build build --parallel --
|
|
|
|
.PHONY: local
|
|
local:
|
|
@./scripts/build_local.sh
|
|
|
|
.PHONY: android
|
|
android:
|
|
@./scripts/build_android.sh
|
|
|
|
.PHONY: ios
|
|
ios:
|
|
@./scripts/build_ios.sh
|
|
|
|
.PHONY: triton
|
|
triton:
|
|
$(PIP) uninstall -y triton
|
|
@./scripts/install_triton_wheel.sh
|
|
|
|
.PHONY: clean
|
|
clean: # This will remove ALL build folders.
|
|
@rm -r build*/ || true
|
|
|
|
.PHONY: linecount
|
|
linecount:
|
|
@cloc --read-lang-def=caffe.cloc caffe2 || \
|
|
echo "Cloc is not available on the machine. You can install cloc with " && \
|
|
echo " sudo apt-get install cloc"
|
|
|
|
.PHONY: ensure-branch-clean
|
|
ensure-branch-clean:
|
|
@if [ -n "$(shell git status --porcelain)" ]; then \
|
|
echo "Please commit or stash all changes before running this script"; \
|
|
exit 1; \
|
|
fi
|
|
|
|
.PHONY: setup-env
|
|
setup-env: ensure-branch-clean
|
|
$(PYTHON) tools/nightly.py $(NIGHTLY_TOOL_OPTS)
|
|
|
|
.PHONY: setup-env-cuda
|
|
setup-env-cuda:
|
|
$(MAKE) setup-env PYTHON="$(PYTHON)" NIGHTLY_TOOL_OPTS="$(NIGHTLY_TOOL_OPTS) --cuda"
|
|
|
|
.PHONY: setup-env-rocm
|
|
setup-env-rocm:
|
|
$(MAKE) setup-env PYTHON="$(PYTHON)" NIGHTLY_TOOL_OPTS="$(NIGHTLY_TOOL_OPTS) --rocm"
|
|
|
|
.PHONY: setup-lint
|
|
setup-lint .lintbin/.lintrunner.sha256: requirements.txt pyproject.toml .lintrunner.toml
|
|
@echo "Setting up lintrunner..."
|
|
$(PIP) install lintrunner
|
|
lintrunner init
|
|
@echo "Generating .lintrunner.sha256..."
|
|
@mkdir -p .lintbin
|
|
@sha256sum requirements.txt pyproject.toml .lintrunner.toml > .lintbin/.lintrunner.sha256
|
|
|
|
.PHONY: lazy-setup-lint
|
|
lazy-setup-lint: .lintbin/.lintrunner.sha256
|
|
@if [ ! -x "$(shell command -v lintrunner)" ]; then \
|
|
$(MAKE) setup-lint; \
|
|
fi
|
|
|
|
.PHONY: lint
|
|
lint: lazy-setup-lint
|
|
lintrunner --all-files
|
|
|
|
.PHONY: quicklint
|
|
quicklint: lazy-setup-lint
|
|
lintrunner
|
|
|
|
.PHONY: quickfix
|
|
quickfix: lazy-setup-lint
|
|
lintrunner --apply-patches
|
|
|
|
# Deprecated target aliases
|
|
.PHONY: setup_env setup_env_cuda setup_env_rocm setup_lint
|
|
setup_env: setup-env
|
|
setup_env_cuda: setup-env-cuda
|
|
setup_env_rocm: setup-env-rocm
|
|
setup_lint: setup-lint
|