Welcome to mirror list, hosted at ThFree Co, Russian Federation.

Makefile « app « ios « sdks - github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 8aab87be03da5a0cb3290037530b079ad77be480 (plain)
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
80
TOP=$(realpath $(CURDIR)/../../..)
-include $(TOP)/sdks/Make.config
include $(TOP)/sdks/versions.mk
include $(TOP)/sdks/paths.mk

ifndef DISABLE_CLASSIC
ALL_TARGETS += app-simulator app-device.a
endif

all: $(ALL_TARGETS)

CONFIGURATION?=release

UNREFERENCED_SYMBOLS_COMMON = \
        _xamarin_log \
        _xamarin_timezone_get_data \
        _xamarin_timezone_get_names

UNREFERENCED_SYMBOLS_CLASSIC = \
        _CloseZStream \
        _CreateZStream \
        _Flush \
        _ReadZStream \
        _WriteZStream

CC = $(XCODE_DIR)/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
SIM_SYSROOT = $(XCODE_DIR)/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk
SIM_ARCH = x86_64
SIM_CLASSIC_SDK_DIR = ../../out/ios-sim64-$(CONFIGURATION)
SIM_CFLAGS = \
	-std=gnu11 \
	-fobjc-arc \
	-isysroot $(SIM_SYSROOT) \
	-mios-simulator-version-min=10.1 \
	-g

SIM_LDFLAGS = \
	-isysroot $(SIM_SYSROOT) \
	-mios-simulator-version-min=10.1 \
	 -framework Foundation \
	 -framework UIKit \
	 -framework GSS \
	-liconv -lz

ifndef DISABLE_CLASSIC
SIM_CLASSIC_LDFLAGS = \
	$(foreach u,$(UNREFERENCED_SYMBOLS_COMMON) $(UNREFERENCED_SYMBOLS_CLASSIC),-u $u)  \
	$(SIM_CLASSIC_SDK_DIR)/lib/libmonosgen-2.0.a \
	-force_load $(SIM_CLASSIC_SDK_DIR)/lib/libmono-native-unified.a \
	-force_load $(SIM_CLASSIC_SDK_DIR)/lib/libMonoPosixHelper.a

sim-%.o: %.m
	$(ENV) $(CC) -arch $(SIM_ARCH) $(SIM_CFLAGS) -I$(SIM_CLASSIC_SDK_DIR)/include/mono-2.0 -c -o $@ $^

app-simulator: sim-main.o sim-runtime.o
	$(ENV) $(CC) -arch $(SIM_ARCH) $(SIM_LDFLAGS) $(SIM_CLASSIC_LDFLAGS) -o $@ $^
endif

DEV_ARCH = arm64
DEV_CLASSIC_SDK_DIR = ../../out/ios-target64-$(CONFIGURATION)
DEV_SYSROOT = $(XCODE_DIR)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/
DEV_CFLAGS = \
	-isysroot $(DEV_SYSROOT) \
	-std=gnu11 \
	-fobjc-arc \
	-mios-simulator-version-min=10.1 \
	-g \
	-fPIC \
	-DDEVICE=1

ifndef DISABLE_CLASSIC
dev-%.o: %.m
	$(ENV) $(CC) -arch $(DEV_ARCH) $(DEV_CFLAGS) -I$(DEV_CLASSIC_SDK_DIR)/include/mono-2.0 -c -o $@ $^

app-device.a: dev-main.o dev-runtime.o
	libtool -static -o $@ $^
endif

clean:
	$(RM) -rf app-simulator *.o *.a