# 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"