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

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/

targz:
	rm -fr neveredit
	cvs -d :ext:sumpfork@cvs.sourceforge.net:/cvsroot/openknights export -D now neveredit
	rm -f neveredit-$(VERSION).tar.gz
	tar czvf neveredit-$(VERSION).tar.gz neveredit
	rm -fr 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
	$(CP) -V $(PWD)/build/$(PROGRAM).app/ $(IMAGE)/$(PROGRAM).app/
	$(HDIUTIL) create -ov -srcfolder $(IMAGE) -format UDZO -scrub -volname "neveredit" "$@"
	$(HDIUTIL) detach `hdiutil info | grep "$(IMAGE)" | awk '{print $$1}'`

