/
Makefile
27 lines (20 loc) · 1.55 KB
/
Makefile
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
.PHONY: build-all clean swagger release
BIN = $(addprefix bin/,$(shell ls cmd))
COMMIT ?= $(shell git rev-parse --short HEAD)
DATE := $(shell date)
build-all: $(BIN)
bin/%: cmd/%/main.go
GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -ldflags="-X 'github.com/sapcc/archer/internal/config.Version=$(COMMIT)' -X 'github.com/sapcc/archer/internal/config.BuildTime=$(DATE)'" -o $@ $<
release:
GOOS=darwin GOARCH=amd64 go build -ldflags="-X 'github.com/sapcc/archer/internal/config.Version=$(COMMIT)' -X 'github.com/sapcc/archer/internal/config.BuildTime=$(DATE)'" -o bin/archerctl_darwin_adm64 cmd/archerctl/main.go
GOOS=darwin GOARCH=arm64 go build -ldflags="-X 'github.com/sapcc/archer/internal/config.Version=$(COMMIT)' -X 'github.com/sapcc/archer/internal/config.BuildTime=$(DATE)'" -o bin/archerctl_darwin_arm64 cmd/archerctl/main.go
GOOS=windows GOARCH=amd64 go build -ldflags="-X 'github.com/sapcc/archer/internal/config.Version=$(COMMIT)' -X 'github.com/sapcc/archer/internal/config.BuildTime=$(DATE)'" -o bin/archerctl.exe cmd/archerctl/main.go
GOOS=linux GOARCH=amd64 go build -ldflags="-X 'github.com/sapcc/archer/internal/config.Version=$(COMMIT)' -X 'github.com/sapcc/archer/internal/config.BuildTime=$(DATE)'" -o bin/archerctl_linux_x86_64 cmd/archerctl/main.go
swagger:
swagger generate server --exclude-main --copyright-file COPYRIGHT.txt
swagger generate model --copyright-file COPYRIGHT.txt
swagger generate client --copyright-file COPYRIGHT.txt
markdown:
swagger generate markdown --copyright-file COPYRIGHT.txt --output= docs/api.md
clean:
rm -f bin/*