forked from capablevms/webkit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile.shared
120 lines (101 loc) · 3.81 KB
/
Makefile.shared
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
SCRIPTS_PATH ?= ../Tools/Scripts
SET_COLOR_DIAGNOSTICS_ARG = if [[ -t 1 ]]; then COLOR_DIAGNOSTICS_ARG="COLOR_DIAGNOSTICS=YES"; fi
XCODE_OPTIONS = `perl -I$(SCRIPTS_PATH) -Mwebkitdirs -e 'print XcodeOptionString()' -- $(BUILD_WEBKIT_OPTIONS)` $${COLOR_DIAGNOSTICS_ARG} $(ARGS)
ifneq (,$(SDKROOT))
ifneq (,$(OVERRIDE_SDKROOT))
ifneq (default,$(OVERRIDE_SDKROOT))
XCODE_OPTIONS := $(XCODE_OPTIONS) SDKROOT=$(OVERRIDE_SDKROOT)
endif
OVERRIDE_SDKROOT =
else
XCODE_OPTIONS := $(XCODE_OPTIONS) SDKROOT=$(SDKROOT)
endif
endif
ifneq (,$(ARCHS))
ifneq (,$(OVERRIDE_ARCHS))
ifneq (default,$(OVERRIDE_ARCHS))
XCODE_OPTIONS := $(XCODE_OPTIONS) ARCHS="$(OVERRIDE_ARCHS)"
XCODE_OPTIONS += ONLY_ACTIVE_ARCH=NO
endif
OVERRIDE_ARCHS =
else
XCODE_OPTIONS := $(XCODE_OPTIONS) ARCHS="$(ARCHS)"
XCODE_OPTIONS += ONLY_ACTIVE_ARCH=NO
# Make Plugin.32 and Plugin.64 build even when they can't be built for the specified architecture.
ifeq ($(ARCHS),i386)
XCODE_OPTIONS += VALID_ARCHS=i386
endif
ifeq ($(ARCHS),x86_64)
XCODE_OPTIONS += VALID_ARCHS=x86_64
endif
endif
endif
ifneq (,$(SDK_VARIANT))
XCODE_OPTIONS += SDK_VARIANT="$(SDK_VARIANT)"
endif
ifeq (, $(findstring WK_USE_CCACHE, $(ARGS)))
ifneq (, $(shell which ccache))
XCODE_OPTIONS += WK_USE_CCACHE=YES
endif
endif
ifeq ($(findstring UseNewBuildSystem,$(ARGS)),)
CAN_USE_XCBUILD = $(shell perl -I$(SCRIPTS_PATH) -Mwebkitdirs -e 'print canUseXCBuild()')
ifeq ($(CAN_USE_XCBUILD),1)
XCODE_OPTIONS += -UseNewBuildSystem=YES
XCODE_OPTIONS += USE_NEW_BUILD_SYSTEM=YES
else
XCODE_OPTIONS += -UseNewBuildSystem=NO
endif
endif
DEFAULT_VERBOSITY := $(shell defaults read org.webkit.BuildConfiguration BuildTranscriptVerbosity 2>/dev/null || echo "default")
VERBOSITY ?= $(DEFAULT_VERBOSITY)
ifeq ($(VERBOSITY),default)
OUTPUT_FILTER = cat
XCODE_OPTIONS += -hideShellScriptEnvironment
else
ifeq ($(VERBOSITY),noisy)
OUTPUT_FILTER = cat
else
OUTPUT_FILTER = $(SCRIPTS_PATH)/filter-build-webkit
endif
endif
ifeq ($(ASAN),YES)
ASAN_OPTION=--asan
else
ifeq ($(ASAN),NO)
ASAN_OPTION=--no-asan
endif
endif
ifeq ($(WK_LTO_MODE),full)
WK_LTO_OPTION=--lto-mode=full
else ifeq ($(WK_LTO_MODE),thin)
WK_LTO_OPTION=--lto-mode=thin
else ifeq ($(WK_LTO_MODE),none)
WK_LTO_OPTION=--lto-mode=none
endif
export DSYMUTIL_NUM_THREADS = $(shell sysctl -n hw.activecpu)
# Run xcodebuild with the same PATH with which the Xcode IDE runs, to mitigate unnecessary rebuilds due to PATH differences.
# See <rdar://problem/16466196>.
export PATH = $(shell getconf PATH)
all: set_asan_configuration
( $(SET_COLOR_DIAGNOSTICS_ARG); xcodebuild $(OTHER_OPTIONS) $(XCODE_OPTIONS) | $(OUTPUT_FILTER) && exit $${PIPESTATUS[0]} )
debug d development dev develop: force
$(SCRIPTS_PATH)/set-webkit-configuration --debug $(ASAN_OPTION) $(WK_LTO_OPTION)
( $(SET_COLOR_DIAGNOSTICS_ARG); xcodebuild $(OTHER_OPTIONS) $(XCODE_OPTIONS) | $(OUTPUT_FILTER) && exit $${PIPESTATUS[0]} )
release r deployment dep deploy: force
$(SCRIPTS_PATH)/set-webkit-configuration --release $(ASAN_OPTION) $(WK_LTO_OPTION)
( $(SET_COLOR_DIAGNOSTICS_ARG); xcodebuild $(OTHER_OPTIONS) $(XCODE_OPTIONS) | $(OUTPUT_FILTER) && exit $${PIPESTATUS[0]} )
analyze:
$(SCRIPTS_PATH)/set-webkit-configuration --debug $(ASAN_OPTION) $(WK_LTO_OPTION)
ifndef PATH_TO_SCAN_BUILD
( $(SET_COLOR_DIAGNOSTICS_ARG); xcodebuild $(OTHER_OPTIONS) $(XCODE_OPTIONS) RUN_CLANG_STATIC_ANALYZER=YES | $(OUTPUT_FILTER) && exit $${PIPESTATUS[0]} )
else
( $(SET_COLOR_DIAGNOSTICS_ARG); $(PATH_TO_SCAN_BUILD) xcodebuild $(OTHER_OPTIONS) $(XCODE_OPTIONS) | $(OUTPUT_FILTER) && exit $${PIPESTATUS[0]} )
endif
set_asan_configuration:
ifneq (,$(ASAN_OPTION))
$(SCRIPTS_PATH)/set-webkit-configuration $(ASAN_OPTION)
endif
clean:
( $(SET_COLOR_DIAGNOSTICS_ARG); xcodebuild $(OTHER_OPTIONS) -alltargets clean $(XCODE_OPTIONS) | $(OUTPUT_FILTER) && exit $${PIPESTATUS[0]} )
force: ;