-
Notifications
You must be signed in to change notification settings - Fork 57
/
makeios
executable file
·79 lines (65 loc) · 2.51 KB
/
makeios
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#!/bin/bash
PLATFORMPATH="/Applications/Xcode.app/Contents/Developer/Platforms"
TOOLSPATH="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin"
export IPHONEOS_DEPLOYMENT_TARGET="8.0"
pwd=`pwd`
findLatestSDKVersion()
{
sdks=`ls $PLATFORMPATH/$1.platform/Developer/SDKs`
arr=()
for sdk in $sdks
do
echo $sdk
arr[${#arr[@]}]=$sdk
done
# Last item will be the current SDK, since it is alpha ordered
count=${#arr[@]}
if [ $count -gt 0 ]; then
sdk=${arr[$count-1]:${#1}}
num=`expr ${#sdk}-4`
SDKVERSION=${sdk:0:$num}
else
SDKVERSION="8.0"
fi
}
buildit()
{
target=$1
platform=$2
echo ""
echo "-------------------------------------------------------------------------------"
echo " Compiling for $platform on $target"
echo "-------------------------------------------------------------------------------"
export PLATFORM=$platform
export CC="$(xcrun -sdk iphoneos -find clang)"
export STRIP="$(xcrun -sdk iphoneos -find strip)"
export LD="$(xcrun -sdk iphoneos -find ld)"
export CPP="$CC -E"
export CFLAGS="-arch ${target} -isysroot $PLATFORMPATH/$platform.platform/Developer/SDKs/$platform$SDKVERSION.sdk -miphoneos-version-min=$SDKMINVERSION"
export AR=$(xcrun -sdk iphoneos -find ar)
export RANLIB=$(xcrun -sdk iphoneos -find ranlib)
export CPPFLAGS="-arch ${target} -isysroot $PLATFORMPATH/$platform.platform/Developer/SDKs/$platform$SDKVERSION.sdk -miphoneos-version-min=$SDKMINVERSION"
export LDFLAGS="-arch ${target} -isysroot $PLATFORMPATH/$platform.platform/Developer/SDKs/$platform$SDKVERSION.sdk"
make clean
make ios
#make install
mkdir -p $pwd/ios/$target
mv libbinn.a $pwd/ios/$target
mv libbinn.dylib $pwd/ios/$target
}
findLatestSDKVersion iPhoneOS
SDKMINVERSION="8.0"
buildit armv7 iPhoneOS
buildit armv7s iPhoneOS
buildit arm64 iPhoneOS
buildit i386 iPhoneSimulator
buildit x86_64 iPhoneSimulator
LIPO=$(xcrun -sdk iphoneos -find lipo)
$LIPO -create $pwd/ios/armv7/libbinn.a $pwd/ios/armv7s/libbinn.a $pwd/ios/arm64/libbinn.a $pwd/ios/x86_64/libbinn.a $pwd/ios/i386/libbinn.a -output libbinn.a
$LIPO -create $pwd/ios/armv7/libbinn.dylib $pwd/ios/armv7s/libbinn.dylib $pwd/ios/arm64/libbinn.dylib $pwd/ios/x86_64/libbinn.dylib $pwd/ios/i386/libbinn.dylib -output libbinn.dylib
install_name_tool -id @rpath/libbinn.dylib libbinn.dylib
mv libbinn.a $pwd/ios/
mv libbinn.dylib $pwd/ios/
make clean
echo ""
echo "done. files in the ios folder"