mirror of
https://github.com/SchildiChat/schildichat-desktop.git
synced 2025-03-31 21:24:27 +02:00
Merge pull request #83 from nyantec/makefile
add icns and mas target to makefile
This commit is contained in:
commit
7a61dc1da8
38
Makefile
38
Makefile
@ -1,5 +1,6 @@
|
||||
.PHONY: all setup regenerate-i18n reskindex web desktop-common linux debian pacman local-pkgbuild local-pkgbuild-install windows windows-portable
|
||||
.PHONY: web-release debian-release pacman-release windows-setup-release windows-unpacked-release windows-portable-release windows-release
|
||||
.PHONY: macos-common macos macos-mas macos-release macos-mas-release icns
|
||||
.PHONY: clean
|
||||
|
||||
CFGDIR ?= configs/sc
|
||||
@ -28,16 +29,33 @@ OUT_WIN64_BETTER_NAME := $(PRODUCT_NAME)_Setup_v$(VERSION).exe
|
||||
OUT_WIN64_UNPACKED_BETTER_NAME := $(PRODUCT_NAME)_win-unpacked_v$(VERSION).zip
|
||||
OUT_WIN64_PORTABLE_BETTER_NAME := $(PRODUCT_NAME)_win-portable_v$(VERSION)
|
||||
OUT_MACOS := $(DESKTOP_OUT)/$(PRODUCT_NAME)-$(VERSION).dmg
|
||||
OUT_MACOS_MAS := $(DESKTOP_OUT)/mas-universal/$(PRODUCT_NAME).app
|
||||
|
||||
RELEASE_DIR := release
|
||||
CURRENT_RELEASE_DIR := $(RELEASE_DIR)/$(VERSION)
|
||||
|
||||
# macOS Codesigning
|
||||
CSC_IDENTITY_AUTO_DISCOVERY ?= false
|
||||
NOTARIZE_APPLE_ID ?=
|
||||
CSC_NAME ?=
|
||||
|
||||
-include release.mk
|
||||
|
||||
setup:
|
||||
if [ ! -L "element-desktop/webapp" ]; then ./setup.sh; fi
|
||||
|
||||
element-desktop/build/SchildiChat.xcassets/SchildiChat.iconset: $(wildcard element-desktop/build/SchildiChat.xcassets/SchildiChat.iconset/*)
|
||||
|
||||
element-desktop/build/icon.icns: element-desktop/build/SchildiChat.xcassets/SchildiChat.iconset
|
||||
iconutil -c icns -o $@ $<
|
||||
|
||||
element-desktop/build/SchildiChat.xcassets/SchildiChatDMG.iconset: $(wildcard element-desktop/build/SchildiChat.xcassets/SchildiChatDMG.iconset/*)
|
||||
|
||||
element-desktop/build/dmg.icns: element-desktop/build/SchildiChat.xcassets/SchildiChatDMG.iconset
|
||||
iconutil -c icns -o $@ $<
|
||||
|
||||
icns: element-desktop/build/icon.icns element-desktop/build/dmg.icns
|
||||
|
||||
regenerate-i18n: setup
|
||||
./regenerate_i18n.sh
|
||||
|
||||
@ -55,6 +73,10 @@ desktop-common: web
|
||||
$(YARN) --cwd element-desktop run fetch --cfgdir ''
|
||||
$(YARN) --cwd element-desktop run build:native
|
||||
|
||||
macos-common: web icns
|
||||
$(YARN) --cwd element-desktop run fetch --cfgdir ''
|
||||
$(YARN) --cwd element-desktop run build:native:universal
|
||||
|
||||
linux: desktop-common
|
||||
$(YARN) --cwd element-desktop run build:64 --linux deb pacman tar.xz
|
||||
|
||||
@ -73,8 +95,16 @@ windows: desktop-common
|
||||
windows-portable: desktop-common
|
||||
$(YARN) --cwd element-desktop run build:64 --windows portable
|
||||
|
||||
macos: desktop-common
|
||||
$(YARN) --cwd element-desktop run build --mac dmg -c.mac.identity=null
|
||||
macos: macos-common
|
||||
export CSC_IDENTITY_AUTO_DISCOVERY
|
||||
export NOTARIZE_APPLE_ID
|
||||
export CSC_NAME
|
||||
$(YARN) --cwd element-desktop run build:universal --mac dmg
|
||||
|
||||
macos-mas: macos-common
|
||||
export NOTARIZE_APPLE_ID
|
||||
export CSC_NAME
|
||||
$(YARN) --cwd element-desktop run build:universal --mac mas
|
||||
|
||||
local-pkgbuild: debian
|
||||
./create_local_pkgbuild.sh $(VERSION) $(DESKTOP_APP_NAME) $(PRODUCT_NAME) $(OUT_DEB64)
|
||||
@ -115,6 +145,10 @@ macos-release: macos
|
||||
mkdir -p $(CURRENT_RELEASE_DIR)
|
||||
cp $(OUT_MACOS) $(CURRENT_RELEASE_DIR)
|
||||
|
||||
macos-mas-release: macos-mas
|
||||
mkdir -p $(CURRENT_RELEASE_DIR)
|
||||
cp $(OUT_MACOS_MAS) $(CURRENT_RELEASE_DIR)
|
||||
|
||||
clean:
|
||||
$(YARN) --cwd matrix-js-sdk clean
|
||||
$(YARN) --cwd matrix-react-sdk clean
|
||||
|
@ -64,6 +64,14 @@ $ source .bashrc
|
||||
brew install tcl rust node gpg vim curl git yarn git make gcc
|
||||
```
|
||||
|
||||
#### Signed macOS builds
|
||||
|
||||
To sign a macOS build set the environment or make variable `CSC_IDENTITY_AUTO_DISCOVERY` to true
|
||||
or set `CSC_NAME` to your certificate name or id.
|
||||
|
||||
To notarize a build with Apple set `NOTARIZE_APPLE_ID` to your AppleID and set the keychain item
|
||||
`NOTARIZE_CREDS` to an App specific AppleID password.
|
||||
|
||||
|
||||
### Initial setup
|
||||
|
||||
@ -88,6 +96,7 @@ After that these packages which belong to to their respective make target should
|
||||
- `windows-setup`: _SchildiChat_Setup_v\<version\>.exe_: file ready for **installation** on a **Windows** system
|
||||
- `windows-portable`: _SchildiChat_win-portable_v\<version\>.zip_: **portable** version for a **Windows** system – take SchildiChat together with your login data around with you (the archive contains a readme with **instructions** and **notes**)
|
||||
- `macos`: Build a *.dmg for macOS
|
||||
- `macos-mas`: Build a *.pkg for release in the Mac App Store
|
||||
|
||||
#### Additional make targets not used for GitHub releases
|
||||
- `pacman`: file ready for installation on an **Arch Linux** (based) system via `pacman -U schildichat-desktop-<version>.pacman`
|
||||
|
Loading…
x
Reference in New Issue
Block a user