discord-jukebox-bot/Makefile
2025-05-13 11:52:37 +02:00

66 lines
No EOL
1.5 KiB
Makefile

# Makefile for Discord Jukebox Bot
# Go parameters
GOCMD = go
GOBUILD = $(GOCMD) build
GORUN = $(GOCMD) run
GOCLEAN = $(GOCMD) clean
GOTEST = $(GOCMD) test
GOGET = $(GOCMD) get
GOMOD = $(GOCMD) mod
BINARY_NAME = jukebox-bot
MAIN_PATH = ./cmd/bot
.PHONY: all build clean run test deps tidy debug
all: deps build
build:
$(GOBUILD) -o $(BINARY_NAME) $(MAIN_PATH)
clean:
$(GOCLEAN)
rm -f $(BINARY_NAME)
run: build
./$(BINARY_NAME)
run-debug: build
./$(BINARY_NAME) -debug
dev:
$(GORUN) $(MAIN_PATH)
dev-debug:
$(GORUN) $(MAIN_PATH) -debug
test:
$(GOTEST) -v ./...
deps:
$(GOMOD) download
tidy:
$(GOMOD) tidy
debug:
@echo "=== Discord Jukebox Bot - Debug Information ==="
@echo "Go version:"
@go version
@echo
@echo "Environment variables (only showing JUKEBOX_ prefix):"
@env | grep JUKEBOX_ || echo "No JUKEBOX_ variables found"
@echo
@echo "Checking .env file:"
@if [ -f .env ]; then echo "✅ .env file exists"; else echo "❌ .env file NOT found"; fi
@echo
@echo "Project structure:"
@find . -type f -name "*.go" | sort
@echo
@echo "To run with debug logging, use: make run-debug"
release:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 $(GOBUILD) -o $(BINARY_NAME)_linux_amd64 $(MAIN_PATH)
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 $(GOBUILD) -o $(BINARY_NAME)_darwin_amd64 $(MAIN_PATH)
CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 $(GOBUILD) -o $(BINARY_NAME)_darwin_arm64 $(MAIN_PATH)
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 $(GOBUILD) -o $(BINARY_NAME)_windows_amd64.exe $(MAIN_PATH)