homeservice/Makefile
Thomas Klaehn 6a9a42adc6 Water web service
Signed-off-by: Thomas Klaehn <thomas.klaehn@perinet.io>
2025-04-17 12:44:35 +02:00

53 lines
964 B
Makefile

PROJECT_NAME := homeservice
PREFIX ?= /usr/bin
CONFIG_DIR := /etc/$(PROJECT_NAME)
SYSTEM_DIR := /usr/lib/systemd/system
WEB_DIR := /var/lib/$(PROJECT_NAME)
BIN_FILE := build/bin/$(PROJECT_NAME)
UNIT_FILE := $(PROJECT_NAME).service
README_FILE := README.md
.PHONY: all
all: service
.PHONY: service
service:
mkdir -p bin
go clean
go mod tidy
go build -o $(BIN_FILE)
.PHONY: clean
clean:
go clean
rm -rf bin
-rm $(PROJECT_NAME).tar.gz
.PHONY: install
install: all
# Binary
install -d $(PREFIX)
install -m 0755 $(BIN_FILE) $(PREFIX)
# System unit
install -d $(SYSTEM_DIR)
install -m 0644 $(UNIT_FILE) $(SYSTEM_DIR)
# Web ui
install -d $(WEB_DIR)
cp -r webui/* $(WEB_DIR)
.PHONY: uninstall
uninstall:
rm -rf $(CONFIG_DIR)
rm -rf $(SYSTEM_DIR)/$(UNIT_FILE)
rm -rf $(PREFIX)/$(PROJECT_NAME)
rm -rf $(WEB_DIR)
.PHONY: package
package: all
tar cvzf $(PROJECT_NAME).tar.gz $(CONFIG_FILE) $(BIN_FILE) $(UNIT_FILE) $(README_FILE) webui/build/*