X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=debian%2Frules;h=22c3430f054e880feb8c851e43e4f8f571dc3a50;hb=3117c217f589b85d1628e8638f4c773a9ee97363;hp=11c6b1964251afd77ef123fda1cba7615f086588;hpb=909f5635bffc4c3516ddbba4f9c63c2a7333afc7;p=drnoksnes diff --git a/debian/rules b/debian/rules index 11c6b19..22c3430 100755 --- a/debian/rules +++ b/debian/rules @@ -9,69 +9,111 @@ # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 -#include /usr/share/quilt/quilt.make - # These are used for cross-compiling and for saving the configure script # from having to guess our platform (since we know it already) DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +ARCH ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH) # Determine Maemo version MAEMO_VERSION := $(shell cut -d"." -f1 /etc/maemo_version) -CFLAGS = -Wall -g -DMAEMO -DMAEMO_VERSION=$(MAEMO_VERSION) -LDFLAGS = -Wl,-z,defs -CONFOPTS = +# Determine app version from debian changelog +GAME_VERSION := $(shell head -n 1 debian/changelog | sed 's/[^0-9.-]//g') + +# Default CFLAGS +CFLAGS := -Wall -g -DMAEMO -DMAEMO_VERSION=$(MAEMO_VERSION) +CXXFLAGS := -Wall -g -DMAEMO -DMAEMO_VERSION=$(MAEMO_VERSION) +GUI_CFLAGS := -std=c99 -fPIC -shared $(CFLAGS) +LDFLAGS := -Wl,-z,defs -Wl,-O1 +GUI_LDFLAGS := -export-dynamic -avoid-version -module -shared $(LDFLAGS) +ASFLAGS := -g + +# Compiler optimization settings +OPT_CFLAGS := -O2 -fomit-frame-pointer -ffast-math +OPT_CXXFLAGS := $(OPT_CFLAGS) -fno-exceptions -fno-rtti + +M4=m4 +M4DEFS=-DMAEMO_MAJOR=$(MAEMO_VERSION) +# Architecture specific CFLAGS ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) CFLAGS += -O0 -else ifneq (,$(findstring arm,$(DEB_BUILD_GNU_TYPE))) - CFLAGS += -Os + CXXFLAGS += -O0 + GUI_CFLAGS += -O0 +else ifneq (,$(findstring armel,$(ARCH))) + CFLAGS += $(OPT_CFLAGS) + CXXFLAGS += $(OPT_CXXFLAGS) + GUI_CFLAGS += -Os ifneq (,$(findstring vfp,$(DEB_BUILD_OPTIONS))) CFLAGS += -march=armv6j -mtune=arm1136jf-s -mfpu=vfp -mfloat-abi=softfp + ASFLAGS += -march=armv6j -mfpu=vfp -mfloat-abi=softfp endif - CFLAGS += -static-libgcc -else # x86 - echo "This package does not build in x86" - exit 1 + ifeq ($(shell expr "$(MAEMO_VERSION)" "<" 5), 1) + # Fixes hang while exiting in Diablo. + CFLAGS += -static-libgcc + endif +else ifneq (,$(findstring i386,$(ARCH))) + CFLAGS += $(OPT_CFLAGS) + CXXFLAGS += $(OPT_CXXFLAGS) + GUI_CFLAGS += -O2 +else + # Don't support anything else + crash endif +debian/control: debian/control.m4 + $(M4) $(M4DEFS) debian/control.m4 > debian/control + configure: configure-stamp configure-stamp: dh_testdir - # Add here commands to configure the package. - + $(M4) $(M4DEFS) debian/control.m4 > debian/control + $(M4) $(M4DEFS) debian/drnoksnes.postinst.m4 > debian/drnoksnes.postinst + + echo ARCH="$(ARCH)" > config.mk + echo CONF_GUI=1 >> config.mk +ifeq ($(shell expr "$(MAEMO_VERSION)" ">" 4), 1) + # Maemo 5 devices do not support Xsp + # But they support hildon compositing stuff + echo CONF_HD=1 >> config.mk +else + echo CONF_XSP=1 >> config.mk +endif + echo CONF_ZEEMOTE=1 >> config.mk + echo ASFLAGS="$(ASFLAGS)" >> config.mk + echo CFLAGS="$(CFLAGS)" >> config.mk + echo CXXFLAGS="$(CXXFLAGS)" >> config.mk + echo LDFLAGS="$(LDFLAGS)" >> config.mk + + echo CONF_NLS=1 > gui/config.mk + echo CFLAGS="$(GUI_CFLAGS)" >> gui/config.mk + echo LDFLAGS="$(GUI_LDFLAGS)" >> gui/config.mk + echo MAEMO_VERSION="$(MAEMO_VERSION)" >> gui/config.mk + echo GAME_VERSION="$(GAME_VERSION)" >> gui/config.mk + touch configure-stamp - build: build-stamp - build-stamp: configure-stamp dh_testdir - - $(MAKE) CFLAGS="$(CFLAGS)" CXXFLAGS="$(CFLAGS)" - + $(MAKE) touch $@ clean: dh_testdir dh_testroot rm -f build-stamp configure-stamp - - # Add here commands to clean up after the build process. -$(MAKE) clean - - dh_clean + rm -f config.mk gui/config.mk + dh_clean install: build dh_testdir dh_testroot dh_clean -k dh_installdirs - - # Add here commands to install the package into debian/drnoksnes. - $(MAKE) DESTDIR=$(CURDIR)/debian/drnoksnes install - + $(MAKE) DESTDIR=$(CURDIR)/debian/drnoksnes GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 install # Build architecture-independent files here. binary-indep: build install @@ -81,12 +123,15 @@ binary-indep: build install binary-arch: build install dh_testdir dh_testroot - dh_installchangelogs - dh_installdocs - dh_installexamples - dh_installman +# dh_installchangelogs +# dh_installdocs +# dh_installexamples +# dh_installman + dh_gconf +# Fixes a nasty bug with dh_gconf & busybox + rm -f $(CURDIR)/debian/drnoksnes.postrm.debhelper dh_link - dh_strip + dh_strip --dbg-package=drnoksnes-dbg dh_compress dh_fixperms dh_installdeb