STT-tensorflow/tensorflow/lite/tools/pip_package/Makefile
Dmitry Kovalev 5bb79424d7 Add '--std=c++11' to compile native part of tflite_runtime and fix issues introduced by https://github.com/tensorflow/tensorflow/pull/36690
PiperOrigin-RevId: 297328790
Change-Id: I14efd3c974bb6b4a9e44f4bbe609ceb034351c33
2020-02-26 04:13:36 -08:00

56 lines
1.8 KiB
Makefile

# Values: debian:<version>, ubuntu:<version>
BASE_IMAGE ?= debian:buster
# Values: python, python3
PYTHON ?= python3
# Values: rpi, aarch64, native
TENSORFLOW_TARGET ?= native
# Values: n, y
BUILD_DEB ?= n
# Values: according to https://www.python.org/dev/peps/pep-0440/
VERSION_SUFFIX ?=
MAKEFILE_DIR := $(realpath $(dir $(lastword $(MAKEFILE_LIST))))
TENSORFLOW_DIR := $(MAKEFILE_DIR)/../../../..
OUT_DIR := $(CURDIR)/out/$(PYTHON)/$(subst :,-,$(BASE_IMAGE))
TAG_IMAGE := "tflite-runtime-builder-$(subst :,-,$(BASE_IMAGE))"
.PHONY: help \
docker-image \
docker-shell \
docker-build \
clean
help:
@echo "make docker-image -- build docker image"
@echo "make docker-shell -- run shell inside the docker image"
@echo "make docker-build -- build wheel and deb inside the docker image"
@echo "make clean -- remove wheel and deb files"
docker-image:
docker build -t $(TAG_IMAGE) --build-arg IMAGE=$(BASE_IMAGE) .
docker-shell: docker-image
docker run --rm --interactive --tty \
--volume $(TENSORFLOW_DIR):/tensorflow \
--workdir /tensorflow \
$(TAG_IMAGE)
docker-build: docker-image
mkdir -p $(OUT_DIR)
docker run --user $(shell id -u):$(shell id -g) \
--rm --interactive $(shell tty -s && echo --tty) \
--env "PYTHON=$(PYTHON)" \
--env "TENSORFLOW_TARGET=$(TENSORFLOW_TARGET)" \
--env "BUILD_DEB=$(BUILD_DEB)" \
--env "VERSION_SUFFIX=$(VERSION_SUFFIX)" \
--volume $(TENSORFLOW_DIR):/tensorflow \
--volume $(OUT_DIR):/out \
$(TAG_IMAGE) \
/bin/bash -c "/tensorflow/tensorflow/lite/tools/pip_package/build_pip_package.sh && \
(cp /tensorflow/tensorflow/lite/tools/pip_package/gen/tflite_pip/*.deb \
/tensorflow/tensorflow/lite/tools/pip_package/gen/tflite_pip/${PYTHON}/dist/{*.whl,*.tar.gz} \
/out 2>/dev/null || true)"
clean:
rm -rf $(CURDIR)/out