61
									
								
								Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								Makefile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,61 @@
 | 
			
		||||
PROJECT_NAME := printctrl
 | 
			
		||||
 | 
			
		||||
PREFIX ?= /usr/bin
 | 
			
		||||
 | 
			
		||||
CONFIG_DIR := /etc/$(PROJECT_NAME)
 | 
			
		||||
SYSTEM_DIR := /usr/lib/systemd/system
 | 
			
		||||
WEB_DIR := /var/lib/$(PROJECT_NAME)
 | 
			
		||||
 | 
			
		||||
CONFIG_FILE := config/octoprint/docker-compose.yml
 | 
			
		||||
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:
 | 
			
		||||
	go clean
 | 
			
		||||
	rm -rf bin
 | 
			
		||||
	-rm $(PROJECT_NAME).tar.gz
 | 
			
		||||
 | 
			
		||||
.PHONY: install
 | 
			
		||||
install: all
 | 
			
		||||
	echo $(PWD)
 | 
			
		||||
	@if [ -f $(CONFIG_DIR)/octoprint/$(notdir $(CONFIG_FILE)) ]; then \
 | 
			
		||||
		echo "$(CONFIG_DIR)/$(notdir $(CONFIG_FILE)) already exists - skipping..."; \
 | 
			
		||||
	else \
 | 
			
		||||
		install -d $(CONFIG_DIR)/octoprint; \
 | 
			
		||||
		install -m 0644 $(CONFIG_FILE) $(CONFIG_DIR)/octoprint; \
 | 
			
		||||
		echo "install -d $(CONFIG_DIR)/octoprint"; \
 | 
			
		||||
		echo "install -m 0644 $(CONFIG_FILE) $(CONFIG_DIR)/octoprint"; \
 | 
			
		||||
	fi
 | 
			
		||||
	
 | 
			
		||||
	# 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/*
 | 
			
		||||
		Reference in New Issue
	
	Block a user