Skip to content
This repository was archived by the owner on Mar 30, 2019. It is now read-only.

Commit 5e9cb1d

Browse files
committed
Documentation and cleanup of makefile.
1 parent e13860c commit 5e9cb1d

File tree

1 file changed

+24
-17
lines changed

1 file changed

+24
-17
lines changed

Makefile

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,19 @@ IOSSDKROOT=$DEVROOT/SDKs/iPhoneOS$(SDKVER).sdk
77
PYTHON_VERSION=2.7.1
88
FFI_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

1224
download:
1325
mkdir -p downloads
@@ -18,7 +30,11 @@ src:
1830
build:
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
2440
clean-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
4964
src/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

Comments
 (0)