66 lines
1.6 KiB
Makefile
66 lines
1.6 KiB
Makefile
.PHONY: build clean test run-server run-cli help
|
|
|
|
# Build both server and CLI
|
|
build:
|
|
@echo "Building WhatsHooked..."
|
|
@mkdir -p bin
|
|
@go build -o bin/whatshook-server ./cmd/server
|
|
@go build -o bin/whatshook-cli ./cmd/cli
|
|
@echo "Build complete! Binaries in bin/"
|
|
|
|
# Build server only
|
|
build-server:
|
|
@echo "Building server..."
|
|
@mkdir -p bin
|
|
@go build -o bin/whatshook-server ./cmd/server
|
|
@echo "Server built: bin/whatshook-server"
|
|
|
|
# Build CLI only
|
|
build-cli:
|
|
@echo "Building CLI..."
|
|
@mkdir -p bin
|
|
@go build -o bin/whatshook-cli ./cmd/cli
|
|
@echo "CLI built: bin/whatshook-cli"
|
|
|
|
# Clean build artifacts (preserves bin directory)
|
|
clean:
|
|
@echo "Cleaning..."
|
|
@mkdir -p bin
|
|
@rm -f bin/whatshook*
|
|
@echo "Clean complete!"
|
|
|
|
# Run tests
|
|
test:
|
|
@echo "Running tests..."
|
|
@go test ./...
|
|
|
|
# Run server (requires config.json)
|
|
run-server:
|
|
@go run ./cmd/server -config config.json
|
|
|
|
# Run CLI
|
|
run-cli:
|
|
@go run ./cmd/cli $(ARGS)
|
|
|
|
# Install dependencies
|
|
deps:
|
|
@echo "Installing dependencies..."
|
|
@go mod download
|
|
@go mod tidy
|
|
@echo "Dependencies installed!"
|
|
|
|
# Help
|
|
help:
|
|
@echo "WhatsHooked Makefile"
|
|
@echo ""
|
|
@echo "Usage:"
|
|
@echo " make build - Build server and CLI"
|
|
@echo " make build-server - Build server only"
|
|
@echo " make build-cli - Build CLI only"
|
|
@echo " make clean - Remove build artifacts (preserves bin directory)"
|
|
@echo " make test - Run tests"
|
|
@echo " make run-server - Run server (requires config.json)"
|
|
@echo " make run-cli ARGS='health' - Run CLI with arguments"
|
|
@echo " make deps - Install dependencies"
|
|
@echo " make help - Show this help message"
|