53 lines
1.2 KiB
Makefile
53 lines
1.2 KiB
Makefile
|
|
##
|
||
|
|
##
|
||
|
|
##
|
||
|
|
|
||
|
|
.PHONY: help all linux darwin windows cli
|
||
|
|
|
||
|
|
help: ## This help.
|
||
|
|
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
|
||
|
|
|
||
|
|
.DEFAULT_GOAL := all
|
||
|
|
|
||
|
|
bin/:
|
||
|
|
@mkdir -p bin
|
||
|
|
|
||
|
|
all: ## build linux, darwin & windows
|
||
|
|
all: linux darwin windows
|
||
|
|
|
||
|
|
cli: linux-cli windows-cli darwin-cli
|
||
|
|
|
||
|
|
linux: linux-cli
|
||
|
|
windows: windows-cli
|
||
|
|
darwin: darwin-cli
|
||
|
|
|
||
|
|
linux-cli: bin/ ## build linux binary
|
||
|
|
@GOOS=linux GOARCH=amd64 CGO_ENABLED=1 \
|
||
|
|
go build \
|
||
|
|
-installsuffix cgo -ldflags=" -s -w" \
|
||
|
|
-o bin/beeon-cli-linux-amd64 \
|
||
|
|
microjelly.com/beeon/app/cmd/cli
|
||
|
|
|
||
|
|
darwin-cli: bin/ ## build darwin binary
|
||
|
|
@GOOS=darwin GOARCH=amd64 CGO_ENABLED=1 \
|
||
|
|
CC=o64-clang CXX=o64-clang++ \
|
||
|
|
LDFLAGS="-linkmode external -s" \
|
||
|
|
go build \
|
||
|
|
-installsuffix cgo -ldflags=" -s -w" \
|
||
|
|
-o bin/beeon-cli-darwin-amd64 \
|
||
|
|
microjelly.com/beeon/app/cmd/cli
|
||
|
|
|
||
|
|
windows-cli: bin/ ## build windows binary
|
||
|
|
@GOOS=windows GOARCH=amd64 CGO_ENABLED=1 \
|
||
|
|
CC=x86_64-w64-mingw32-gcc \
|
||
|
|
go build \
|
||
|
|
-installsuffix cgo -ldflags=" -s -w" \
|
||
|
|
-o bin/beeon-cli-windows-amd64.exe \
|
||
|
|
microjelly.com/beeon/app/cmd/cli
|
||
|
|
|
||
|
|
mod-tidy:
|
||
|
|
@go clean --modcache
|
||
|
|
@GOPROXY=direct GOSUMDB=off go mod tidy
|
||
|
|
|
||
|
|
clean:
|
||
|
|
@rm -rf bin
|