mirror of
https://github.com/mozilla/DeepSpeech.git
synced 2025-10-26 11:19:39 +00:00
78 lines
2.8 KiB
Makefile
78 lines
2.8 KiB
Makefile
###
|
|
### From topdir, first use multistrap to prepare a raspbian jessie armhf root
|
|
### $ sudo multistrap -d multistrap-raspbian-jessie -f native_client/multistrap.conf
|
|
###
|
|
### You can make a tarball after:
|
|
### $ touch multistrap-raspbian-jessie.tar && sudo tar cf multistrap-raspbian-jessie.tar multistrap-raspbian-jessie/ && xz multistrap-raspbian-jessie.tar
|
|
###
|
|
### Then cross-build:
|
|
### $ make -C native_client/ TARGET=rpi3 TFDIR=../../tensorflow/tensorflow/
|
|
###
|
|
|
|
.PHONY: clean run bindings
|
|
|
|
TARGET ?= host
|
|
TFDIR ?= ../../tensorflow
|
|
CXX ?= c++
|
|
PREFIX ?= /usr/local
|
|
|
|
ifeq ($(TARGET),host)
|
|
TOOLCHAIN :=
|
|
CFLAGS := `pkg-config --cflags sox`
|
|
LDFLAGS := `pkg-config --libs sox`
|
|
endif
|
|
|
|
ifeq ($(TARGET),rpi3)
|
|
TOOLCHAIN ?= ${TFDIR}/bazel-$(shell basename "${TFDIR}")/external/GccArmRpi/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf-
|
|
RASPBIAN ?= ../multistrap-raspbian-jessie
|
|
CFLAGS := -isystem $(RASPBIAN)/usr/include -L$(RASPBIAN)/lib/arm-linux-gnueabihf/ -L$(RASPBIAN)/usr/lib/arm-linux-gnueabihf/
|
|
LDFLAGS := -Wl,-rpath-link,$(RASPBIAN)/lib/arm-linux-gnueabihf -Wl,-rpath-link,$(RASPBIAN)/usr/lib/arm-linux-gnueabihf/ -lsox
|
|
endif
|
|
|
|
OS := $(shell uname -s)
|
|
CFLAGS += -L${TFDIR}/bazel-bin/tensorflow -L${TFDIR}/bazel-bin/native_client $(EXTRA_CFLAGS)
|
|
LDFLAGS += -ldeepspeech -ldeepspeech_utils -ltensorflow_cc $(EXTRA_LDFLAGS)
|
|
|
|
META_LD_LIBRARY_PATH := LD_LIBRARY_PATH
|
|
ifeq ($(OS),Darwin)
|
|
META_LD_LIBRARY_PATH := DYLD_LIBRARY_PATH
|
|
endif
|
|
|
|
default: deepspeech
|
|
|
|
clean: bindings-clean
|
|
rm -f deepspeech
|
|
|
|
deepspeech: client.cc
|
|
$(TOOLCHAIN)$(CXX) -o deepspeech $(CFLAGS) client.cc $(LDFLAGS)
|
|
|
|
bindings-clean:
|
|
rm -rf dist build deepspeech.egg-info
|
|
rm -f python/model_wrap.cpp python/utils_wrap.cpp python/model.py python/utils.py
|
|
|
|
bindings:
|
|
pip install --quiet numpy wheel
|
|
CFLAGS="-L${TFDIR}/bazel-bin/tensorflow -L${TFDIR}/bazel-bin/native_client" python ./setup.py bdist_wheel
|
|
|
|
run: deepspeech
|
|
${META_LD_LIBRARY_PATH}=${TFDIR}/bazel-bin/tensorflow:${TFDIR}/bazel-bin/native_client:${${META_LD_LIBRARY_PATH}} ./deepspeech ${ARGS}
|
|
|
|
debug: deepspeech
|
|
${META_LD_LIBRARY_PATH}=${TFDIR}/bazel-bin/tensorflow:${TFDIR}/bazel-bin/native_client:${${META_LD_LIBRARY_PATH}} gdb --args ./deepspeech ${ARGS}
|
|
|
|
install: deepspeech
|
|
install -d ${PREFIX}/lib
|
|
install -m 0644 ${TFDIR}/bazel-bin/tensorflow/libtensorflow_cc.so ${PREFIX}/lib/
|
|
install -m 0644 ${TFDIR}/bazel-bin/native_client/libdeepspeech.so ${PREFIX}/lib/
|
|
install -m 0644 ${TFDIR}/bazel-bin/native_client/libdeepspeech_utils.so ${PREFIX}/lib/
|
|
install -d ${PREFIX}/bin
|
|
install -m 0755 deepspeech ${PREFIX}/bin/
|
|
|
|
uninstall:
|
|
rm -f ${PREFIX}/bin/deepspeech
|
|
rmdir --ignore-fail-on-non-empty ${PREFIX}/bin
|
|
rm -f ${PREFIX}/lib/libdeepspeech_utils.so
|
|
rm -f ${PREFIX}/lib/libdeepspeech.so
|
|
rm -f ${PREFIX}/lib/libtensorflow_cc.so
|
|
rmdir --ignore-fail-on-non-empty ${PREFIX}/lib
|