47 lines
1.2 KiB
Makefile
47 lines
1.2 KiB
Makefile
APP := chfs-ng
|
|
VERSION ?= $(shell git describe --tags --always --dirty 2>/dev/null || echo dev)
|
|
LDFLAGS := -s -w -X main.version=$(VERSION)
|
|
OUT := bin
|
|
|
|
.PHONY: build test race vet check run build-linux-amd64 build-linux-arm64 build-linux-armv7 build-linux cross docker-build docker-run clean
|
|
|
|
build:
|
|
CGO_ENABLED=0 go build -trimpath -ldflags '$(LDFLAGS)' -o $(OUT)/$(APP) ./cmd/chfs
|
|
|
|
test:
|
|
go test ./...
|
|
|
|
race:
|
|
go test -race ./...
|
|
|
|
vet:
|
|
go vet ./...
|
|
|
|
check: test race vet
|
|
git diff --check
|
|
|
|
run:
|
|
go run -ldflags '$(LDFLAGS)' ./cmd/chfs
|
|
|
|
build-linux-amd64:
|
|
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -trimpath -ldflags '$(LDFLAGS)' -o $(OUT)/$(APP)-linux-amd64 ./cmd/chfs
|
|
|
|
build-linux-arm64:
|
|
CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -trimpath -ldflags '$(LDFLAGS)' -o $(OUT)/$(APP)-linux-arm64 ./cmd/chfs
|
|
|
|
build-linux-armv7:
|
|
CGO_ENABLED=0 GOOS=linux GOARCH=arm GOARM=7 go build -trimpath -ldflags '$(LDFLAGS)' -o $(OUT)/$(APP)-linux-armv7 ./cmd/chfs
|
|
|
|
build-linux: build-linux-amd64 build-linux-arm64 build-linux-armv7
|
|
|
|
cross: build-linux
|
|
|
|
docker-build:
|
|
docker build --build-arg VERSION=$(VERSION) -t $(APP):$(VERSION) -t $(APP):latest .
|
|
|
|
docker-run:
|
|
docker run --rm -p 8080:80 -v $(PWD)/data:/data $(APP):latest -path /data -port 80
|
|
|
|
clean:
|
|
rm -rf $(OUT)
|