Files
OpenGFW/Makefile
T

47 lines
993 B
Makefile
Raw Normal View History

2026-07-27 08:09:11 +08:00
GO ?= go
NPM ?= npm
VERSION ?= $(shell git describe --tags --always --dirty 2>/dev/null || echo dev)
COMMIT ?= $(shell git rev-parse --short HEAD 2>/dev/null)
LDFLAGS := -s -w \
-X github.com/apernet/OpenGFW/cmd.appVersion=$(VERSION) \
-X github.com/apernet/OpenGFW/cmd.appCommit=$(COMMIT)
FRONTEND := web/frontend
.PHONY: all
all: web build
## build: build the OpenGFW binary (embeds the web UI in web/dist)
.PHONY: build
build:
$(GO) build -o OpenGFW -ldflags "$(LDFLAGS)" .
## web: build the web UI into web/dist
.PHONY: web
web:
cd $(FRONTEND) && $(NPM) install && $(NPM) run build
## web-dev: run the Vite dev server against a local OpenGFW instance
.PHONY: web-dev
web-dev:
cd $(FRONTEND) && $(NPM) run dev
## devserver: serve the web UI with synthetic data (works on any OS)
.PHONY: devserver
devserver:
$(GO) run ./web/devserver
.PHONY: test
test:
$(GO) test ./...
.PHONY: vet
vet:
$(GO) vet ./...
.PHONY: clean
clean:
rm -f OpenGFW
rm -rf $(FRONTEND)/node_modules