@@ -7,7 +7,19 @@ IOSSDKROOT=$DEVROOT/SDKs/iPhoneOS$(SDKVER).sdk
7
7
PYTHON_VERSION =2.7.1
8
8
FFI_VERSION =3.0.13
9
9
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
+ # ##########################################################################
11
23
12
24
download :
13
25
mkdir -p downloads
18
30
build :
19
31
mkdir -p build
20
32
21
- dirs : download src build
33
+ working-dirs : download src build
34
+
35
+ # ##########################################################################
36
+ # libFFI
37
+ # ##########################################################################
22
38
23
39
# Clean the libffi project
24
40
clean-libffi :
@@ -35,28 +51,19 @@ src/libffi-$(FFI_VERSION): downloads/libffi-$(FFI_VERSION).tar.gz
35
51
mv libffi-$(FFI_VERSION ) src
36
52
37
53
# 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
43
58
44
59
# 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
46
61
cd src/libffi-$(FFI_VERSION ) && python generate-ios-source-and-headers.py
47
62
48
63
# Build the iOS project
49
64
src/libffi-$(FFI_VERSION ) /build/Release-universal/ffi.framework : src/libffi-$(FFI_VERSION ) /ios/include/ffi.h
50
65
cd src/libffi-$(FFI_VERSION ) && xcodebuild -project libffi.xcodeproj -target " Framework" -configuration Release -sdk iphoneos$(SDKVER ) OTHER_CFLAGS=" -no-integrated-as"
51
66
52
67
# 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
54
69
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