-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
61 lines (47 loc) · 1.69 KB
/
Makefile
File metadata and controls
61 lines (47 loc) · 1.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
.PHONY: dev dev-all build build-api build-worker build-all front-build front-dev clean help
# Detect OS for binary extension
ifeq ($(OS),Windows_NT)
EXT := .exe
else
EXT :=
endif
LDFLAGS := -ldflags="-w -s"
# Development
dev:
go run ./cmd/pushpaka -dev
dev-all:
DATABASE_DRIVER=sqlite DATABASE_URL=pushpaka-dev.db APP_ENV=development go run ./cmd/pushpaka
front-dev:
cd frontend && pnpm dev
# Production
front-build:
node scripts/patch-layout.js remove
cd frontend && STATIC_EXPORT=1 pnpm build || (node ../scripts/patch-layout.js restore && exit 1)
node scripts/patch-layout.js restore
node scripts/cpfe.js
build: front-build
go build $(LDFLAGS) -o pushpaka$(EXT) ./cmd/pushpaka
@echo Built: pushpaka$(EXT)
build-api: front-build
go build -C backend $(LDFLAGS) -o ../pushpaka-api$(EXT) ./cmd/server
@echo Built: pushpaka-api$(EXT)
build-worker:
go build -C worker $(LDFLAGS) -o ../pushpaka-worker$(EXT) .
@echo Built: pushpaka-worker$(EXT)
build-all: build build-worker
@echo All binaries built.
clean:
rm -f pushpaka pushpaka.exe pushpaka-api pushpaka-api.exe pushpaka-worker pushpaka-worker.exe pushpaka-dev.db pushpaka-dev.db-shm pushpaka-dev.db-wal
help:
@echo "
@echo " Dev commands:"
@echo " make dev Run API, SQLite (no external deps)"
@echo " make dev-all Run API + worker (SQLite + Redis + Docker)"
@echo " make front-dev Next.js dev server on :3000"
@echo "
@echo " Build commands:"
@echo " make build All-in-one binary -> ./pushpaka"
@echo " make build-api API-only binary -> ./pushpaka-api"
@echo " make build-worker Worker-only binary -> ./pushpaka-worker"
@echo " make build-all All three binaries"
@echo "