|
1 | 1 | NOW := $(shell date -u +'%Y-%m-%d_%TZ') |
2 | 2 | HEAD_SHA1 := $(shell git rev-parse HEAD) |
3 | 3 | HEAD_TAG := $(shell git describe --tags | grep -e "^v" | sort | tail -1 | cut -b2-) |
4 | | -MACAPP_GO := ~/workspace/macapp.go/macapp.go |
5 | 4 | CODE_SIGN_CERT := Manuel Koch Code Sign |
6 | 5 | APP_NAME := Container-HUD |
7 | 6 |
|
| 7 | +MACAPP_GO := build/macapp.go |
| 8 | + |
| 9 | +SPACE := $(subst ,, ) |
| 10 | +DARWIN_OS_VERSION := $(subst $(SPACE),.,$(wordlist 1,2,$(subst ., ,$(shell sw_vers -productVersion)))) |
8 | 11 | DARWIN_APP_ID := com.manuel-koch.container-hud |
9 | 12 |
|
10 | | -DARWIN_ARM64_EXE_NAME := container-hud.darwin-arm64 |
11 | | -DARWIN_ARM64_DIST_DIR := dist/darwin_arm64 |
| 13 | +DARWIN_ARM64_BINARY := build/darwin-$(DARWIN_OS_VERSION)-arm64/container-hud.darwin-$(DARWIN_OS_VERSION)-arm64 |
| 14 | +DARWIN_ARM64_DIST_DIR := dist/darwin-$(DARWIN_OS_VERSION)-arm64 |
12 | 15 | DARWIN_ARM64_APP_BUNDLE := $(DARWIN_ARM64_DIST_DIR)/$(APP_NAME).app |
13 | | -DARWIN_ARM64_DMG := $(DARWIN_ARM64_DIST_DIR)/$(APP_NAME)_darwin-arm64_$(HEAD_TAG).dmg |
| 16 | +DARWIN_ARM64_DMG := $(DARWIN_ARM64_DIST_DIR)/$(APP_NAME)_darwin-$(DARWIN_OS_VERSION)-arm64.$(HEAD_TAG).dmg |
14 | 17 |
|
15 | | -DARWIN_AMD64_EXE_NAME := container-hud.darwin-amd64 |
16 | | -DARWIN_AMD64_DIST_DIR := dist/darwin_amd64 |
| 18 | +DARWIN_AMD64_BINARY := build/darwin-$(DARWIN_OS_VERSION)-amd64/container-hud.darwin-$(DARWIN_OS_VERSION)-amd64 |
| 19 | +DARWIN_AMD64_DIST_DIR := dist/darwin-$(DARWIN_OS_VERSION)-amd64 |
17 | 20 | DARWIN_AMD64_APP_BUNDLE := $(DARWIN_AMD64_DIST_DIR)/$(APP_NAME).app |
18 | | -DARWIN_AMD64_DMG := $(DARWIN_AMD64_DIST_DIR)/$(APP_NAME)_darwin-amd64_$(HEAD_TAG).dmg |
| 21 | +DARWIN_AMD64_DMG := $(DARWIN_AMD64_DIST_DIR)/$(APP_NAME)_darwin-$(DARWIN_OS_VERSION)-amd64.$(HEAD_TAG).dmg |
| 22 | + |
19 | 23 |
|
20 | | -build/container-hud.%:: |
| 24 | +container-hud.%: |
21 | 25 | @echo "*** Building $@" |
22 | | - env GOOS=$(firstword $(subst -, ,$*)) GOARCH=$(lastword $(subst -, ,$*)) go build \ |
| 26 | + env GOOS=$(GOOS) GOARCH=$(GOARCH) CGO_ENABLED=1 go build \ |
23 | 27 | -ldflags "-s -w -X main.versionTag=$(HEAD_TAG) -X main.versionSha1=$(HEAD_SHA1) -X main.buildDate=$(NOW)" \ |
24 | 28 | -o $@ \ |
25 | 29 | . |
26 | 30 | @echo "*** Built $@" |
27 | 31 |
|
28 | | -build/macapp.go: |
| 32 | +$(MACAPP_GO): |
29 | 33 | @echo "*** Fetching $@" |
30 | | - curl -o build/macapp.go https://gist.githubusercontent.com/mholt/11008646c95d787c30806d3f24b2c844/raw/0c07883ba937f2d066d125ce3efd731adfd899d7/macapp.go |
| 34 | + curl -o $(MACAPP_GO) https://gist.githubusercontent.com/mholt/11008646c95d787c30806d3f24b2c844/raw/0c07883ba937f2d066d125ce3efd731adfd899d7/macapp.go |
31 | 35 | @echo "*** Fetched $@" |
32 | 36 |
|
33 | 37 | %.app: |
34 | 38 | @echo "*** Building $@ from $<" |
35 | | - go run build/macapp.go \ |
| 39 | + env GOOS=$(GOOS) GOARCH=$(GOARCH) go run $(MACAPP_GO) \ |
36 | 40 | -assets $(dir $<) \ |
37 | 41 | -bin $(notdir $<) \ |
38 | 42 | -icon ./Icon.png \ |
@@ -61,17 +65,21 @@ build/macapp.go: |
61 | 65 | codesign --verbose=4 --display $* |
62 | 66 | @echo "*** Signed $*" |
63 | 67 |
|
64 | | -$(DARWIN_AMD64_APP_BUNDLE): build/$(DARWIN_AMD64_EXE_NAME) build/macapp.go |
| 68 | +$(DARWIN_AMD64_APP_BUNDLE): $(DARWIN_AMD64_BINARY) $(MACAPP_GO) |
65 | 69 | $(DARWIN_AMD64_APP_BUNDLE).signed: $(DARWIN_AMD64_APP_BUNDLE) |
66 | 70 | $(DARWIN_AMD64_DMG): $(DARWIN_AMD64_APP_BUNDLE) $(DARWIN_AMD64_APP_BUNDLE).signed |
67 | 71 |
|
68 | | -darwin_amd64_dmg: $(DARWIN_AMD64_DMG) |
| 72 | +darwin_amd64: GOOS=darwin |
| 73 | +darwin_amd64: GOARCH=amd64 |
| 74 | +darwin_amd64: $(DARWIN_AMD64_DMG) |
69 | 75 |
|
70 | | -$(DARWIN_ARM64_APP_BUNDLE): build/$(DARWIN_ARM64_EXE_NAME) build/macapp.go |
| 76 | +$(DARWIN_ARM64_APP_BUNDLE): $(DARWIN_ARM64_BINARY) $(MACAPP_GO) |
71 | 77 | $(DARWIN_ARM64_APP_BUNDLE).signed: $(DARWIN_ARM64_APP_BUNDLE) |
72 | 78 | $(DARWIN_ARM64_DMG): $(DARWIN_ARM64_APP_BUNDLE) $(DARWIN_ARM64_APP_BUNDLE).signed |
73 | 79 |
|
74 | | -darwin_arm64_dmg: $(DARWIN_ARM64_DMG) |
| 80 | +darwin_arm64: GOOS=darwin |
| 81 | +darwin_arm64: GOARCH=arm64 |
| 82 | +darwin_arm64: $(DARWIN_ARM64_DMG) |
75 | 83 |
|
76 | 84 | .PHONY: clean |
77 | 85 | clean:: |
|
0 commit comments