blob: 8d2a23cc7fe1d61457e4cf7a69a6ae7f3a70a909 (
plain) (
tree)
|
|
# Makima iOS — build shortcuts
# Requires: xcodegen (brew install xcodegen), Xcode 16+
# Run `make xcgen` after editing project.yml.
SCHEME := Makima
WORKSPACE := Makima.xcodeproj
SIM_DEVICE := iPhone 16 Pro
.PHONY: help bootstrap xcgen ios-sim-fast ios-device-fast clean test lint
help:
@echo "Targets:"
@echo " bootstrap install xcodegen if missing"
@echo " xcgen (re)generate Makima.xcodeproj from project.yml"
@echo " ios-sim-fast build for simulator ($(SIM_DEVICE))"
@echo " ios-device-fast build for generic iOS device"
@echo " test run unit tests on simulator"
@echo " clean remove generated project + DerivedData"
@echo " lint swift format lint (if installed)"
bootstrap:
@command -v xcodegen >/dev/null || (echo "Installing xcodegen..." && brew install xcodegen)
xcgen: bootstrap
xcodegen generate
ios-sim-fast: xcgen
set -o pipefail; xcodebuild \
-project $(WORKSPACE) \
-scheme $(SCHEME) \
-destination 'platform=iOS Simulator,name=$(SIM_DEVICE)' \
-configuration Debug \
build | xcbeautify || true
ios-device-fast: xcgen
set -o pipefail; xcodebuild \
-project $(WORKSPACE) \
-scheme $(SCHEME) \
-destination 'generic/platform=iOS' \
-configuration Debug \
build | xcbeautify || true
test: xcgen
set -o pipefail; xcodebuild \
-project $(WORKSPACE) \
-scheme $(SCHEME) \
-destination 'platform=iOS Simulator,name=$(SIM_DEVICE)' \
test | xcbeautify || true
clean:
rm -rf Makima.xcodeproj DerivedData build
lint:
@command -v swift-format >/dev/null && swift-format lint -r Sources Tests || echo "swift-format not installed, skipping"
|