Skip to content

Instantly share code, notes, and snippets.

@mops1k
Created May 12, 2020 15:17
Show Gist options
  • Save mops1k/78dd683a42f3c8408937e5b193548600 to your computer and use it in GitHub Desktop.
Save mops1k/78dd683a42f3c8408937e5b193548600 to your computer and use it in GitHub Desktop.
Golang makefile
all: debug
debug: before
go build -o bin/debug.exe -gcflags "all=-N -l" main.go
dlv.exe --listen=localhost:58148 --headless=true --api-version=2 --check-go-version=false --only-same-user=false exec bin/debug.exe
run: before
go run main.go
test: before
go test ./...
build: before
go build -o bin/build.exe -ldflags="-s -w" main.go
compile: before
set GOOS=freebsd; set GOARCH=386; go build -ldflags="-s -w" -o bin/main-freebsd-386 main.go
set GOOS=darwin; set GOARCH=386; go build -ldflags="-s -w" -o bin/main-darwin-386 main.go
set GOOS=linux; set GOARCH=386; go build -ldflags="-s -w" -o bin/main-linux-386 main.go
set GOOS=windows; set GOARCH=386; go build -ldflags="-s -w" -o bin/main-windows-386.exe main.go
set GOOS=freebsd; set GOARCH=amd64; go build -ldflags="-s -w" -o bin/main-freebsd-amd64 main.go
set GOOS=darwin; set GOARCH=amd64; go build -ldflags="-s -w" -o bin/main-darwin-amd64 main.go
set GOOS=linux; set GOARCH=amd64; go build -ldflags="-s -w" -o bin/main-linux-amd64 main.go
set GOOS=windows; set GOARCH=amd64; go build -ldflags="-s -w" -o bin/main-windows-amd64.exe main.go
clean:
go clean
dependency:
go mod vendor
lint:
golangci-lint run
before: clean dependency lint
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment