|
1 | 1 | BUILD_TARGET ?= cmd/*.go |
2 | 2 | APP_NAME := doomsday |
3 | 3 | OUTPUT_NAME ?= $(APP_NAME) |
4 | | -SHELL := /bin/bash |
| 4 | +SHELL := $(shell which bash) |
5 | 5 | COMMIT_HASH := $(shell git log --pretty='format:%h' -n 1) |
6 | 6 | DIRTY_LINE := $(shell git diff --shortstat 2> /dev/null | tail -n1) |
7 | 7 | ifneq ("$(DIRTY_LINE)", "") |
8 | 8 | DIRTY := + |
9 | 9 | endif |
10 | 10 | VERSION ?= development |
11 | | -LOCAL_GOOS=$(shell go env GOOS) |
12 | | -LOCAL_GOARCH=$(shell go env GOARCH) |
13 | | -LDFLAGS := -X "github.com/doomsday-project/doomsday/version.Version=$(VERSION)-$(COMMIT_HASH)$(DIRTY)" |
| 11 | +LDFLAGS := -X "main.Version=$(VERSION)-$(COMMIT_HASH)$(DIRTY)" |
14 | 12 | BUILD := go build -v -ldflags='$(LDFLAGS)' -o $(OUTPUT_NAME) $(BUILD_TARGET) |
15 | 13 |
|
16 | | -.PHONY: build darwin darwin-amd64 darwin-arm64 linux all clean embed server tsc |
| 14 | +.PHONY: build server darwin darwin-amd64 darwin-arm64 linux linux-amd64 embed tsc all clean |
17 | 15 | .DEFAULT: build |
18 | 16 |
|
19 | | - |
20 | | -#: Generic server build for all platfomrs |
21 | 17 | build: embed server |
22 | 18 |
|
23 | | -server: |
| 19 | +server: |
24 | 20 | @echo $(VERSION)-$(COMMIT_HASH)$(DIRTY) |
25 | | - GOOS=$(GOOS) GOARCH=$(GOARCH) $(BUILD) |
| 21 | + GOOS=$(GOOS) GOARCH=$(GOARCH) VERSION=$(VERSION) $(BUILD) |
26 | 22 |
|
27 | | -#: Builds all OSX executable |
28 | 23 | darwin: darwin-amd64 darwin-arm64 |
29 | 24 |
|
30 | | -#: Builds arm64 OSX executable |
| 25 | +darwin-amd64: |
| 26 | + GOOS=darwin GOARCH=amd64 OUTPUT_NAME=$(APP_NAME)-darwin-amd64 $(MAKE) server |
| 27 | + |
31 | 28 | darwin-arm64: |
32 | | - GOOS=darwin GOARCH=arm64 OUTPUT_NAME=$(APP_NAME)-darwin-arm64 VERSION="$(VERSION)" $(MAKE) server |
| 29 | + GOOS=darwin GOARCH=arm64 OUTPUT_NAME=$(APP_NAME)-darwin-arm64 $(MAKE) server |
33 | 30 |
|
34 | | -#: Builds amd64 OSX executable |
35 | | -darwin-amd64: |
36 | | - GOOS=darwin GOARCH=amd64 OUTPUT_NAME=$(APP_NAME)-darwin-amd64 VERSION="$(VERSION)" $(MAKE) server |
| 31 | +linux: linux-amd64 |
37 | 32 |
|
38 | | -#: Builds amd64 linux executable |
39 | | -linux: |
40 | | - GOOS=linux GOARCH=amd64 OUTPUT_NAME=$(APP_NAME)-linux VERSION="$(VERSION)" $(MAKE) server |
| 33 | +linux-amd64: |
| 34 | + GOOS=linux GOARCH=amd64 OUTPUT_NAME=$(APP_NAME)-linux-amd64 $(MAKE) server |
41 | 35 |
|
42 | | -#: Build client and server doomsday components |
43 | | -all: embed darwin linux server |
| 36 | +all: embed darwin linux |
44 | 37 |
|
45 | 38 | embed: tsc |
46 | 39 | GOOS="" GOARCH="" go run web/embed/main.go web/embed/mappings.yml |
|
50 | 43 | tsc --project web/tsconfig.json |
51 | 44 |
|
52 | 45 | clean: |
53 | | - rm -f $(APP_NAME) $(APP_NAME)-darwin-* $(APP_NAME)-linux |
| 46 | + rm -f $(APP_NAME) $(APP_NAME)-darwin-amd64 $(APP_NAME)-darwin-arm64 $(APP_NAME)-linux-amd64 |
0 commit comments