mirror of
https://github.com/idanoo/autobrr
synced 2025-07-22 16:29:12 +00:00
56 lines
1.4 KiB
Makefile
56 lines
1.4 KiB
Makefile
.PHONY: all deps test build build/app build/ctl build/web build/docker clean install dev
|
|
.POSIX:
|
|
.SUFFIXES:
|
|
|
|
GIT_COMMIT := $(shell git rev-parse HEAD 2> /dev/null)
|
|
GIT_TAG := $(shell git describe --abbrev=0 --tags)
|
|
|
|
SERVICE = autobrr
|
|
GO = go
|
|
RM = rm
|
|
GOFLAGS = "-X main.commit=$(GIT_COMMIT) -X main.version=$(GIT_TAG)"
|
|
PREFIX = /usr/local
|
|
BINDIR = bin
|
|
|
|
all: clean build
|
|
|
|
deps:
|
|
pnpm --dir web install --frozen-lockfile
|
|
go mod download
|
|
|
|
test:
|
|
go test $(go list ./... | grep -v test/integration)
|
|
|
|
build: deps build/web build/app
|
|
|
|
build/app:
|
|
go build -ldflags $(GOFLAGS) -o bin/$(SERVICE) cmd/$(SERVICE)/main.go
|
|
|
|
build/ctl:
|
|
go build -ldflags $(GOFLAGS) -o bin/autobrrctl cmd/autobrrctl/main.go
|
|
|
|
build/web:
|
|
pnpm --dir web run build
|
|
@touch web/dist/.gitkeep 2>/dev/null # To avoid accidental commit of the deletionn
|
|
|
|
build/docker:
|
|
docker build -t autobrr:dev -f Dockerfile . --build-arg GIT_TAG=$(GIT_TAG) --build-arg GIT_COMMIT=$(GIT_COMMIT)
|
|
|
|
clean:
|
|
$(RM) -rf bin
|
|
|
|
install: all
|
|
echo $(DESTDIR)$(PREFIX)/$(BINDIR)
|
|
mkdir -p $(DESTDIR)$(PREFIX)/$(BINDIR)
|
|
cp -f bin/$(SERVICE) $(DESTDIR)$(PREFIX)/$(BINDIR)
|
|
|
|
dev:
|
|
@if ! command -v tmux >/dev/null 2>&1; then \
|
|
echo "tmux is not installed. Please install it to use dev mode."; \
|
|
echo "On Ubuntu/Debian: sudo apt install tmux"; \
|
|
echo "On macOS: brew install tmux"; \
|
|
exit 1; \
|
|
fi
|
|
@tmux new-session -d -s autobrr-dev 'pnpm --dir web dev'
|
|
@tmux split-window -h 'go run cmd/$(SERVICE)/main.go'
|
|
@tmux -2 attach-session -d
|