1 SCRIPTS_PATH ?= ../Tools/Scripts
3 SET_COLOR_DIAGNOSTICS_ARG = if [[ -t 1 ]]; then COLOR_DIAGNOSTICS_ARG="COLOR_DIAGNOSTICS=YES"; fi
4 XCODE_OPTIONS = `perl -I$(SCRIPTS_PATH) -Mwebkitdirs -e 'print XcodeOptionString()' -- $(BUILD_WEBKIT_OPTIONS)` $${COLOR_DIAGNOSTICS_ARG} $(ARGS)
7 ifneq (,$(OVERRIDE_SDKROOT))
8 ifneq (default,$(OVERRIDE_SDKROOT))
9 XCODE_OPTIONS := $(XCODE_OPTIONS) SDKROOT=$(OVERRIDE_SDKROOT)
13 XCODE_OPTIONS := $(XCODE_OPTIONS) SDKROOT=$(SDKROOT)
18 ifneq (,$(OVERRIDE_ARCHS))
19 ifneq (default,$(OVERRIDE_ARCHS))
20 XCODE_OPTIONS := $(XCODE_OPTIONS) ARCHS="$(OVERRIDE_ARCHS)"
21 XCODE_OPTIONS += ONLY_ACTIVE_ARCH=NO
25 XCODE_OPTIONS := $(XCODE_OPTIONS) ARCHS="$(ARCHS)"
26 XCODE_OPTIONS += ONLY_ACTIVE_ARCH=NO
27 # Make Plugin.32 and Plugin.64 build even when they can't be built for the specified architecture.
29 XCODE_OPTIONS += VALID_ARCHS=i386
31 ifeq ($(ARCHS),x86_64)
32 XCODE_OPTIONS += VALID_ARCHS=x86_64
37 ifneq (,$(SDK_VARIANT))
38 XCODE_OPTIONS += SDK_VARIANT="$(SDK_VARIANT)"
41 DEFAULT_VERBOSITY := $(shell defaults read org.webkit.BuildConfiguration BuildTranscriptVerbosity 2>/dev/null || echo "default")
42 VERBOSITY ?= $(DEFAULT_VERBOSITY)
44 ifeq ($(VERBOSITY),default)
46 XCODE_OPTIONS += -hideShellScriptEnvironment
48 ifeq ($(VERBOSITY),noisy)
51 OUTPUT_FILTER = $(SCRIPTS_PATH)/filter-build-webkit
63 ifeq ($(WK_LTO_MODE),full)
64 WK_LTO_OPTION=--lto-mode=full
65 else ifeq ($(WK_LTO_MODE),thin)
66 WK_LTO_OPTION=--lto-mode=thin
67 else ifeq ($(WK_LTO_MODE),none)
68 WK_LTO_OPTION=--lto-mode=none
71 export DSYMUTIL_NUM_THREADS = $(shell sysctl -n hw.activecpu)
73 # Run xcodebuild with the same PATH with which the Xcode IDE runs, to mitigate unnecessary rebuilds due to PATH differences.
74 # See <rdar://problem/16466196>.
75 export PATH = $(shell getconf PATH)
77 all: set_asan_configuration
78 ( $(SET_COLOR_DIAGNOSTICS_ARG); xcodebuild $(OTHER_OPTIONS) $(XCODE_OPTIONS) | $(OUTPUT_FILTER) && exit $${PIPESTATUS[0]} )
80 debug d development dev develop: force
81 $(SCRIPTS_PATH)/set-webkit-configuration --debug $(ASAN_OPTION) $(WK_LTO_OPTION)
82 ( $(SET_COLOR_DIAGNOSTICS_ARG); xcodebuild $(OTHER_OPTIONS) $(XCODE_OPTIONS) | $(OUTPUT_FILTER) && exit $${PIPESTATUS[0]} )
84 release r deployment dep deploy: force
85 $(SCRIPTS_PATH)/set-webkit-configuration --release $(ASAN_OPTION) $(WK_LTO_OPTION)
86 ( $(SET_COLOR_DIAGNOSTICS_ARG); xcodebuild $(OTHER_OPTIONS) $(XCODE_OPTIONS) | $(OUTPUT_FILTER) && exit $${PIPESTATUS[0]} )
89 $(SCRIPTS_PATH)/set-webkit-configuration --debug $(ASAN_OPTION) $(WK_LTO_OPTION)
90 ifndef PATH_TO_SCAN_BUILD
91 ( $(SET_COLOR_DIAGNOSTICS_ARG); xcodebuild $(OTHER_OPTIONS) $(XCODE_OPTIONS) RUN_CLANG_STATIC_ANALYZER=YES | $(OUTPUT_FILTER) && exit $${PIPESTATUS[0]} )
93 ( $(SET_COLOR_DIAGNOSTICS_ARG); $(PATH_TO_SCAN_BUILD) xcodebuild $(OTHER_OPTIONS) $(XCODE_OPTIONS) | $(OUTPUT_FILTER) && exit $${PIPESTATUS[0]} )
96 set_asan_configuration:
97 ifneq (,$(ASAN_OPTION))
98 $(SCRIPTS_PATH)/set-webkit-configuration $(ASAN_OPTION)
102 ( $(SET_COLOR_DIAGNOSTICS_ARG); xcodebuild $(OTHER_OPTIONS) -alltargets clean $(XCODE_OPTIONS) | $(OUTPUT_FILTER) && exit $${PIPESTATUS[0]} )