-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
38 lines (23 loc) · 955 Bytes
/
Makefile
File metadata and controls
38 lines (23 loc) · 955 Bytes
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
BIN_NAME="fart"
BUILD_OUTPUT = "build/$(BIN_NAME)"
BUILD_VERSION = "v0.0.1"
BUILD_DATETIME = $(shell date +%Y%m%d-%H%M%S)
BUILD_TARGET = $(shell git rev-parse --short HEAD)
WINDOWS=$(BUILD_OUTPUT)_windows_amd64.exe
LINUX=$(BUILD_OUTPUT)_linux_amd64
DARWIN=$(BUILD_OUTPUT)_darwin_amd64
BUILD_FLAGS=-ldflags "-X main.Version=${BUILD_VERSION} -X main.BuildTarget=${BUILD_TARGET} -X main.BuildDate=${BUILD_DATETIME}"
build:
@GOOS=linux GOARCH=386 go build -o ${BUILD_OUTPUT} \
main.go
@echo "Build results: ${BUILD_OUTPUT}"
build_all: windows linux darwin
windows: $(WINDOWS) ## Build for Windows
linux: $(LINUX) ## Build for Linux
darwin: $(DARWIN) ## Build for Darwin (macOS)
$(WINDOWS):
env GOOS=windows GOARCH=amd64 go build -i -v -o $(WINDOWS) main.go
$(LINUX):
env GOOS=linux GOARCH=amd64 go build -i -v -o $(LINUX) $(BUILD_FLAGS) main.go
$(DARWIN):
env GOOS=darwin GOARCH=amd64 go build -i -v -o $(DARWIN) $(BUILD_FLAGS) main.go