#!/usr/bin/make -f # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 CFLAGS = -Wall -g ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) CFLAGS += -O0 else CFLAGS += -O2 endif build-indep: build-stamp build-arch: build: build-indep build-arch build-stamp: dh_testdir docbook-to-man debian/fretsonfire.sgml > fretsonfire.6 find data -name "*.svg" | sed -e "s/.svg$$/.png/" | while read l; do if ! test -f "$$l"; then echo "Missing $$l"; exit 1; fi; done # rename and mode these here so that dh_install can do it's magic cp debian/fretsonfire.sh fretsonfire chmod 755 fretsonfire cp data/icon.png fretsonfire.png chmod 755 src/FretsOnFire.py mkdir translations cp data/translations/*.po translations/ cp data/translations/*.py translations/ if test $(ls debian/translations/* -1 | wc -l) -ne 0; then \ cp debian/translations/* translations/ ; \ fi cd translations && python update.py touch $@ clean: dh_testdir dh_testroot rm -f build-stamp configure-stamp rm -rf translations rm -rf `find . -name "*.pyc"` rm -f fretsonfire.6 fretsonfire fretsonfire.png dh_clean install: build dh_testdir dh_testroot dh_prep dh_installdirs # symlink fonts ln -sf ../../../fonts/truetype/dejavu/DejaVuSans.ttf $(CURDIR)/debian/fretsonfire-game/usr/share/games/fretsonfire/data/international.ttf ln -sf ../../../fonts/truetype/dejavu/DejaVuSans.ttf $(CURDIR)/debian/fretsonfire-game/usr/share/games/fretsonfire/data/title.ttf ln -sf ../../../fonts/truetype/dejavu/DejaVuSans.ttf $(CURDIR)/debian/fretsonfire-game/usr/share/games/fretsonfire/data/default.ttf # other installation done with dh_install # Build architecture-independent files here. binary-indep: build install dh_testdir dh_testroot dh_installchangelogs dh_installdocs dh_installmenu dh_installman -pfretsonfire-game fretsonfire.6 dh_install -pfretsonfire-game dh_link dh_strip dh_compress dh_fixperms #dh_python2 dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb # Build architecture-dependent files here. binary-arch: build install binary: binary-indep binary-arch ORIG_VERSION=$(shell dpkg-parsechangelog | sed -n '/^Version/s/[^:].*: \(.*\).dfsg-[^-]*$$/\1/p') print-orig-version: echo $(ORIG_VERSION) ../FretsOnFire-$(ORIG_VERSION).tar.gz: wget http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/f/fr/fretsonfire/FretsOnFire-$(ORIG_VERSION).tar.gz --directory-prefix=../ extract_translation_source: # get the translation template (needs gettext) cd fretsonfire-$(ORIG_VERSION).dfsg/src && \ xgettext -o ../data/translations/fretsonfire.pot \ `grep -r "_(\".*\")" * | awk -F: '{print $$1}' | sort --unique` cat fretsonfire-$(ORIG_VERSION).dfsg/data/songs/tutorial/script.txt | \ awk '{ print NR "|" $$0 }' | grep " text " | sed 's/ text */|/g' | \ awk -F"|" '{ print "\n#: data/songs/tutorial/script.txt:" $$1 " \nmsgid \"" $$3 "\"\nmsgstr \"\""}' \ >> fretsonfire-$(ORIG_VERSION).dfsg/data/translations/fretsonfire.pot msguniq -o fretsonfire-$(ORIG_VERSION).dfsg/data/translations/fretsonfire.pot \ fretsonfire-$(ORIG_VERSION).dfsg/data/translations/fretsonfire.pot # get the source from the translation files (needs gettext) cd fretsonfire-$(ORIG_VERSION).dfsg/data/translations && \ for i in *.mo; do \ msgunfmt $$i > `echo $$i | sed -e "s/.mo/.po/"` ; \ done # merge the obtained the translation files with the template (needs gettext) cd fretsonfire-$(ORIG_VERSION).dfsg/data/translations && \ for i in *.po; do \ msgmerge -o $$i $$i fretsonfire.pot ; \ done get-orig-source: ../FretsOnFire-$(ORIG_VERSION).tar.gz # clean old builds; rm -rf "FretsOnFire-src-$(ORIG_VERSION)/" "Frets on Fire-$(ORIG_VERSION)/" "FretsOnFire/" "fretsonfire-$(ORIG_VERSION).dfsg" # extract source and data tar xvzf "../FretsOnFire-$(ORIG_VERSION).tar.gz" mkdir -p "fretsonfire-$(ORIG_VERSION).dfsg/data" # we want all the source cp -va "Frets on Fire-$(ORIG_VERSION)/doc" "Frets on Fire-$(ORIG_VERSION)/src" "fretsonfire-$(ORIG_VERSION).dfsg/" cp -v "Frets on Fire-$(ORIG_VERSION)"/* "fretsonfire-$(ORIG_VERSION).dfsg/" || true # copy the data, without the songs, but with the tutorial cp -v "Frets on Fire-$(ORIG_VERSION)/data"/* "fretsonfire-$(ORIG_VERSION).dfsg/data/" || true rm -f "fretsonfire-$(ORIG_VERSION).dfsg/data"/*.ttf cp -va "Frets on Fire-$(ORIG_VERSION)/data/mods" "fretsonfire-$(ORIG_VERSION).dfsg/data/" cp -va "Frets on Fire-$(ORIG_VERSION)/data/translations" "fretsonfire-$(ORIG_VERSION).dfsg/data/" mkdir -p "fretsonfire-$(ORIG_VERSION).dfsg/data/songs" cp -av "Frets on Fire-$(ORIG_VERSION)/data/songs/tutorial" "fretsonfire-$(ORIG_VERSION).dfsg/data/songs/" # get translation sources (requires subversion) svn co https://fretsonfire.svn.sourceforge.net/svnroot/fretsonfire/trunk/data/translations _translations mv _translations/* "fretsonfire-$(ORIG_VERSION).dfsg/data/translations/" rm -rf _translations # turn off the execute bit on all the random files find "fretsonfire-$(ORIG_VERSION).dfsg" -type f | xargs chmod -x # build the tarball and clean up tar cvfz "../fretsonfire_$(ORIG_VERSION).dfsg.orig.tar.gz" "fretsonfire-$(ORIG_VERSION).dfsg" rm -rf "Frets on Fire-$(ORIG_VERSION)/" "FretsOnFire-src-$(ORIG_VERSION)/" "FretsOnFire/" "fretsonfire-$(ORIG_VERSION).dfsg" .PHONY: build clean binary-indep binary-arch binary install configure