34 lines
1.1 KiB
Bash
Executable File
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"
|