diff --git a/.gitignore b/.gitignore index 0152cb2..6e77a31 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ *.dylib commit !cmd/commit +bin # Test binary, built with `go test -c` *.test diff --git a/Makefile b/Makefile index abda6cc..643f1de 100644 --- a/Makefile +++ b/Makefile @@ -1,11 +1,33 @@ .PHONY: build build: - @go build -o bin/ ./cmd/commit + @go build -o bin/commit ./cmd/commit/ + +.PHONY: all +all: windows linux macos + +.PHONY: macos +macos: + @GOOS=darwin GOARCH=amd64 go build -ldflags "-s -w" -o bin/macos-amd64/commit ./cmd/commit/ + @GOOS=darwin GOARCH=arm64 go build -ldflags "-s -w" -o bin/macos-arm64/commit ./cmd/commit/ + +.PHONY: linux +linux: + @GOOS=linux GOARCH=386 go build -ldflags "-s -w" -o bin/linux-386/commit ./cmd/commit/ + @GOOS=linux GOARCH=amd64 go build -ldflags "-s -w" -o bin/linux-amd64/commit ./cmd/commit/ + @GOOS=linux GOARCH=arm go build -ldflags "-s -w" -o bin/linux-arm/commit ./cmd/commit/ + @GOOS=linux GOARCH=arm64 go build -ldflags "-s -w" -o bin/linux-arm64/commit ./cmd/commit/ + +.PHONY: windows +windows: + @GOOS=windows GOARCH=386 go build -ldflags "-s -w" -o bin/windows-386/commit ./cmd/commit/ + @GOOS=windows GOARCH=amd64 go build -ldflags "-s -w" -o bin/windows-amd64/commit ./cmd/commit/ + @GOOS=windows GOARCH=arm go build -ldflags "-s -w" -o bin/windows-arm/commit ./cmd/commit/ + @GOOS=windows GOARCH=arm64 go build -ldflags "-s -w" -o bin/windows-arm64/commit ./cmd/commit/ .PHONY: clean clean: - @if [ -f bin/commit ]; then \ - rm bin/commit ; \ + @if [ -d bin/ ]; then \ + rm -rf bin ; \ fi; @go clean