| # This makefile does nothing but delegating the actual building to cmake. |
| PYTHON = python3 |
| PIP = $(PYTHON) -m pip |
| NIGHTLY_TOOL_OPTS := pull |
| |
| all: |
| @mkdir -p build && cd build && cmake .. $(shell $(PYTHON) ./scripts/get_python_cmake_flags.py) && $(MAKE) |
| |
| local: |
| @./scripts/build_local.sh |
| |
| android: |
| @./scripts/build_android.sh |
| |
| ios: |
| @./scripts/build_ios.sh |
| |
| clean: # This will remove ALL build folders. |
| @rm -r build*/ |
| |
| 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" |
| |
| ensure-branch-clean: |
| @if [ -n "$(shell git status --porcelain)" ]; then \ |
| echo "Please commit or stash all changes before running this script"; \ |
| exit 1; \ |
| fi |
| |
| setup-env: ensure-branch-clean |
| $(PYTHON) tools/nightly.py $(NIGHTLY_TOOL_OPTS) |
| |
| setup-env-cuda: |
| $(MAKE) setup-env PYTHON="$(PYTHON)" NIGHTLY_TOOL_OPTS="$(NIGHTLY_TOOL_OPTS) --cuda" |
| |
| setup_env: setup-env |
| setup_env_cuda: setup-env-cuda |
| |
| setup-lint: |
| $(PIP) install lintrunner |
| lintrunner init |
| |
| setup_lint: setup-lint |
| |
| lint: |
| lintrunner |
| |
| quicklint: |
| lintrunner |
| |
| triton: |
| $(PIP) uninstall -y triton |
| @./scripts/install_triton_wheel.sh |