blob: b3184409df15ffd734746b0e11c6bb82113691a5 [file] [log] [blame]
mitz@apple.com10955a5a2010-12-18 00:02:12 +00001SCRIPTS_PATH ?= ../Tools/Scripts
commit-queue@webkit.orgc5fe5e82013-02-08 00:56:03 +00002
mitz@apple.combdecfa01a2014-01-15 06:10:54 +00003SET_COLOR_DIAGNOSTICS_ARG = if [[ -t 1 ]]; then COLOR_DIAGNOSTICS_ARG="COLOR_DIAGNOSTICS=YES"; fi
4XCODE_OPTIONS = `perl -I$(SCRIPTS_PATH) -Mwebkitdirs -e 'print XcodeOptionString()' -- $(BUILD_WEBKIT_OPTIONS)` $${COLOR_DIAGNOSTICS_ARG} $(ARGS)
commit-queue@webkit.orgc5fe5e82013-02-08 00:56:03 +00005
6ifneq (,$(SDKROOT))
dbates@webkit.org069a6912015-11-06 16:58:31 +00007 ifneq (,$(OVERRIDE_SDKROOT))
8 ifneq (default,$(OVERRIDE_SDKROOT))
9 XCODE_OPTIONS := $(XCODE_OPTIONS) SDKROOT=$(OVERRIDE_SDKROOT)
10 endif
11 OVERRIDE_SDKROOT =
12 else
13 XCODE_OPTIONS := $(XCODE_OPTIONS) SDKROOT=$(SDKROOT)
14 endif
commit-queue@webkit.orgc5fe5e82013-02-08 00:56:03 +000015endif
16
17ifneq (,$(ARCHS))
dbates@webkit.org069a6912015-11-06 16:58:31 +000018 ifneq (,$(OVERRIDE_ARCHS))
19 ifneq (default,$(OVERRIDE_ARCHS))
20 XCODE_OPTIONS := $(XCODE_OPTIONS) ARCHS="$(OVERRIDE_ARCHS)"
21 XCODE_OPTIONS += ONLY_ACTIVE_ARCH=NO
22 endif
23 OVERRIDE_ARCHS =
24 else
25 XCODE_OPTIONS := $(XCODE_OPTIONS) ARCHS="$(ARCHS)"
26 XCODE_OPTIONS += ONLY_ACTIVE_ARCH=NO
ap@apple.comfc3873f2016-07-18 16:17:52 +000027 # Make Plugin.32 and Plugin.64 build even when they can't be built for the specified architecture.
28 ifeq ($(ARCHS),i386)
29 XCODE_OPTIONS += VALID_ARCHS=i386
30 endif
31 ifeq ($(ARCHS),x86_64)
32 XCODE_OPTIONS += VALID_ARCHS=x86_64
33 endif
dbates@webkit.org069a6912015-11-06 16:58:31 +000034 endif
commit-queue@webkit.orgc5fe5e82013-02-08 00:56:03 +000035endif
thatcherfab20772006-01-08 04:14:06 +000036
mrowe@apple.comaac5dab2012-02-03 07:44:38 +000037DEFAULT_VERBOSITY := $(shell defaults read org.webkit.BuildConfiguration BuildTranscriptVerbosity 2>/dev/null || echo "default")
38VERBOSITY ?= $(DEFAULT_VERBOSITY)
39
40ifeq ($(VERBOSITY),default)
mitz@apple.com0fb05752016-07-04 05:59:26 +000041OUTPUT_FILTER = cat
42XCODE_OPTIONS += -hideShellScriptEnvironment
mrowe@apple.comaac5dab2012-02-03 07:44:38 +000043else
44ifeq ($(VERBOSITY),noisy)
45OUTPUT_FILTER = cat
46else
47OUTPUT_FILTER = $(SCRIPTS_PATH)/filter-build-webkit
48endif
49endif
50
ap@apple.com224b70f2014-12-24 00:13:16 +000051ifeq ($(ASAN),YES)
52ASAN_OPTION=--asan
53else
54ifeq ($(ASAN),NO)
55ASAN_OPTION=--no-asan
56endif
57endif
58
dfarler@apple.combad8b082014-08-06 23:33:55 +000059export DSYMUTIL_NUM_THREADS = $(shell sysctl -n hw.activecpu)
dfarler@apple.com101233e2014-08-06 20:38:15 +000060
mitz@apple.comffd58212015-01-10 21:57:32 +000061# Run xcodebuild with the same PATH with which the Xcode IDE runs, to mitigate unnecessary rebuilds due to PATH differences.
62# See <rdar://problem/16466196>.
63export PATH = $(shell getconf PATH)
64
ap@apple.com224b70f2014-12-24 00:13:16 +000065all: set_asan_configuration
mitz@apple.combdecfa01a2014-01-15 06:10:54 +000066 ( $(SET_COLOR_DIAGNOSTICS_ARG); xcodebuild $(OTHER_OPTIONS) $(XCODE_OPTIONS) | $(OUTPUT_FILTER) && exit $${PIPESTATUS[0]} )
thatcherfab20772006-01-08 04:14:06 +000067
commit-queue@webkit.org8da3ed12013-01-28 04:22:30 +000068debug d development dev develop: force
ap@apple.com224b70f2014-12-24 00:13:16 +000069 $(SCRIPTS_PATH)/set-webkit-configuration --debug $(ASAN_OPTION)
mitz@apple.combdecfa01a2014-01-15 06:10:54 +000070 ( $(SET_COLOR_DIAGNOSTICS_ARG); xcodebuild $(OTHER_OPTIONS) $(XCODE_OPTIONS) | $(OUTPUT_FILTER) && exit $${PIPESTATUS[0]} )
thatcherfab20772006-01-08 04:14:06 +000071
commit-queue@webkit.org8da3ed12013-01-28 04:22:30 +000072release r deployment dep deploy: force
ap@apple.com224b70f2014-12-24 00:13:16 +000073 $(SCRIPTS_PATH)/set-webkit-configuration --release $(ASAN_OPTION)
mitz@apple.combdecfa01a2014-01-15 06:10:54 +000074 ( $(SET_COLOR_DIAGNOSTICS_ARG); xcodebuild $(OTHER_OPTIONS) $(XCODE_OPTIONS) | $(OUTPUT_FILTER) && exit $${PIPESTATUS[0]} )
thatcherfab20772006-01-08 04:14:06 +000075
dburkart@apple.come8fc8f42014-07-18 22:39:39 +000076analyze:
dburkart@apple.com94be07c2015-10-26 21:45:23 +000077 $(SCRIPTS_PATH)/set-webkit-configuration --debug $(ASAN_OPTION)
dburkart@apple.come8fc8f42014-07-18 22:39:39 +000078ifndef PATH_TO_SCAN_BUILD
79 ( $(SET_COLOR_DIAGNOSTICS_ARG); xcodebuild $(OTHER_OPTIONS) $(XCODE_OPTIONS) RUN_CLANG_STATIC_ANALYZER=YES | $(OUTPUT_FILTER) && exit $${PIPESTATUS[0]} )
80else
81 ( $(SET_COLOR_DIAGNOSTICS_ARG); $(PATH_TO_SCAN_BUILD) xcodebuild $(OTHER_OPTIONS) $(XCODE_OPTIONS) | $(OUTPUT_FILTER) && exit $${PIPESTATUS[0]} )
82endif
83
ap@apple.com224b70f2014-12-24 00:13:16 +000084set_asan_configuration:
85ifneq (,$(ASAN_OPTION))
86 $(SCRIPTS_PATH)/set-webkit-configuration $(ASAN_OPTION)
87endif
88
thatcherfab20772006-01-08 04:14:06 +000089clean:
mitz@apple.combdecfa01a2014-01-15 06:10:54 +000090 ( $(SET_COLOR_DIAGNOSTICS_ARG); xcodebuild $(OTHER_OPTIONS) -alltargets clean $(XCODE_OPTIONS) | $(OUTPUT_FILTER) && exit $${PIPESTATUS[0]} )
thatcher8abc3742006-03-07 23:35:12 +000091
92force: ;