Add Makefile to automate build process
This commit is contained in:
parent
357804c03d
commit
9af36f75f7
69
Makefile
Normal file
69
Makefile
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
.PHONY: all clean whisper setup build check healthcheck help dev run
|
||||||
|
|
||||||
|
# Default target
|
||||||
|
all: check build
|
||||||
|
|
||||||
|
# Development workflow
|
||||||
|
dev: build run
|
||||||
|
|
||||||
|
# Prerequisites
|
||||||
|
check:
|
||||||
|
@echo "Checking prerequisites..."
|
||||||
|
@command -v git >/dev/null 2>&1 || { echo "git is not installed"; exit 1; }
|
||||||
|
@command -v xcodebuild >/dev/null 2>&1 || { echo "xcodebuild is not installed (need Xcode)"; exit 1; }
|
||||||
|
@command -v swift >/dev/null 2>&1 || { echo "swift is not installed"; exit 1; }
|
||||||
|
@echo "Prerequisites OK"
|
||||||
|
|
||||||
|
healthcheck: check
|
||||||
|
|
||||||
|
# Build process
|
||||||
|
whisper:
|
||||||
|
@if [ ! -d "whisper.cpp/build-apple/whisper.xcframework" ]; then \
|
||||||
|
echo "Building whisper.xcframework..."; \
|
||||||
|
git clone https://github.com/ggerganov/whisper.cpp.git || (cd whisper.cpp && git pull); \
|
||||||
|
cd whisper.cpp && ./build-xcframework.sh; \
|
||||||
|
else \
|
||||||
|
echo "whisper.xcframework already built, skipping build"; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
setup: whisper
|
||||||
|
@if [ ! -d "VoiceInk/whisper.xcframework" ]; then \
|
||||||
|
echo "Copying whisper.xcframework to VoiceInk..."; \
|
||||||
|
cp -r whisper.cpp/build-apple/whisper.xcframework VoiceInk/; \
|
||||||
|
else \
|
||||||
|
echo "whisper.xcframework already in VoiceInk, skipping copy"; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
build: setup
|
||||||
|
xcodebuild -project VoiceInk.xcodeproj -scheme VoiceInk -configuration Debug CODE_SIGN_IDENTITY="" build
|
||||||
|
|
||||||
|
# Run application
|
||||||
|
run:
|
||||||
|
@echo "Looking for VoiceInk.app..."
|
||||||
|
@APP_PATH=$$(find "$$HOME/Library/Developer/Xcode/DerivedData" -name "VoiceInk.app" -type d | head -1) && \
|
||||||
|
if [ -n "$$APP_PATH" ]; then \
|
||||||
|
echo "Found app at: $$APP_PATH"; \
|
||||||
|
open "$$APP_PATH"; \
|
||||||
|
else \
|
||||||
|
echo "VoiceInk.app not found. Please run 'make build' first."; \
|
||||||
|
exit 1; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Cleanup
|
||||||
|
clean:
|
||||||
|
@echo "Cleaning build artifacts..."
|
||||||
|
@rm -rf whisper.cpp VoiceInk/whisper.xcframework
|
||||||
|
@echo "Clean complete"
|
||||||
|
|
||||||
|
# Help
|
||||||
|
help:
|
||||||
|
@echo "Available targets:"
|
||||||
|
@echo " check/healthcheck Check if required CLI tools are installed"
|
||||||
|
@echo " whisper Clone and build whisper.cpp XCFramework"
|
||||||
|
@echo " setup Copy whisper XCFramework to VoiceInk project"
|
||||||
|
@echo " build Build the VoiceInk Xcode project"
|
||||||
|
@echo " run Launch the built VoiceInk app"
|
||||||
|
@echo " dev Build and run the app (for development)"
|
||||||
|
@echo " all Run full build process (default)"
|
||||||
|
@echo " clean Remove build artifacts"
|
||||||
|
@echo " help Show this help message"
|
||||||
Loading…
x
Reference in New Issue
Block a user