Files
AppsManager27/source/build_dylib.sh
T

34 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
# Build the AppsManagerHook.dylib.
# Requires macOS with Xcode command line tools and an iPhoneOS SDK.
set -eu
ROOT=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
SRC="$ROOT/hook/src"
OUT="$ROOT/hook/build"
rm -rf "$OUT"
mkdir -p "$OUT"
cd "$SRC"
CFLAGS="-arch arm64 -miphoneos-version-min=15.0 -fobjc-arc -I. -O1"
FILES="WQCore WQLocalization WQAccess WQLaunchServices WQUI WQSharing WQApps WQCache WQPlistEditor WQHexViewer WQSQLiteViewer WQArchive WQSyntax WQMediaStream WBHook"
for f in $FILES; do
echo "compile $f"
xcrun -sdk iphoneos clang $CFLAGS -c "$f.m" -o "$OUT/$f.o"
done
echo "compile main"
xcrun -sdk iphoneos clang $CFLAGS -Dmain=wqfiles_unused_main -c main.m -o "$OUT/main.o"
echo "link"
xcrun -sdk iphoneos clang -arch arm64 -miphoneos-version-min=15.0 -dynamiclib \
-o "$ROOT/hook/AppsManagerHook.dylib" "$OUT"/*.o \
-framework Foundation -framework UIKit -framework Security \
-framework UniformTypeIdentifiers -framework AVKit -framework AVFoundation \
-framework CoreMedia -framework CoreGraphics -framework QuartzCore \
-lsqlite3 -lz
echo "built $ROOT/hook/AppsManagerHook.dylib"