diff --git a/Makefile b/Makefile deleted file mode 100644 index 3441d3c..0000000 --- a/Makefile +++ /dev/null @@ -1,102 +0,0 @@ -# Makefile for MCP Registry project - -# Go parameters -BINARY_NAME=registry -MAIN_PACKAGE=./cmd/registry -BUILD_DIR=build -GO=go - -# Build settings -VERSION=0.1.0 -GIT_COMMIT=$(shell git rev-parse --short HEAD 2>/dev/null || echo "unknown") -BUILD_TIME=$(shell date -u +"%Y-%m-%dT%H:%M:%SZ") -LDFLAGS=-ldflags "-s -w -X main.Version=$(VERSION) -X main.GitCommit=$(GIT_COMMIT) -X main.BuildTime=$(BUILD_TIME)" - -VERSION_INFO=Version: $(BINARY_NAME) v$(VERSION) - -.PHONY: all build clean test run run-test lint fmt vet help - -all: clean build - -# Build the application -build: - @echo "Building $(BINARY_NAME)..." - @mkdir -p $(BUILD_DIR) - @$(GO) build $(LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME) $(MAIN_PACKAGE) - @echo "Build complete!" - -# Clean build artifacts -clean: - @echo "Cleaning..." - @rm -rf $(BUILD_DIR) - @echo "Clean complete!" - -# Run tests -test: - @echo "Running tests..." - @$(GO) test ./... -v - @echo "Tests complete!" - -# Run the application -run: - @echo "Running $(BINARY_NAME)..." - @$(GO) run $(MAIN_PACKAGE)/main.go $(MAIN_PACKAGE)/version.go - -# Run the application with test environment (using fake service) -run-test: - @echo "Running $(BINARY_NAME) with test environment..." - @APP_ENV=test $(GO) run $(MAIN_PACKAGE)/main.go $(MAIN_PACKAGE)/version.go - -# Install dependencies -deps: - @echo "Installing dependencies..." - @$(GO) mod download - @echo "Dependencies installed!" - -# Format code -fmt: - @echo "Formatting code..." - @$(GO) fmt ./... - @echo "Formatting complete!" - -# Run go vet -vet: - @echo "Running go vet..." - @$(GO) vet ./... - @echo "Vet complete!" - -# Run golint if installed -lint: - @if command -v golint > /dev/null; then \ - echo "Running golint..."; \ - golint ./...; \ - echo "Lint complete!"; \ - else \ - echo "golint not installed. Run: go install golang.org/x/lint/golint@latest"; \ - fi - -# Build for multiple platforms (cross-compilation) -build-all: clean - @echo "Building for multiple platforms..." - @mkdir -p $(BUILD_DIR) - @GOOS=linux GOARCH=amd64 $(GO) build $(LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME)-linux-amd64 $(MAIN_PACKAGE) - @GOOS=darwin GOARCH=amd64 $(GO) build $(LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME)-darwin-amd64 $(MAIN_PACKAGE) - @GOOS=darwin GOARCH=arm64 $(GO) build $(LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME)-darwin-arm64 $(MAIN_PACKAGE) - @GOOS=windows GOARCH=amd64 $(GO) build $(LDFLAGS) -o $(BUILD_DIR)/$(BINARY_NAME)-windows-amd64.exe $(MAIN_PACKAGE) - @echo "Cross-compilation complete!" - -# Show help -help: - @echo "Available targets:" - @echo " all - Clean and build the project" - @echo " build - Build the project binary" - @echo " clean - Remove build artifacts" - @echo " test - Run all tests" - @echo " run - Run the application" - @echo " run-test - Run the application with test environment (fake service)" - @echo " deps - Download dependencies" - @echo " fmt - Format code using go fmt" - @echo " vet - Run go vet" - @echo " lint - Run golint (if installed)" - @echo " build-all - Build for multiple platforms" - @echo " help - Show this help message" \ No newline at end of file