Initial commit
This commit is contained in:
54
makefile
Normal file
54
makefile
Normal file
@@ -0,0 +1,54 @@
|
||||
.PHONY: help install-swag swagger build run dev clean deps
|
||||
|
||||
# Determine GOPATH
|
||||
GOPATH ?= $(shell go env GOPATH)
|
||||
SWAG := $(GOPATH)/bin/swag
|
||||
|
||||
# Default target
|
||||
help:
|
||||
@echo "Available targets:"
|
||||
@echo " make install-swag - Install swag CLI if not present"
|
||||
@echo " make swagger - Generate Swagger documentation"
|
||||
@echo " make build - Build the application"
|
||||
@echo " make run - Build and run the application"
|
||||
@echo " make dev - Run in development mode"
|
||||
@echo " make clean - Remove build artifacts"
|
||||
@echo " make deps - Download dependencies"
|
||||
|
||||
# Check if swag is installed, install if not
|
||||
install-swag:
|
||||
@test -f $(SWAG) || \
|
||||
(echo "Installing swag..." && \
|
||||
go install github.com/swaggo/swag/cmd/swag@latest)
|
||||
|
||||
# Generate Swagger docs (auto-installs swag if needed)
|
||||
swagger: install-swag
|
||||
@echo "Generating Swagger documentation..."
|
||||
@$(SWAG) init
|
||||
|
||||
# Build the application
|
||||
build: swagger
|
||||
@echo "Building application..."
|
||||
@go build -o bin/api .
|
||||
|
||||
# Run the application
|
||||
run: build
|
||||
@echo "Starting server..."
|
||||
@./bin/api
|
||||
|
||||
# Development mode with swagger generation
|
||||
dev: swagger
|
||||
@echo "Running in development mode..."
|
||||
@go run .
|
||||
|
||||
# Clean build artifacts
|
||||
clean:
|
||||
@echo "Cleaning up..."
|
||||
@rm -rf bin/
|
||||
@rm -rf docs/
|
||||
|
||||
# Download dependencies
|
||||
deps:
|
||||
@echo "Downloading dependencies..."
|
||||
@go mod download
|
||||
@go mod tidy
|
||||
Reference in New Issue
Block a user