#!/usr/bin/make -f # -*- makefile -*- # Uncomment this to turn on verbose mode. export DH_VERBOSE=1 DEBDIR = .. comma :=, empty := space := $(empty) $(empty) MAKEDOCS = 1 ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) INSTALL_PROGRAM += -s endif TMP_BUILD_OPTS = $(subst $(comma),$(space),$(DEB_BUILD_OPTIONS)) ifneq (,$(filter parallel=%,$(TMP_BUILD_OPTS))) NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(TMP_BUILD_OPTS))) PARALLEL_MAKEFLAGS += -j$(NUMJOBS) endif # Enable instrumentation by setting DEB_BUILD_OPTION=coverage,... ifneq (,$(filter coverage,$(TMP_BUILD_OPTS))) OPTIONS += -coverage endif # Enable build for n900 ifneq (,$(filter n900,$(TMP_BUILD_OPTS))) OPTIONS += -n900 endif # Enable instrumentation by setting DEB_BUILD_OPTION=timestamps,... ifneq (,$(filter timestamps,$(TMP_BUILD_OPTS))) OPTIONS += -timestamps endif # Disable building of tests by setting DEB_BUILD_OPTION=notests,... ifneq (,$(filter notests,$(TMP_BUILD_OPTS))) OPTIONS += -nomake tests endif # Disable building of benchmarks by setting DEB_BUILD_OPTION=nobenchmarks,... ifneq (,$(filter nobenchmarks,$(TMP_BUILD_OPTS))) OPTIONS += -nomake benchmarks endif # Disable building of demos by setting DEB_BUILD_OPTION=nodemos,... ifneq (,$(filter nodemos,$(TMP_BUILD_OPTS))) OPTIONS += -nomake demos endif # When doing official releases, set TESTABILITY to off. Defaults to on now # because integration cannot pass DEB_BUILD_OPTIONS. ifeq (,$(findstring notestability,$(DEB_BUILD_OPTIONS))) OPTIONS += -testable endif #disable plain qt by setting DEB_BUILD_OPTION=noplainqt,... ifneq (,$(findstring noplainqt,$(DEB_BUILD_OPTIONS))) OPTIONS += -no-plainqt endif # Perform a minimal build by setting DEB_BUILD_OPTION=minimal,... ifeq (,$(findstring minimal,$(DEB_BUILD_OPTIONS))) OPTIONS += -make "tests benchmarks" else OPTIONS += -minimal MAKEDOCS = 0 endif # Don't build documentation by setting DEB_BUILD_OPTION=nodocs,... ifneq (,$(findstring nodocs,$(DEB_BUILD_OPTIONS))) MAKEDOCS = 0 endif BUILD_DIR=build-$(shell dpkg-architecture -qDEB_BUILD_ARCH) configure: configure-stamp configure-stamp: dh_testdir mkdir -p $(BUILD_DIR) cd $(BUILD_DIR) && ../configure --prefix=/usr -release $(OPTIONS) touch configure-stamp build: build-stamp build-stamp: configure-stamp dh_testdir cd $(BUILD_DIR) && make $(PARALLEL_MAKEFLAGS) touch build-stamp clean: dh_testdir dh_testroot rm -f build-stamp configure-stamp rm -rf $(BUILD_DIR) dh_clean install: build dh_testdir dh_testroot ifeq (,$(filter n900,$(TMP_BUILD_OPTS))) #fremantle debhelper is older.. dh_prep else dh_clean -k endif dh_installdirs # Add here commands to install the package into debian/tmp #libmeegotouch-doc package ifneq (0,$(MAKEDOCS)) cd $(BUILD_DIR) && make $(PARALLEL_MAKEFLAGS) doc endif cd $(BUILD_DIR) && INSTALL_ROOT=$(CURDIR)/debian/tmp GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 make $(PARALLEL_MAKEFLAGS) install install -m 644 -D -p $(BUILD_DIR)/demos/widgetsgallery/translations/widgetsgallery.ts $(CURDIR)/debian/tmp/usr/share/doc/meegotouch-demos-widgetsgallery-l10n-engineering-english/widgetsgallery.ts install -m 644 -D -p $(BUILD_DIR)/src/translations/libmeegotouch.ts $(CURDIR)/debian/tmp/usr/share/doc/libmeegotouch-l10n-engineering-english/libmeegotouch.ts # Build architecture-independent files here. binary-indep: build install # We have nothing to do by default. # Build architecture-dependent files here. binary-arch: build install dh_testdir dh_testroot dh_installchangelogs dh_installdocs dh_install --sourcedir=debian/tmp -v # print warnings for not installed files dh_install --sourcedir=debian/tmp/ --list-missing dh_link dh_strip -p libmeegotouchcore0 --dbg-package=libmeegotouchcore0 dh_strip -p libmeegotouchextensions0 --dbg-package=libmeegotouchextensions0 dh_strip -p libmeegotouchsettings0 --dbg-package=libmeegotouchsettings0 dh_strip -p libmeegotouchviews0 --dbg-package=libmeegotouchviews0 dh_strip -p libmeegotouch-bin --dbg-package=libmeegotouch-bin dh_strip -p meegotouch-dev-tools --dbg-package=meegotouch-dev-tools dh_strip -p meegotouch-demos-widgetsgallery --dbg-package=meegotouch-demos-widgetsgallery dh_strip -p meegotouch-demos-plainqt --dbg-package=meegotouch-demos-plainqt dh_strip -p meegotouch-demos-appletinstallationsource --dbg-package=meegotouch-demos-appletinstallationsource dh_strip -p meegotouch-demos-applicationextension --dbg-package=meegotouch-demos-applicationextension dh_strip -p libmeegotouch-tests --dbg-package=libmeegotouch-tests dh_strip -p libmeegotouch-benchmarks --dbg-package=libmeegotouch-benchmarks dh_strip -p meegotouch-qt-style --dbg-package=meegotouch-qt-style dh_compress dh_fixperms dh_makeshlibs dh_installdeb dh_shlibdeps -V dh_gencontrol dh_md5sums dh_builddeb --destdir=$(DEBDIR) binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install configure