69 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			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)
 |