mirror of
https://github.com/serverless/serverless.git
synced 2026-01-18 14:58:43 +00:00
44 lines
1.2 KiB
Makefile
44 lines
1.2 KiB
Makefile
BINARY_NAME=serverless
|
|
VERSION=$(shell git describe --tags --always --dirty)
|
|
PLATFORMS=darwin linux windows
|
|
ARCHITECTURES=amd64 arm64
|
|
LDFLAGS=-ldflags="-s -w"
|
|
|
|
.PHONY: all clean build-all build-prod build-canary test
|
|
|
|
all: clean build-all
|
|
|
|
clean:
|
|
@rm -rf dist/
|
|
|
|
build-all: build-prod build-canary
|
|
|
|
build-prod:
|
|
@echo "Building production binaries..."
|
|
@for platform in $(PLATFORMS); do \
|
|
for arch in $(ARCHITECTURES); do \
|
|
if [ "$$arch" = "arm64" ] && [ "$$platform" = "windows" ]; then \
|
|
continue; \
|
|
fi; \
|
|
echo "Building $$platform/$$arch..."; \
|
|
mkdir -p dist/prod; \
|
|
CGO_ENABLED=0 GOOS=$$platform GOARCH=$$arch go build $(LDFLAGS) -o dist/prod/$(BINARY_NAME)-$$platform-$$arch .; \
|
|
done; \
|
|
done
|
|
|
|
build-canary:
|
|
@echo "Building canary-enabled binaries..."
|
|
@for platform in $(PLATFORMS); do \
|
|
for arch in $(ARCHITECTURES); do \
|
|
if [ "$$arch" = "arm64" ] && [ "$$platform" = "windows" ]; then \
|
|
continue; \
|
|
fi; \
|
|
echo "Building $$platform/$$arch..."; \
|
|
mkdir -p dist/canary; \
|
|
CGO_ENABLED=0 GOOS=$$platform GOARCH=$$arch go build $(LDFLAGS) -tags=canary -o dist/canary/$(BINARY_NAME)-$$platform-$$arch .; \
|
|
done; \
|
|
done
|
|
|
|
test:
|
|
@go test ./...
|