44 lines
1.1 KiB
Makefile
44 lines
1.1 KiB
Makefile
.PHONY: all frontend backend backend-epics test test-epics clean
|
|
|
|
all: frontend backend
|
|
|
|
frontend:
|
|
cd web && npm ci && npm run build
|
|
|
|
backend:
|
|
go build -ldflags="-s -w" -o dist/uopi ./cmd/uopi
|
|
|
|
# Build backend with EPICS Channel Access support.
|
|
# Requires EPICS Base to be installed and the following environment variables:
|
|
# EPICS_BASE=/path/to/epics/base
|
|
# CGO_CFLAGS="-I${EPICS_BASE}/include -I${EPICS_BASE}/include/os/Linux"
|
|
# CGO_LDFLAGS="-L${EPICS_BASE}/lib/linux-x86_64 -lca -lCom"
|
|
backend-epics:
|
|
CGO_ENABLED=1 go build -tags epics -ldflags="-s -w" -o dist/uopi ./cmd/uopi
|
|
|
|
# Build backend without -s -w for debugging
|
|
backend-debug:
|
|
go build -o dist/uopi ./cmd/uopi
|
|
|
|
test:
|
|
go test ./...
|
|
cd web && npm run check
|
|
|
|
# Run EPICS integration tests (requires EPICS Base; see backend-epics target).
|
|
test-epics:
|
|
go test -tags epics ./internal/datasource/epics/...
|
|
|
|
lint:
|
|
go vet ./...
|
|
cd web && npm run lint
|
|
|
|
clean:
|
|
rm -rf dist/ web/dist/
|
|
|
|
# Run dev servers (requires two terminals or a process manager)
|
|
run-backend:
|
|
go run ./cmd/uopi
|
|
|
|
run-frontend:
|
|
cd web && npm run dev
|