Files
ac/Makefile
2025-11-05 13:16:01 +08:00

53 lines
1.5 KiB
Makefile
Executable File

GO_BIN_PATH = bin
GO_SRC_PATH = src
ROOT_PATH = $(shell pwd)
GO_NF = ac
GO_FILES = $(shell find $(GO_SRC_PATH)/$(%) -name "*.go" ! -name "*_test.go")
VERSION = 1.2408.0
COMMIT_HASH = $(shell git log -1 --format=%h)
COMMIT_TIME = $(shell git log --pretty="@%at" -1 | xargs date -u +"%Y-%m-%d %H:%M:%SZ" -d)
LDFLAGS = -X 'ac/internal/version.VERSION=$(VERSION)' \
-X 'ac/internal/version.COMMIT_HASH=$(COMMIT_HASH)' \
-X 'ac/internal/version.COMMIT_TIME=$(COMMIT_TIME)'
.PHONY: $(GO_NF) clean
.DEFAULT_GOAL: $(GO_NF)
all: $(GO_NF)
debug: GCFLAGS += -N -l
debug: all
$(GO_NF): % : $(GO_BIN_PATH)/%
$(GO_BIN_PATH)/%: $(GO_FILES)
# $(@F): The file-within-directory part of the file name of the target.
@echo "Start building $(@F)...."
cd $(GO_SRC_PATH)/cmd && \
go build -gcflags "$(GCFLAGS)" -ldflags "$(LDFLAGS)" -o $(ROOT_PATH)/$@ main.go
vpath %.go $(addprefix $(GO_SRC_PATH)/, $(GO_NF))
deb:
test -d debian && rm -rf debian/* || mkdir debian
mkdir -p debian/DEBIAN
mkdir -p debian/usr/local/bin
mkdir -p debian/usr/local/etc/ac/default
mkdir -p debian/lib/systemd/system
cp $(GO_BIN_PATH)/$(GO_NF) debian/usr/local/bin
cp config/ac.yaml debian/usr/local/etc/ac/default
cp scripts/ac.service debian/lib/systemd/system
cp scripts/postinst debian/DEBIAN
cp scripts/prerm debian/DEBIAN
cp scripts/control debian/DEBIAN
fakeroot dpkg-deb --build debian
mv debian.deb debian/ac-r$(VERSION)-ub22.deb
clean:
rm -rf $(addprefix $(GO_BIN_PATH)/, $(GO_NF))