-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
48 lines (36 loc) · 1.36 KB
/
Makefile
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
# Do not mind me. I'm just a nice wrapper around xcodebuild(1).
XCB = xcodebuild
XCPIPE =
CONFIGURATION = Debug
SCHEME = Hermes
HERMES = ./build/$(CONFIGURATION)/Hermes.app/Contents/MacOS/Hermes
DEBUGGER = lldb
# For some reason the project's SYMROOT setting is ignored when we specify an
# explicit -project option. The -project option is required when using xctool.
COMMON_OPTS = -project Hermes.xcodeproj SYMROOT=build
all: hermes
hermes:
$(XCB) $(COMMON_OPTS) -configuration $(CONFIGURATION) -scheme $(SCHEME) $(XCPIPE)
travis: COMMON_OPTS += CODE_SIGN_IDENTITY= CODE_SIGNING_REQUIRED=NO
travis: XCPIPE = | xcpretty -f `xcpretty-travis-formatter`
travis: hermes
run: hermes
$(HERMES)
dbg: hermes
$(DEBUGGER) $(HERMES)
install:
$(XCB) $(COMMON_OPTS) -configuration Release -scheme Hermes
rm -rf /Applications/Hermes.app
cp -a ./build/Release/Hermes.app /Applications/
# Create an archive to share (for beta testing purposes).
archive: CONFIGURATION = Release
archive: SCHEME = 'Archive Hermes'
archive: hermes
# Used to be called 'archive'. Upload Hermes and update the website.
upload-release: CONFIGURATION = Release
upload-release: SCHEME = 'Upload Hermes Release'
upload-release: hermes
clean:
$(XCB) $(COMMON_OPTS) -scheme $(SCHEME) clean
rm -rf build
.PHONY: all hermes travis run dbg archive clean install archive upload-release