mirror of
https://github.com/ggerganov/whisper.cpp.git
synced 2024-12-19 04:37:51 +00:00
180e062eda
* Fixed Makefile for MacOS ARM 64 based on https://github.com/ggerganov/whisper.cpp/issues/1344 + proper ggml-metal env var setting * conditional to fix broken non-macos compilation * spaces -> tab * make : fix whitespaces --------- Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
65 lines
1.9 KiB
Makefile
65 lines
1.9 KiB
Makefile
ifndef UNAME_S
|
|
UNAME_S := $(shell uname -s)
|
|
endif
|
|
|
|
ifndef UNAME_P
|
|
UNAME_P := $(shell uname -p)
|
|
endif
|
|
|
|
ifndef UNAME_M
|
|
UNAME_M := $(shell uname -m)
|
|
endif
|
|
|
|
GGML_METAL_PATH_RESOURCES := $(abspath ../..)
|
|
BUILD_DIR := build
|
|
MODELS_DIR := models
|
|
EXAMPLES_DIR := $(wildcard examples/*)
|
|
INCLUDE_PATH := $(abspath ../..)
|
|
LIBRARY_PATH := $(abspath ../..)
|
|
|
|
ifeq ($(UNAME_S),Darwin)
|
|
EXT_LDFLAGS := -framework Foundation -framework Metal -framework MetalKit
|
|
endif
|
|
|
|
all: clean whisper examples
|
|
|
|
whisper: mkdir
|
|
@echo Build whisper
|
|
@${MAKE} -C ../.. libwhisper.a
|
|
|
|
test: model-small whisper modtidy
|
|
ifeq ($(UNAME_S),Darwin)
|
|
@C_INCLUDE_PATH=${INCLUDE_PATH} LIBRARY_PATH=${LIBRARY_PATH} GGML_METAL_PATH_RESOURCES=${GGML_METAL_PATH_RESOURCES} go test -ldflags "-extldflags '$(EXT_LDFLAGS)'" -v .
|
|
@C_INCLUDE_PATH=${INCLUDE_PATH} LIBRARY_PATH=${LIBRARY_PATH} GGML_METAL_PATH_RESOURCES=${GGML_METAL_PATH_RESOURCES} go test -ldflags "-extldflags '$(EXT_LDFLAGS)'" -v ./pkg/whisper/...
|
|
else
|
|
@C_INCLUDE_PATH=${INCLUDE_PATH} LIBRARY_PATH=${LIBRARY_PATH} go test -v .
|
|
@C_INCLUDE_PATH=${INCLUDE_PATH} LIBRARY_PATH=${LIBRARY_PATH} go test -v ./pkg/whisper/...
|
|
endif
|
|
|
|
examples: $(EXAMPLES_DIR)
|
|
|
|
model-small: mkdir examples/go-model-download
|
|
@${BUILD_DIR}/go-model-download -out models ggml-small.en.bin
|
|
|
|
$(EXAMPLES_DIR): mkdir whisper modtidy
|
|
@echo Build example $(notdir $@)
|
|
ifeq ($(UNAME_S),Darwin)
|
|
@C_INCLUDE_PATH=${INCLUDE_PATH} LIBRARY_PATH=${LIBRARY_PATH} GGML_METAL_PATH_RESOURCES=${GGML_METAL_PATH_RESOURCES} go build ${BUILD_FLAGS} -ldflags "-extldflags '$(EXT_LDFLAGS)'" -o ${BUILD_DIR}/$(notdir $@) ./$@
|
|
else
|
|
@C_INCLUDE_PATH=${INCLUDE_PATH} LIBRARY_PATH=${LIBRARY_PATH} go build ${BUILD_FLAGS} -o ${BUILD_DIR}/$(notdir $@) ./$@
|
|
endif
|
|
|
|
mkdir:
|
|
@echo Mkdir ${BUILD_DIR}
|
|
@install -d ${BUILD_DIR}
|
|
@echo Mkdir ${MODELS_DIR}
|
|
@install -d ${MODELS_DIR}
|
|
|
|
modtidy:
|
|
@go mod tidy
|
|
|
|
clean:
|
|
@echo Clean
|
|
@rm -fr $(BUILD_DIR)
|
|
@go clean
|