diff --git a/gbm.desktop b/gbm.desktop index c43ac81..1ebb7a6 100644 --- a/gbm.desktop +++ b/gbm.desktop @@ -6,9 +6,8 @@ Name=Game Backup Monitor Comment=Monitors games and backs up their savegames Comment[de]=Beobachtet Spiele und sichert ihre Spielstände -Path=/usr/local/bin TryExec=mono -Exec=mono gbm +Exec=gbm Terminal=false Icon=gbm diff --git a/gbm.sh b/gbm.sh new file mode 100755 index 0000000..5794da7 --- /dev/null +++ b/gbm.sh @@ -0,0 +1,22 @@ +#!/bin/sh -e +#check for all dependencies +for prog in mono readlink df 7za;do + [ -n "`whereis -b ${prog} | cut -sd' ' -f2`" ] || (echo "Please install ${prog}" && exit 1); +done +for lib in libsqlite3;do + [ -n "`ldconfig -p | grep ${lib}`" ] || (echo "Please install ${lib}" && exit 1); +done +dir="$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)" +echo "Located in ${dir}"; +gbmpath='./'; +#locate GBM.exe +if [ "${dir}" = '/bin' ] && [ -s '/usr/share/gbm/GBM.exe' ]; then + gbmpath='/usr/share/gbm/'; +elif [ "${dir}" = '/usr/local/bin' ] && [ -s '/usr/local/share/gbm/GBM.exe' ]; then + gbmpath='/usr/local/share/gbm/'; +elif [ ! -s './GBM.exe' ]; then + echo 'GBM.exe not found'; + exit 2; +fi +mono --desktop ${gbmpath}'GBM.exe' "$@"; +exit $?; diff --git a/makefile b/makefile index 4532580..7e20ced 100644 --- a/makefile +++ b/makefile @@ -1,31 +1,38 @@ ICONSIZES := 16 24 32 48 64 72 96 128 256 IMGMAGICK := $(shell command -v convert 2> /dev/null) -XDGUTILS := $(shell command -v xdg-desktop-menu 2> /dev/null) +DESTDIR := +PREFIX := usr/local define \n endef install: GBM.exe $(foreach size,$(ICONSIZES),gbm_$(size)x$(size).png) -ifndef XDGUTILS - $(error "xdg-desktop-menu is not available, please install xdg-utils") -endif #rename it in a way, it can easily started from terminal - install GBM.exe /usr/local/bin/gbm; + install -d $(DESTDIR)/$(PREFIX)/bin; + install gbm.sh $(DESTDIR)/$(PREFIX)/bin/gbm; + install -d $(DESTDIR)/$(PREFIX)/share/gbm/; + install GBM.exe $(DESTDIR)/$(PREFIX)/share/gbm/; #install icon in different sizes - $(foreach size,$(ICONSIZES),xdg-icon-resource install --mode system --novendor --noupdate --size $(size) gbm_$(size)x$(size).png gbm;$(\n)) - xdg-icon-resource forceupdate --mode system; + $(foreach size,$(ICONSIZES),install -d $(DESTDIR)/$(PREFIX)/share/icons/hicolor/$(size)x$(size)/apps/;$(\n)) + $(foreach size,$(ICONSIZES),install -m644 gbm_$(size)x$(size).png $(DESTDIR)/$(PREFIX)/share/icons/hicolor/$(size)x$(size)/apps/gbm.png;$(\n)) #install .desktop file, which is used for running gbm from desktop and menus - xdg-desktop-menu install --mode system --novendor gbm.desktop; - -uninstall: /usr/local/bin/gbm -ifndef XDGUTILS - $(error "xdg-desktop-menu is not available, please install xdg-utils") + install -d $(DESTDIR)/$(PREFIX)/share/applications/ + install -m644 gbm.desktop $(DESTDIR)/$(PREFIX)/share/applications/gbm.desktop +ifeq ($(DESTDIR),) + -xdg-icon-resource forceupdate --mode system; + -xdg-desktop-menu forceupdate --mode system; +endif + +uninstall: $(DESTDIR)/$(PREFIX)/bin/gbm + -rm $(DESTDIR)/$(PREFIX)/bin/gbm; + -rm -r $(DESTDIR)/$(PREFIX)/share/gbm/; + $(foreach size,$(ICONSIZES),-rm $(DESTDIR)/$(PREFIX)/share/icons/hicolor/$(size)x$(size)/apps/gbm.png;$(\n)) + -rm $(DESTDIR)/$(PREFIX)/share/applications/gbm.desktop +ifeq ($(DESTDIR),) + -xdg-icon-resource forceupdate --mode system; + -xdg-desktop-menu forceupdate --mode system; endif - rm /usr/local/bin/gbm; - $(foreach size,$(ICONSIZES),xdg-icon-resource uninstall --mode system --novendor --noupdate --size $(size) gbm;$(\n)) - xdg-icon-resource forceupdate --mode system; - xdg-desktop-menu uninstall --mode system --novendor gbm.desktop; gbm_%.png: gbm.ico ifndef IMGMAGICK