Files
homeservice/Makefile
Thomas Klaehn 8f0fd525d9 Manual mode
Signed-off-by: Thomas Klaehn <tkl@blackfinn.de>
2025-08-14 08:55:02 +02:00

69 lines
1.6 KiB
Makefile

PROJECT_NAME := waterservice
PREFIX ?= /usr/bin
CONFIG_DIR := /etc/$(PROJECT_NAME)
CONFIG_FILE := config.json
DEVICES_DIR := $(CONFIG_DIR)
DEVICES_FILE := devices.json
SYSTEM_DIR := /usr/lib/systemd/system
WEB_DIR := /var/lib/$(PROJECT_NAME)/webui
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
cd src && go build -o ../$(BIN_FILE)
.PHONY: clean
clean:
cd src && go clean
rm -rf build
.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)
# Config file
@if [ -f $(CONFIG_DIR)/$(notdir $(CONFIG_FILE)) ]; then \
echo "$(CONFIG_DIR)/$(notdir $(CONFIG_FILE)) already exists - skipping..."; \
else \
install -d $(CONFIG_DIR); \
install -m 0644 config/$(CONFIG_FILE) $(CONFIG_DIR); \
echo "install -d $(CONFIG_DIR)"; \
echo "install -m 0644 $(CONFIG_FILE) $(CONFIG_DIR)"; \
fi
# devices file
@if [ -f $(DEVICES_DIR)/$(notdir $(DEVICES_FILE)) ]; then \
echo "$(DEVICES_DIR)/$(notdir $(DEVICES_FILE)) already exists - skipping..."; \
else \
install -d $(DEVICES_DIR); \
install -m 0644 config/$(DEVICES_FILE) $(DEVICES_DIR); \
echo "install -d $(DEVICES_DIR)"; \
echo "install -m 0644 $(DEVICES_FILE) $(DEVICES_DIR)"; \
fi
.PHONY: uninstall
uninstall:
rm -rf $(CONFIG_DIR)
rm -rf $(SYSTEM_DIR)/$(UNIT_FILE)
rm -rf $(PREFIX)/$(PROJECT_NAME)
rm -rf $(WEB_DIR)