39 lines
1.0 KiB
Bash
39 lines
1.0 KiB
Bash
#!/bin/sh
|
|
set -eu
|
|
|
|
PROJECT_DIR="${1:-/var/mobile/IPhoneMCP}"
|
|
SDK="${SDK:-/var/mobile/theos/sdks/iPhoneOS12.4.sdk}"
|
|
BUILD_DIR="$PROJECT_DIR/.manual_build"
|
|
OBJ_DIR="$BUILD_DIR/obj"
|
|
APP_DIR="$BUILD_DIR/IPhoneMCP.app"
|
|
|
|
mkdir -p "$OBJ_DIR" "$APP_DIR"
|
|
cp "$PROJECT_DIR/Resources/Info.plist" "$APP_DIR/Info.plist"
|
|
|
|
CFLAGS="-arch arm64 -isysroot $SDK -miphoneos-version-min=12.0 -fobjc-arc -Wno-deprecated-declarations -I$PROJECT_DIR"
|
|
SOURCES="main.m IMCAppDelegate.m IMCViewController.m IMCCanvasView.m IMCMCPServer.m IMCVideoStreamServer.m"
|
|
OBJECTS=""
|
|
|
|
for src in $SOURCES; do
|
|
obj="$OBJ_DIR/${src%.m}.o"
|
|
echo "Compiling $src"
|
|
clang $CFLAGS -c "$PROJECT_DIR/$src" -o "$obj"
|
|
OBJECTS="$OBJECTS $obj"
|
|
done
|
|
|
|
echo "Linking IPhoneMCP"
|
|
clang -arch arm64 \
|
|
-isysroot "$SDK" \
|
|
-miphoneos-version-min=12.0 \
|
|
-o "$APP_DIR/IPhoneMCP" \
|
|
$OBJECTS \
|
|
-framework UIKit \
|
|
-framework Foundation \
|
|
-framework AVFoundation \
|
|
-framework CoreGraphics
|
|
|
|
echo "Signing IPhoneMCP"
|
|
ldid -S "$APP_DIR/IPhoneMCP"
|
|
|
|
echo "$APP_DIR"
|