### Q7Z Makefile


# Defines

ifndef KDEDIR
	KDEDIR = /usr/
endif

ifndef USER
	USER = $(LOGNAME)
endif

ifndef HOME
	HOME = /home/$(USER)/
endif


# Aliases

all: Main_Ui.py Main_RCC.py Settings_Ui.py Settings_RCC.py
	@echo ""
	@echo "Before installing Q7Z, please peruse the README."
	@echo ""


install: Install.AllUsers


install-user: Install.CurrentUser


uninstall: UnInstall.AllUsers


uninstall-user: UnInstall.CurrentUser


clean:
	@echo ""
	@echo "Cleaning the Q7Z objects."
	@echo ""
	rm -f ../Source/*_rc.py
	rm -f ../Source/Ui_*.py
	rm -f ../Source/*.pyc
	@echo ""
	@echo "The Q7Z objects have been cleaned."
	@echo ""


# Installers

Install.AllUsers :
	@echo ""
	@echo "Installing Q7Z for all users."
	@echo "Only root can run 'make install'.  Others should instead run: 'make install-user'"
	@echo "Before using this unstable script, please thoroughly read the Installation section of the README."
	@echo ""
	make uninstall
	make clean
	make all
	mkdir -p $(DESTDIR)$(KDEDIR)/share/apps/Q7Z/
	cp -r ../Doc/ $(DESTDIR)$(KDEDIR)/share/apps/Q7Z/
	cp -r ../Desktop/ $(DESTDIR)$(KDEDIR)/share/apps/Q7Z/
	cp -r --preserve=mode ../Source/ $(DESTDIR)$(KDEDIR)/share/apps/Q7Z/
	#chmod 777 $(DESTDIR)$(KDEDIR)/share/apps/Q7Z/Source/
	#chmod 775 $(DESTDIR)$(KDEDIR)/share/apps/Q7Z/Source/Q7Z.pyw
	mkdir -p $(DESTDIR)$(KDEDIR)/bin/
	ln -fs $(KDEDIR)/share/apps/Q7Z/Source/Q7Z.pyw $(DESTDIR)$(KDEDIR)/bin/Q7Z.pyw
	mkdir -p $(DESTDIR)$(KDEDIR)/share/apps/konqueror/servicemenus/
	mkdir -p $(DESTDIR)$(KDEDIR)/share/apps/dolphin/servicemenus/
	cp ../Desktop/Context/*.desktop $(DESTDIR)$(KDEDIR)/share/apps/konqueror/servicemenus/
	cp ../Desktop/Context/*.desktop $(DESTDIR)$(KDEDIR)/share/apps/dolphin/servicemenus/
	rm -f $(DESTDIR)~$(USER)/.kde/share/apps/konqueror/servicemenus/?7Z*
	rm -rf $(DESTDIR)~$(USER)/Profiles/
	mkdir -p $(DESTDIR)$(KDEDIR)/share/applications/kde/
	cp ../Desktop/KMenu/* $(DESTDIR)$(KDEDIR)/share/applications/kde/
	mkdir -p $(DESTDIR)$(KDEDIR)/share/icons/hicolor/32x32/actions/
	cp ../Source/Images/actions/ark* $(DESTDIR)$(KDEDIR)/share/icons/hicolor/32x32/actions/
	cp ../Source/Images/actions/endturn* $(DESTDIR)$(KDEDIR)/share/icons/hicolor/32x32/actions/
	mkdir -p $(DESTDIR)$(KDEDIR)/share/icons/hicolor/32x32/apps/
	ln -fs $(KDEDIR)/share/apps/Q7Z/Source/Images/apps/Q7Z.png $(DESTDIR)$(KDEDIR)/share/icons/hicolor/32x32/apps/
	@echo ""
	@echo "Finished.  To run Q7Z, enter: Q7Z.pyw &"
	@echo ""

Install.CurrentUser :
	@echo ""
	@echo "Installing Q7Z for the current user.  In the case of errors, please view the README."
	@echo ""
	make uninstall-user
	make clean
	make all
	mkdir -p $(HOME)/.kde/share/apps/Q7Z/
	cp -r ../Doc/ $(HOME)/.kde/share/apps/Q7Z/
	cp -r ../Desktop/ $(HOME)/.kde/share/apps/Q7Z/
	cp -r --preserve=mode ../Source/ $(HOME)/.kde/share/apps/Q7Z/
	#chmod 775 $(HOME)/.kde/share/apps/Q7Z/Source/Q7Z.pyw
	mkdir -p $(HOME)/bin/
	ln -fs $(HOME)/.kde/share/apps/Q7Z/Source/Q7Z.pyw $(HOME)/bin/Q7Z.pyw
	mkdir -p $(HOME)/.kde/share/apps/konqueror/servicemenus/
	mkdir -p $(HOME)/.kde/share/apps/dolphin/servicemenus/
	#rm -f $(HOME)/.kde/share/apps/konqueror/servicemenus/Q7Z.marker.*
	rm -f $(HOME)/.kde/share/apps/konqueror/servicemenus/Q7Z*
	rm -rf $(HOME)/Profiles/
	cp ../Desktop/Context/*.desktop $(HOME)/.kde/share/apps/konqueror/servicemenus/
	cp ../Desktop/Context/*.desktop $(HOME)/.kde/share/apps/dolphin/servicemenus/
	mkdir -p $(HOME)/.kde/share/applnk/Utilities/File/
	cp ../Desktop/KMenu/* $(HOME)/.kde/share/applnk/Utilities/File/
	mkdir -p $(HOME)/.kde/share/icons/hicolor/32x32/actions/
	cp ../Source/Images/actions/ark* $(HOME)/.kde/share/icons/hicolor/32x32/actions/
	cp ../Source/Images/actions/endturn* $(HOME)/.kde/share/icons/hicolor/32x32/actions/
	mkdir -p $(HOME)/.kde/share/icons/hicolor/32x32/apps/
	ln -fs $(HOME)/.kde/share/apps/Q7Z/Source/Images/apps/Q7Z.png $(HOME)/.kde/share/icons/hicolor/32x32/apps/
	@echo ""
	@echo "Finished.  You should add $(HOME)/bin to the PATH variable in your ~/.bash_profile or equivalent."
	@echo "Then restart KDE.  To run Q7Z, enter: Q7Z.pyw &"
	@echo ""


# Uninstallers

UnInstall.AllUsers :
	@echo ""
	@echo "Removing Q7Z for all users."
	@echo "Only root can run 'make uninstall'.  Others should instead run: 'make uninstall-user'"
	@echo "Before using this unstable script, please thoroughly read the UnInstallation section of the README."
	@echo ""
	rm -f $(DESTDIR)$(KDEDIR)/share/icons/hicolor/32x32/actions/ark*
	rm -f $(DESTDIR)$(KDEDIR)/share/icons/hicolor/32x32/actions/endturn*
	rm -f $(DESTDIR)$(KDEDIR)/share/icons/hicolor/32x32/apps/?7Z*
	rm -f $(DESTDIR)$(KDEDIR)/share/apps/konqueror/servicemenus/?7Z*
	rm -f $(DESTDIR)$(KDEDIR)/share/apps/dolphin/servicemenus/?7Z*
	rm -f $(DESTDIR)$(KDEDIR)/share/applnk/Utilities/File/?7Z*
	rm -f $(DESTDIR)$(KDEDIR)/share/applications/kde/?7Z*
	rm -f $(DESTDIR)$(KDEDIR)/bin/?7Z*
	rm -rf $(DESTDIR)$(KDEDIR)/share/apps/?7Z/
	rm -f $(DESTDIR)~$(USER)/.kde/share/apps/konqueror/servicemenus/?7Z*
	@echo ""
	@echo "Q7Z has been removed."
	@echo ""

UnInstall.CurrentUser :
	@echo ""
	@echo "Removing Q7Z for the current user.  In the case of errors, please view the README."
	@echo ""
	rm -f $(HOME)/.kde/share/icons/hicolor/32x32/actions/ark*
	rm -f $(HOME)/.kde/share/icons/hicolor/32x32/actions/endturn*
	rm -f $(HOME)/.kde/share/icons/hicolor/32x32/apps/?7Z*
	rm -f $(HOME)/.kde/share/apps/konqueror/servicemenus/?7Z*
	rm -f $(HOME)/.kde/share/apps/dolphin/servicemenus/?7Z*
	rm -f $(HOME)/.kde/share/applnk/Utilities/File/?7Z*
	rm -f $(HOME)/bin/?7Z*
	rm -rf $(HOME)/.kde/share/apps/?7Z/
	@echo ""
	@echo "Q7Z has been removed."
	@echo ""


# Objects

Main_Ui.py :
	pyuic4 ../Source/Main.ui -o ../Source/Ui_Main.py

Main_RCC.py :
	pyrcc4 ../Source/Main.qrc -o ../Source/Main_rc.py

Settings_Ui.py :
	pyuic4 ../Source/Settings.ui -o ../Source/Ui_Settings.py

Settings_RCC.py :
	pyrcc4 ../Source/Settings.qrc -o ../Source/Settings_rc.py
