#rules added by sumpfork (pgorniak@mac.com) to make mac os app and dmg
#somewhat messy - sorry
PROGRAM = neveredit
VERSION=0.7b2
INSTALL=/usr/bin/install
RESCOMP = /Developer/Tools/Rez
IMAGE = /Volumes/neveredit
AWK = awk
DU = du
HDIUTIL = hdiutil
CP = ditto --rsrc
SOURCES = ${FILES:%.py}
CXFREEZE_HOME = /home/pgorniak/cx_Freeze-2.2

change: ${FILES:%.py}
	cvs2cl -S --no-wrap --accum --tags --prune --ignore Changelog

upload:
	-curl -T neveredit-$(VERSION).tar.gz ftp://upload.sf.net/incoming/
	-curl -T neveredit-$(VERSION).dmg ftp://upload.sf.net/incoming/
	-curl -T neveredit-$(VERSION).linux_i386.tar.gz ftp://upload.sf.net/incoming/

upload-beta:
	-scp {neveredit-${VERSION}.dmg,neveredit-${VERSION}.tar.gz} sumpfork@shell.sf.net:/home/groups/o/op/openknights/htdocs/neveredit/
	-scp neveredit-${VERSION}.linux_i386.tar.gz sumpfork@shell.sf.net:/home/groups/o/op/openknights/htdocs/neveredit/

targz:
	rm -fr neveredit
	cvs -d :ext:sumpfork@cvs.sourceforge.net:/cvsroot/openknights export -r neveredit-0-6-prep neveredit
	rm -f neveredit-$(VERSION).tar.gz
	tar czvf neveredit-$(VERSION).tar.gz neveredit
	rm -fr neveredit

freeze:
	rm -fr build/neveredit
	mkdir -p build/neveredit
	python $(CXFREEZE_HOME)/FreezePython.py\
	 --base-binary=$(CXFREEZE_HOME)/ConsoleSetLibPathBase\
	 NeverEditMainApp.py\
	 --install-dir build/neveredit\
	 --include-modules=encodings,encodings.ascii,encodings.utf_8,PIL.TgaImagePlugin\
	 --target-name=neveredit
	cp neveredit*.jpg build/neveredit/
	cp README build/neveredit/
	cp COPYING build/neveredit/
	cd build/neveredit;sh ../../chrpath.sh
	cd build;tar czvf ../neveredit-$(VERSION).linux_i386.tar.gz neveredit/

install: ${FILES:%.py}
	python setup.py install

documentation: ${FILES:%.py}
	cd doxygen;doxygen

upload-docs:
	rsync -avPz --delete doxygen/html/ sumpfork@shell.sf.net:/home/groups/o/op/openknights/htdocs/neveredit/docs/

bundle: $(SOURCES)
	python makebundle.py $(VERSION)

versioned-dmg: $(PROGRAM).dmg
	mv -f $(PROGRAM).dmg $(PROGRAM)-$(VERSION).dmg

$(PROGRAM)_simple.dmg:
	@$(INSTALL) -d $(IMAGE)
	@$(INSTALL) -d $(IMAGE)/$(PROGRAM).app
	$(CP) $(PWD)/README $(IMAGE)/README
	$(CP) $(PWD)/COPYING $(IMAGE)/COPYING
	$(CP) -V $(PWD)/build/$(PROGRAM).app/ $(IMAGE)/$(PROGRAM).app/
	$(HDIUTIL) create -sectors `$(DU) -s $(IMAGE) | $(AWK) '{print 2.5*$$1}'` -volname $(PROGRAM) -fs HFS -ov $(PROGRAM)
	$(HDIUTIL) attach $@ 2>&1 | grep $(PROGRAM) | cut -d ' ' -f1 > mountloc.tmp
	$(CP) $(IMAGE)/ /Volumes/$(PROGRAM)
	$(HDIUTIL) detach `cat mountloc.tmp`
	$(RM) mountloc.tmp
	$(HDIUTIL) resize $@ -size min
	mv -f $@ $(PROGRAM).tmp.dmg
	$(HDIUTIL) convert $(PROGRAM).tmp.dmg -format UDZO -imagekey zlib-level=2 -o $@
	$(RM) $(PROGRAM).tmp.dmg

#you need an existing dmg called 'neveredit_build.dmg' for the next rules
#without this it's very hard to get the right icon positions and background image in the final dmg
#just user the _simple rule above for building a simpler dmg that doesn't require an existing source dmg
$(PROGRAM).dmg:
	rm -f $@
	$(HDIUTIL) mount neveredit_build.dmg.sparseimage
#	@$(INSTALL) -d $(IMAGE)
#	@$(INSTALL) -d $(IMAGE) $(PROGRAM).app
#	@$(INSTALL) -d $(IMAGE) .background
#	$(CP) $(PWD)/.background/neveredit_background.jpg $(IMAGE)/.background/
	$(CP) $(PWD)/README $(IMAGE)/README
	/Developer/Tools/SetFile -t 'TEXT' $(IMAGE)/README
	$(CP) $(PWD)/COPYING $(IMAGE)/COPYING
	/Developer/Tools/SetFile -t 'TEXT' $(IMAGE)/COPYING
	rm -fr $(IMAGE)/$(PROGRAM).app
	$(CP) -V $(PWD)/build/$(PROGRAM).app $(IMAGE)/$(PROGRAM).app
#	$(CP) -V $(PWD)/build/$(PROGRAM).app/Contents/Resources/NeverEditMainApp.py $(IMAGE)/$(PROGRAM).app/Contents/Resources/
#	$(CP) -V $(PWD)/build/$(PROGRAM).app/Contents/Info.plist $(IMAGE)/$(PROGRAM).app/Contents/
	$(HDIUTIL) detach `hdiutil info | grep "$(IMAGE)" | awk '{print $$1}'`
#	$(HDIUTIL) create -ov -srcfolder $(IMAGE) -format UDZO -scrub -volname "neveredit" "$@"
	$(HDIUTIL) convert -ov neveredit_build.dmg.sparseimage -format UDZO -o "$@" -imagekey zlib-level=9

