@@ -7,7 +7,19 @@ IOSSDKROOT=$DEVROOT/SDKs/iPhoneOS$(SDKVER).sdk
77PYTHON_VERSION =2.7.1
88FFI_VERSION =3.0.13
99
10- all : dirs libffi
10+ all : working-dirs build/ffi.framework
11+
12+ # Clean all builds
13+ clean :
14+ rm -rf src build
15+
16+ # Full clean - includes all downloaded products
17+ distclean : clean
18+ rm -rf downloads
19+
20+ # ##########################################################################
21+ # Working directories
22+ # ##########################################################################
1123
1224download :
1325 mkdir -p downloads
1830build :
1931 mkdir -p build
2032
21- dirs : download src build
33+ working-dirs : download src build
34+
35+ # ##########################################################################
36+ # libFFI
37+ # ##########################################################################
2238
2339# Clean the libffi project
2440clean-libffi :
@@ -35,28 +51,19 @@ src/libffi-$(FFI_VERSION): downloads/libffi-$(FFI_VERSION).tar.gz
3551 mv libffi-$(FFI_VERSION ) src
3652
3753# Patch libffi source with iOS patches
38- # Produce a dummy ".patches-applied" file to mark that this has happened.
39- src/libffi-$(FFI_VERSION ) /.patches-applied : src/libffi-$(FFI_VERSION )
40- cd src/libffi-$(FFI_VERSION ) && patch -p1 < ../../patch/libffi/$(FFI_VERSION ) /ffi-sysv.S.patch
41- cd src/libffi-$(FFI_VERSION ) && patch -p1 < ../../patch/libffi/$(FFI_VERSION ) /project.pbxproj.patch
42- touch src/libffi-$(FFI_VERSION ) /.patches-applied
54+ # Produce a dummy "patches-applied" file to mark that this has happened.
55+ src/libffi-$(FFI_VERSION ) /patches-applied : src/libffi-$(FFI_VERSION )
56+ cd src/libffi-$(FFI_VERSION ) && patch -p1 -N < ../../patch/libffi/$(FFI_VERSION ) /ffi-sysv.S.patch
57+ cd src/libffi-$(FFI_VERSION ) && patch -p1 -N < ../../patch/libffi/$(FFI_VERSION ) /project.pbxproj.patch | tee patches-applied
4358
4459# Generate iOS specific source and headers
45- src/libffi-$(FFI_VERSION ) /ios/include/ffi.h : src/libffi-$(FFI_VERSION ) /. patches-applied
60+ src/libffi-$(FFI_VERSION ) /ios/include/ffi.h : src/libffi-$(FFI_VERSION ) /patches-applied
4661 cd src/libffi-$(FFI_VERSION ) && python generate-ios-source-and-headers.py
4762
4863# Build the iOS project
4964src/libffi-$(FFI_VERSION ) /build/Release-universal/ffi.framework : src/libffi-$(FFI_VERSION ) /ios/include/ffi.h
5065 cd src/libffi-$(FFI_VERSION ) && xcodebuild -project libffi.xcodeproj -target " Framework" -configuration Release -sdk iphoneos$(SDKVER ) OTHER_CFLAGS=" -no-integrated-as"
5166
5267# Collate the libffi project
53- libffi : clean-libffi src/libffi-$(FFI_VERSION ) /build/Release-universal/ffi.framework
68+ build/ffi.framework : src/libffi-$(FFI_VERSION ) /build/Release-universal/ffi.framework
5469 cp -a src/libffi-$(FFI_VERSION ) /build/Release-universal/ffi.framework build
55-
56- # Clean all builds
57- clean :
58- rm -rf src build
59-
60- # Full clean - includes all downloaded products
61- distclean : clean
62- rm -rf downloads
0 commit comments