1: #
     2: # Makefile for the ZyX Rebootless LivOS Installer
     3: #
     4: 
     5: ####################
     6: # Global Variables #
     7: ####################
     8: TOP         = .
     9: include $(TOP)/build/makefile.common
    10: 
    11: ###############
    12: # Build Rules #
    13: ###############
    14: 
    15: default:
    16: 	make all
    17: 
    18: all:
    19: 	# it's python, nothing really to make
    20: 
    21: clean:
    22: 	# remove compiled files resulting from development testing
    23: 	find . -name "*.pyc" -exec rm -vf '{}' ';'
    24: 
    25: install:
    26: 	# XXX: install -D isn't sufficient??
    27: 	mkdir -p $(DESTDIR)/$(PREFIX)/bin
    28: 	mkdir -p $(DESTDIR)/$(PREFIX)/share/zyx-liveinstaller
    29: 	mkdir -p $(DESTDIR)/$(PREFIX)/share/applications
    30: 	mkdir -p $(DESTDIR)/etc/pam.d
    31: 	mkdir -p $(DESTDIR)/etc/security/console.apps
    32: 	mkdir -p $(DESTDIR)/$(PREFIX)/share/zyx-liveinstaller/ui
    33: 	mkdir -p $(DESTDIR)/$(PREFIX)/share/zyx-liveinstaller/pixmaps
    34: 	mkdir -p $(DESTDIR)/$(PREFIX)/share/doc/zyx-liveinstaller-$(VERSION)
    35: 	mkdir -p $(DESTDIR)/$(PYTHONDIR)/rli/
    36: 	# artwork
    37: 	$(INSTALL_DATA) -D \
    38: 		./art/banner.png \
    39: 		$(DESTDIR)/$(PREFIX)/share/zyx-liveinstaller/pixmaps/
    40: 	$(INSTALL_DATA) -D \
    41: 		./art/icon.png \
    42: 		$(DESTDIR)/$(PREFIX)/share/zyx-liveinstaller/pixmaps/
    43: 	# user interface specifications
    44: 	$(INSTALL_DATA) -D \
    45: 		./gui/zyx-liveinstaller.glade \
    46: 		$(DESTDIR)/$(PREFIX)/share/zyx-liveinstaller/ui/
    47: 	# desktop entry (_PROGRAM because its 755)
    48: 	$(INSTALL_PROGRAM) -D \
    49: 		./gui/zyx-liveinstaller.desktop \
    50: 		$(DESTDIR)/$(PREFIX)/share/applications/
    51: 	# automagic desktop icon facility
    52: 	# maybe bring back someday, but maybe not
    53: #	$(INSTALL_PROGRAM) -D \
    54: #		./gui/zz-zyx-liveinstaller.sh \
    55: #		$(DESTDIR)/etc/X11/xinit/xinitrc.d/zz-zyx-liveinstaller.sh
    56: 	# documentation
    57: 	$(INSTALL_DATA) -D \
    58: 		./info/* \
    59: 		$(DESTDIR)/$(PREFIX)/share/doc/zyx-liveinstaller-$(VERSION)/
    60: 	$(INSTALL_DATA) -D \
    61: 		./AUTHORS \
    62: 		$(DESTDIR)/$(PREFIX)/share/doc/zyx-liveinstaller-$(VERSION)/
    63: 	$(INSTALL_DATA) -D \
    64: 		./COPYING \
    65: 		$(DESTDIR)/$(PREFIX)/share/doc/zyx-liveinstaller-$(VERSION)/
    66: 	$(INSTALL_DATA) -D \
    67: 		./README \
    68: 		$(DESTDIR)/$(PREFIX)/share/doc/zyx-liveinstaller-$(VERSION)/
    69: 	# python frontend
    70: 	$(INSTALL_PYTHON) -D \
    71: 		./gui/*.py \
    72: 		$(DESTDIR)/$(PYTHONDIR)/rli/
    73: 	# python backend helper / current cli
    74: 	$(INSTALL_PROGRAM) -D \
    75: 		./rli/zyx-liveinstaller-cli \
    76: 		$(DESTDIR)/$(PREFIX)/sbin/zyx-liveinstaller-cli
    77: 	# python backend
    78: 	$(INSTALL_PYTHON) -D \
    79: 		./rli/__init__.py \
    80: 		$(DESTDIR)/$(PYTHONDIR)/rli/
    81: 	$(INSTALL_PYTHON) -D \
    82: 		./rli/installer.py \
    83: 		$(DESTDIR)/$(PYTHONDIR)/rli/
    84: 	# precompile bytecode
    85: 	$(call COMPILE_PYTHON,$(DESTDIR)/$(PYTHONDIR)/rli)
    86: 	# priveledge handling 
    87: 	$(INSTALL) ./gui/zyx-liveinstaller.pam $(DESTDIR)/$(PAMD_DIR)/zyx-liveinstaller
    88: 	$(INSTALL) ./gui/zyx-liveinstaller.console $(DESTDIR)/$(SECURITY_DIR)/zyx-liveinstaller
    89: 	# launcher
    90: 	$(INSTALL_PROGRAM) -D \
    91: 		./gui/zyx-liveinstaller \
    92: 		$(DESTDIR)/$(PREFIX)/sbin/zyx-liveinstaller
    93: 	ln -s \
    94: 		consolehelper \
    95: 		$(DESTDIR)/$(PREFIX)/bin/zyx-liveinstaller
    96: 	
    97: 
    98: uninstall:
    99: 	rm -rvf $(DESTDIR)/$(PREFIX)/bin/zyx-liveinstaller
   100: 	rm -rvf $(DESTDIR)/$(PREFIX)/lib/zyx-liveinstaller
   101: 	rm -rvf $(DESTDIR)/$(PREFIX)/share/zyx-liveinstaller
   102: 	rm -rvf $(DESTDIR)/$(PREFIX)/share/doc/zyx-liveinstaller-$(VERSION)
   103: 	
   104: tidy:
   105: 	@ echo "removing temporary and backup files"
   106: 	find . -name "*~" -exec rm -vf '{}' ';'
   107: 	find . -name "#*" -exec rm -vf '{}' ';'
   108: 
   109: release:
   110: 	@ echo "building release tarball"
   111: 	make distclean
   112: 	rm -rf /tmp/zyx-liveinstaller-*
   113: 	mkdir /tmp/zyx-liveinstaller-$(VERSION)
   114: 	cp -a ./* /tmp/zyx-liveinstaller-$(VERSION)/
   115: 	tar -C /tmp -cvjf \
   116: 		/tmp/zyx-liveinstaller-$(VERSION).tar.bz2 \
   117: 		./zyx-liveinstaller-$(VERSION)/
   118: 	mv /tmp/zyx-liveinstaller-$(VERSION).tar.bz2 ./
   119: 	rm -rf /tmp/zyx-liveinstaller-$(VERSION)/
   120: 
   121: xrelease:
   122: 	make release
   123: 	tar xvjf zyx-liveinstaller-$(VERSION).tar.bz2
   124: 
   125: distclean:
   126: 	make tidy
   127: 	make clean
   128: 	rm -f zyx-liveinstaller-$(VERSION)-$(RELEASE).src.rpm 
   129: 	rm -f zyx-liveinstaller-$(VERSION)-$(RELEASE).noarch.rpm 
   130: 	rm -f zyx-liveinstaller-$(VERSION).tar.bz2
   131: 	rm -f zyx-liveinstaller-$(VERSION)-$(RELEASE).sha512sums
   132: 	rm -rf zyx-liveinstaller-$(VERSION)
   133: 
   134: srpm:	
   135: 	rpmdev-setuptree
   136: 	make release
   137: 	cp zyx-liveinstaller-$(VERSION).tar.bz2 ${HOME}/rpmbuild/SOURCES/
   138: 	rpmbuild -bs build/zyx-liveinstaller.spec
   139: 	mv ${HOME}/rpmbuild/SRPMS/zyx-liveinstaller-$(VERSION)-$(RELEASE).src.rpm .
   140: 
   141: rpm:
   142: 	make srpm
   143: 	rpm -i zyx-liveinstaller-$(VERSION)-$(RELEASE).src.rpm 
   144: 	rpmbuild --rebuild zyx-liveinstaller-$(VERSION)-$(RELEASE).src.rpm 
   145: 	mv ${HOME}/rpmbuild/RPMS/noarch/zyx-liveinstaller-$(VERSION)-$(RELEASE).noarch.rpm .
   146: 	sha512sum zyx-liveinstaller-$(VERSION)-$(RELEASE).* > zyx-liveinstaller-$(VERSION)-$(RELEASE).sha512sums
   147: 
   148: vrepostuff:
   149: 	make rpm
   150: 	# this is for guitar-zyx (presently f10)
   151: 	cp -av zyx-liveinstaller-$(VERSION)-$(RELEASE).noarch.rpm ./vrepo/fedora/10/noarch/
   152: 	cp -av zyx-liveinstaller-$(VERSION)-$(RELEASE).src.rpm ./vrepo/fedora/10/SRPMS/
   153: 	cp -av zyx-liveinstaller-$(VERSION).tar.bz2 ./vrepo/tarballs/
   154: 	createrepo ./vrepo/fedora/10/noarch
   155: 	createrepo ./vrepo/fedora/10/SRPMS
   156: