main
1# Makefile for buylater.email project
2.PHONY: build lint fmt update test
3
4# Variables
5BINARY_NAME=buylater
6BINARY_PATH=./cmd/web
7BUILD_DIR=./bin
8
9build:
10 @echo "Unpacking vendor dependencies..."
11 @go run tools/vendor/unpack.go
12 @echo "Building $(BINARY_NAME)..."
13 @mkdir -p $(BUILD_DIR)
14 @go build -o $(BUILD_DIR)/$(BINARY_NAME) $(BINARY_PATH)
15 @echo "Build complete: $(BUILD_DIR)/$(BINARY_NAME)"
16
17lint:
18 @echo "Linting code..."
19 @go vet ./...
20
21fmt:
22 @echo "Formatting code..."
23 @go fmt ./...
24
25update:
26 @echo "Updating dependencies..."
27 @go mod tidy
28 @go mod vendor
29 @echo "Packing vendor dependencies..."
30 @go run tools/vendor/pack.go
31 @echo "Dependencies updated and vendored"
32
33test:
34 @echo "Unpacking vendor dependencies..."
35 @go run tools/vendor/unpack.go
36 @echo "Running tests..."
37 @go test ./...