Files
icecast-ripper/Makefile
Dmitrii Andreev f64163d12a Rework with go
2025-04-07 11:15:05 +03:00

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