NextReceipt/Makefile
cclohmar f0c576c543 feat: transform NextExpense into NextReceipt — receipt saver for warranty & returns
- Replace events+expenses with flat purchases table
- Add warranty_months, return_days, product_name fields
- Remove currency conversion, CSV/PDF reporting, event filing
- Simplify auth (no onboarding/department/profile)
- Update AI extraction prompts for product/warranty info
- Update all branding: templates, install.sh, Makefile, service file
2026-06-21 18:57:29 +00:00

86 lines
2.3 KiB
Makefile

# NextReceipt — AI-Powered Receipt Saver
# Makefile for build, install, and deployment
BINARY = app
SERVICE = nextreceipt
OUTDIR = dist
VERSION = v1.0.0
LDFLAGS = -s -w
.PHONY: all build clean install uninstall run stop restart logs
all: build
# -------------------------------------------------------------------
# Build
# -------------------------------------------------------------------
build:
go build -ldflags="$(LDFLAGS)" -o $(BINARY) .
build-linux-amd64:
GOOS=linux GOARCH=amd64 go build -ldflags="$(LDFLAGS)" -o $(OUTDIR)/$(BINARY)-linux-amd64 .
build-linux-arm64:
GOOS=linux GOARCH=arm64 CGO_ENABLED=1 CC=aarch64-linux-gnu-gcc go build -ldflags="$(LDFLAGS)" -o $(OUTDIR)/$(BINARY)-linux-arm64 .
build-all: build-linux-amd64 build-linux-arm64
# -------------------------------------------------------------------
# Install (systemd service)
# -------------------------------------------------------------------
install: build
@echo "==> Installing NextReceipt..."
cp $(BINARY) /usr/local/bin/$(BINARY)
@if [ ! -f /etc/$(SERVICE)/.env ]; then \
mkdir -p /etc/$(SERVICE); \
cp .env.example /etc/$(SERVICE)/.env; \
echo "==> Created /etc/$(SERVICE)/.env — edit it with your credentials"; \
fi
@if [ ! -f /etc/systemd/system/$(SERVICE).service ]; then \
cp contrib/$(SERVICE).service /etc/systemd/system/; \
systemctl daemon-reload; \
systemctl enable $(SERVICE); \
echo "==> Systemd service installed"; \
fi
@echo "==> Run 'systemctl start $(SERVICE)' to start"
@echo "==> Run 'systemctl status $(SERVICE)' to check status"
uninstall:
-systemctl stop $(SERVICE) 2>/dev/null
-systemctl disable $(SERVICE) 2>/dev/null
-rm -f /etc/systemd/system/$(SERVICE).service
-systemctl daemon-reload
-rm -f /usr/local/bin/$(BINARY)
@echo "==> NextReceipt uninstalled"
# -------------------------------------------------------------------
# Service management
# -------------------------------------------------------------------
run:
./$(BINARY)
start:
systemctl start $(SERVICE)
stop:
systemctl stop $(SERVICE)
restart:
systemctl restart $(SERVICE)
logs:
journalctl -u $(SERVICE) -f
status:
systemctl status $(SERVICE)
# -------------------------------------------------------------------
# Clean
# -------------------------------------------------------------------
clean:
rm -f $(BINARY)
rm -rf $(OUTDIR)