-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
43 lines (35 loc) · 1.74 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
ARCDIR=build/archive.xcarchive
ARCDIR_RELEASE=build/archive.release.xcarchive
APPNAME=MacTcode.app
DMGNAME=MacTcode.dmg
WORKDIR=work
SIGNING_IDENTITY="Developer ID Application: Kaoru Maeda (8H7RHH924X)"
BUNDLE_ID=jp.mad-p.inputmethod.MacTcode
.PHONY: build releaseBuild reload releaseReload sign dmg notary
build:
xcodebuild -workspace MacTcode.xcodeproj/project.xcworkspace -scheme MacTcode clean archive -archivePath $(ARCDIR) OTHER_SWIFT_FLAGS='-D ENABLE_NSLOG'
releaseBuild $(WORKDIR)/$(APPNAME):
rm -rf $(WORKDIR)/$(APPNAME)
CODE_SIGN_INJECT_BASE_ENTITLEMENTS=NO xcodebuild -workspace MacTcode.xcodeproj/project.xcworkspace -scheme MacTcode clean archive -archivePath $(ARCDIR_RELEASE) -configuration Release -destination 'generic/platform=macOS'
cp -r $(ARCDIR_RELEASE)/Products/Applications/$(APPNAME) $(WORKDIR)
reload: build
pkill "MacTcode" || true
sudo rm -rf /Library/Input\ Methods/$(APPNAME)
sudo cp -r $(ARCDIR)/Products/Applications/$(APPNAME) /Library/Input\ Methods/
mkdir -p $(WORKDIR)
releaseReload: releaseBuild
pkill "MacTcode" || true
sudo rm -rf /Library/Input\ Methods/$(APPNAME)
sudo cp -r $(ARCDIR_RELEASE)/Products/Applications/$(APPNAME) /Library/Input\ Methods/
sign: $(WORKDIR)/$(APPNAME)
codesign --deep --force --verify --verbose \
--sign $(SIGNING_IDENTITY) $(WORKDIR)/$(APPNAME) \
--options runtime \
--entitlements MacTcode/MacTcode.entitlements \
--timestamp
dmg $(WORKDIR)/$(DMGNAME): sign
hdiutil create -volname "MacTcode" -srcfolder $(WORKDIR)/$(APPNAME) -ov -format UDZO $(WORKDIR)/$(DMGNAME)
codesign --sign $(SIGNING_IDENTITY) --timestamp --verbose $(WORKDIR)/$(DMGNAME)
notary: dmg
xcrun notarytool submit $(WORKDIR)/$(DMGNAME) --keychain-profile "MacTcode" --wait
xcrun stapler staple $(WORKDIR)/$(DMGNAME)