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)