66 lines
No EOL
1.5 KiB
Makefile
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)
|