mirror of
https://github.com/kemko/icecast-ripper.git
synced 2026-01-01 07:45:45 +03:00
56 lines
950 B
Makefile
56 lines
950 B
Makefile
# Simple Makefile for Go project
|
|
|
|
# Go parameters
|
|
GOCMD=go
|
|
GOBUILD=$(GOCMD) build
|
|
GOCLEAN=$(GOCMD) clean
|
|
GOTEST=$(GOCMD) test
|
|
GOGET=$(GOCMD) get
|
|
GORUN=$(GOCMD) run
|
|
GOLINT=golangci-lint
|
|
|
|
# Binary name
|
|
BINARY_NAME=icecast-ripper
|
|
BINARY_PATH=./bin/$(BINARY_NAME)
|
|
|
|
# Source files entrypoint
|
|
MAIN_GO=./cmd/icecast-ripper/main.go
|
|
|
|
# Default target
|
|
all: build
|
|
|
|
# Build the application
|
|
build:
|
|
@echo "Building $(BINARY_NAME)..."
|
|
$(GOBUILD) -o $(BINARY_PATH) $(MAIN_GO)
|
|
@echo "$(BINARY_NAME) built successfully."
|
|
|
|
# Run the application
|
|
run: build
|
|
@echo "Running $(BINARY_NAME)..."
|
|
$(BINARY_PATH)
|
|
|
|
# Run linters
|
|
lint:
|
|
@echo "Running linters..."
|
|
$(GOLINT) run ./...
|
|
|
|
# Run tests
|
|
test:
|
|
@echo "Running tests..."
|
|
$(GOTEST) -v ./...
|
|
|
|
# Clean build artifacts
|
|
clean:
|
|
@echo "Cleaning..."
|
|
$(GOCLEAN)
|
|
rm -f $(BINARY_PATH)
|
|
@echo "Cleaned."
|
|
|
|
# Get dependencies
|
|
deps:
|
|
@echo "Getting dependencies..."
|
|
$(GOGET) ./...
|
|
|
|
.PHONY: all build run lint test clean deps
|