
# Install on Ubuntu(-like) systems

# Install dependencies system-wide (including python modules)
install_dependencies:
	sudo -H ./setup_ubuntu.sh

USER_ID = $(shell id -u)

LOCAL_PATH = $(shell pwd)/*
LOCAL_APPS_PATH = ~/.local/share/applications
ASSEST_PATH = assets/linux

INSTALL_PATH = /usr/share/flatcam
APPS_PATH = /usr/share/applications

MIN_PY3_MINOR_VERSION := 8
# required version
MIN_PY3_MINOR_VERSION := $(shell python3 -c 'import sys; print($(MIN_PY3_MINOR_VERSION))')

# current version minimized to required (to allow ifneq test)
PY3_MIN_MINOR_VERSION := $(shell python3 -c 'import sys; print(min($(MIN_PY3_MINOR_VERSION),sys.version_info.minor))')

#ifneq ($(MIN_PY3_MINOR_VERSION), $(PY3_MIN_MINOR_VERSION))
#    $(info Current python version is 3.$(PY3_MIN_MINOR_VERSION))
#    $(error You must have at least 3.$(MIN_PY3_MINOR_VERSION) installed)
#endif

install:
	@ echo "Installing it system-wide"
	mkdir -p $(DESTDIR)$(INSTALL_PATH)
	mkdir -p $(DESTDIR)$(APPS_PATH)
	cp -rf $(LOCAL_PATH) $(DESTDIR)$(INSTALL_PATH)
	@ sed -i "s|python_script_path=.*|python_script_path=$(INSTALL_PATH)|g" $(DESTDIR)$(INSTALL_PATH)/assets/linux/flatcam-beta
	@ sed -i 's/FlatCAM\.py/flatcam.py/g' $(DESTDIR)$(INSTALL_PATH)/assets/linux/flatcam-beta
	mkdir -p $(DESTDIR)/usr/bin
	ln -sf $(INSTALL_PATH)/assets/linux/flatcam-beta $(DESTDIR)/usr/bin/flatcam
	cp $(ASSEST_PATH)/flatcam-beta.desktop $(DESTDIR)$(APPS_PATH)/flatcam.desktop
	rm $(DESTDIR)$(INSTALL_PATH)/setup_ubuntu.sh
	@ sed -i "s|Exec=.*|Exec=/usr/bin/flatcam|g" $(DESTDIR)$(APPS_PATH)/flatcam.desktop
	@ sed -i "s|Icon=.*|Icon=$(INSTALL_PATH)/$(ASSEST_PATH)/icon.png|g" $(DESTDIR)$(APPS_PATH)/flatcam.desktop

remove:
ifeq ($(USER_ID), 0)
	@ echo "Uninstalling it system-wide"
	rm -rf $(INSTALL_PATH)
	rm -f /usr/local/bin/flatcam-beta
	rm -r $(APPS_PATH)/flatcam-beta.desktop
else
	@ echo "Uninstalling only for $(USER) user"
	rm -f $(LOCAL_APPS_PATH)/flatcam-beta.desktop
endif
