forked from lighterowl/transgui
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
67 lines (55 loc) · 2.44 KB
/
Copy pathMakefile
File metadata and controls
67 lines (55 loc) · 2.44 KB
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
.PHONY: help release build notarize install test generate dev run clean
VERSION ?= $(shell scripts/next_version.sh)
# Default target: show available commands
help:
@echo "Transmission Remote — available make targets:"
@echo ""
@echo " Development"
@echo " dev Debug build, then open the app"
@echo " run Open the most recent debug build (no rebuild)"
@echo " test Run unit tests"
@echo " generate Regenerate the Xcode project from project.yml"
@echo " clean Remove DerivedData for this project"
@echo ""
@echo " Release pipeline"
@echo " release Full pipeline: build → sign → notarize → changelog → tag → push → GitHub release → install"
@echo " build Archive and export a Developer-ID-signed Release build"
@echo " notarize Notarize, staple, and zip (pass VERSION=x.y.z to override)"
@echo " install Copy the exported .app to /Applications"
@echo ""
@echo " Override defaults with: make <target> VERSION=2026.06.23.1"
# Full release pipeline: build → sign → notarize → changelog → tag → push → GitHub release → install
release:
scripts/release.sh
# Archive and export a Developer-ID-signed Release build
build:
scripts/build_release.sh
# Notarize, staple, and zip (requires VERSION, e.g. make notarize VERSION=2026.06.23.1)
notarize:
scripts/notarize.sh "$(VERSION)"
# Install the exported .app to /Applications
install:
scripts/install_local.sh
# Run unit tests
test:
xcodebuild -project TransmissionRemote.xcodeproj -scheme TransmissionRemote \
-configuration Debug test
# Regenerate the Xcode project from project.yml
generate:
xcodegen generate
# Directory the currently-configured Debug build actually lands in (avoids
# opening stale copies when multiple DerivedData/TransmissionRemote-* dirs exist)
BUILT_PRODUCTS_DIR = $(shell xcodebuild -project TransmissionRemote.xcodeproj -scheme TransmissionRemote \
-configuration Debug -showBuildSettings 2>/dev/null | \
awk -F'= ' '/ BUILT_PRODUCTS_DIR =/ { print $$2 }')
# Debug build, then open the app
dev: generate
xcodebuild -project TransmissionRemote.xcodeproj -scheme TransmissionRemote \
-configuration Debug build
open "$(BUILT_PRODUCTS_DIR)/Transmission Remote.app"
# Open the most recent debug build without rebuilding
run:
open "$(BUILT_PRODUCTS_DIR)/Transmission Remote.app"
# Remove DerivedData for this project
clean:
rm -rf ~/Library/Developer/Xcode/DerivedData/TransmissionRemote-*