# This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. DEPTH = @DEPTH@ topsrcdir = @top_srcdir@ srcdir = @srcdir@ VPATH = @srcdir@ include $(DEPTH)/config/autoconf.mk # overwrite mobile-l10n.js with a matchOS=true one for multi-locale builds ifeq ($(AB_CD),multi) PREF_JS_EXPORTS = $(srcdir)/mobile-l10n.js endif include $(topsrcdir)/config/rules.mk MOZ_PKG_REMOVALS = $(srcdir)/removed-files.in MOZ_PKG_MANIFEST_P = $(srcdir)/package-manifest.in MOZ_NONLOCALIZED_PKG_LIST = \ xpcom \ browser \ mobile \ $(NULL) MOZ_LOCALIZED_PKG_LIST = $(AB_CD) multilocale DEFINES += \ -DAB_CD=$(AB_CD) \ -DMOZ_APP_NAME=$(MOZ_APP_NAME) \ -DPREF_DIR=$(PREF_DIR) \ $(NULL) DEFINES += -DJAREXT= include $(topsrcdir)/ipc/app/defs.mk DEFINES += -DMOZ_CHILD_PROCESS_NAME=$(MOZ_CHILD_PROCESS_NAME) ifdef MOZ_PKG_MANIFEST_P MOZ_PKG_MANIFEST = package-manifest endif MOZ_PACKAGER_MINIFY=1 include $(topsrcdir)/toolkit/mozapps/installer/packager.mk ifeq (bundle, $(MOZ_FS_LAYOUT)) BINPATH = $(_BINPATH) DEFINES += -DAPPNAME=$(_APPNAME) else # Every other platform just winds up in dist/bin BINPATH = bin endif DEFINES += -DBINPATH=$(BINPATH) ifdef MOZ_PKG_MANIFEST_P $(MOZ_PKG_MANIFEST): $(MOZ_PKG_MANIFEST_P) FORCE $(PYTHON) $(topsrcdir)/config/Preprocessor.py $(DEFINES) $(ACDEFINES) $< > $@ ifdef MOZ_CHROME_MULTILOCALE printf "\n[multilocale]\n" >> $@ for LOCALE in en-US $(MOZ_CHROME_MULTILOCALE) ;\ do \ printf "$(BINPATH)/chrome/$$LOCALE$(JAREXT)\n" >> $@; \ printf "$(BINPATH)/chrome/$$LOCALE.manifest\n" >> $@; \ done endif GARBAGE += $(MOZ_PKG_MANIFEST) endif ifeq ($(OS_TARGET),Linux) GRE_MILESTONE = $(shell $(PYTHON) $(topsrcdir)/config/printconfigsetting.py $(LIBXUL_DIST)/bin/platform.ini Build Milestone) GRE_BUILDID = $(shell $(PYTHON) $(topsrcdir)/config/printconfigsetting.py $(LIBXUL_DIST)/bin/platform.ini Build BuildID) ABS_OBJDIR=$(call core_abspath,$(DEPTH)) ABS_TOPSRCDIR=$(call core_abspath,$(topsrcdir)) BASE64_ICON = dist/branding/fennec_maemo_icon26.txt MOZ_DEB_TIMESTAMP = "$(shell date +"%a, %d %b %Y %T %z" )" DEB_PKG_VERSION = $(shell echo $(MOZ_APP_VERSION) | $(PERL) -pe 's/pre/~$(GRE_BUILDID)/; s/^([0-9.]+)([a-z][0-9]+)/$$1~$$2/') DEB_BUILD_ARCH = $(shell dpkg-architecture -qDEB_BUILD_ARCH) # package name should match mobile/installer/debian/changelog.in DEB_PKG_NAME = $(MOZ_PKG_APPNAME)_$(DEB_PKG_VERSION)_$(DEB_BUILD_ARCH).deb DEFINES += \ -DGRE_MILESTONE=$(GRE_MILESTONE) \ -DGRE_BUILDID=$(GRE_BUILDID) \ -Dinstalldir=$(installdir) \ -DMOZ_APP_DISPLAYNAME="$(MOZ_APP_DISPLAYNAME)" \ -DMOZ_APP_VERSION=$(MOZ_APP_VERSION) \ -DABS_OBJDIR=$(ABS_OBJDIR) \ -DBASE64_ICON=$(BASE64_ICON) \ -DMOZ_DEB_TIMESTAMP=$(MOZ_DEB_TIMESTAMP) \ -DDEB_PKG_VERSION=$(DEB_PKG_VERSION) \ $(NULL) DEBDESTDIR=debian/$(MOZ_APP_NAME) PP_DEB_FILES = \ debian/control \ debian/changelog \ debian/$(MOZ_APP_NAME).desktop \ debian/$(MOZ_APP_NAME).links \ debian/$(MOZ_APP_NAME).service \ debian/compat \ debian/files \ debian/menu \ debian/fennec.postinst \ $(NULL) ifeq ($(MOZ_PLATFORM_MAEMO),6) PP_DEB_FILES += \ debian/fennec.aegis \ debian/backup \ debian/restore \ debian/fennec.conf \ debian/fennec-cud.sh \ debian/fennec-rfs.sh \ debian/fennec.policy \ $(NULL) else PP_DEB_FILES += \ debian/fennec.preinst \ debian/fennec.prerm \ $(NULL) endif $(PP_DEB_FILES): @$(EXIT_ON_ERROR) \ for f in $(PP_DEB_FILES); do \ src=$(srcdir)/debian/`basename $$f`.in; \ echo $$src ">" $$f ;\ $(RM) -f $$f; \ mkdir -p debian; \ $(PYTHON) $(topsrcdir)/config/Preprocessor.py \ $(AUTOMATION_PPARGS) $(DEFINES) $(ACDEFINES) $$src > $$f; \ done deb: $(PP_DEB_FILES) $(DIST)/branding/$(MOZ_APP_NAME)_scalable.png \ $(DIST)/branding/$(MOZ_APP_NAME)_26x26.png \ $(DIST)/branding/$(MOZ_APP_NAME)_40x40.png rm -rf $(DEBDESTDIR)/$(installdir)/* $(NSINSTALL) -D $(DEBDESTDIR)/$(installdir) cp -pRL $(DIST)/$(MOZ_APP_NAME)/* $(DEBDESTDIR)/$(installdir) ifeq ($(MOZ_PLATFORM_MAEMO),6) $(NSINSTALL) debian/$(MOZ_APP_NAME).desktop $(DEBDESTDIR)/usr/share/applications/ $(NSINSTALL) -D $(DEBDESTDIR)/usr/share/dbus-1/services/ cp debian/$(MOZ_APP_NAME).service $(DEBDESTDIR)/usr/share/dbus-1/services/$(MOZ_APP_NAME).service $(NSINSTALL) -D $(DEBDESTDIR)/usr/share/themes/blanco/meegotouch/icons/ cp $(DIST)/branding/$(MOZ_APP_NAME)_scalable.png $(DEBDESTDIR)/usr/share/themes/blanco/meegotouch/icons/icon-l-$(MOZ_APP_NAME).png $(NSINSTALL) -D $(DEBDESTDIR)/usr/share/backup-framework/applications $(NSINSTALL) -D $(DEBDESTDIR)/usr/share/$(MOZ_APP_NAME) $(NSINSTALL) -D $(DEBDESTDIR)/etc/osso-cud-scripts $(NSINSTALL) -D $(DEBDESTDIR)/etc/osso-rfs-scripts $(NSINSTALL) -m 755 debian/backup $(DEBDESTDIR)/$(installdir)/share/$(MOZ_APP_NAME)/ $(NSINSTALL) -m 755 debian/restore $(DEBDESTDIR)/$(installdir)/share/$(MOZ_APP_NAME)/ cp debian/$(MOZ_APP_NAME).conf $(DEBDESTDIR)/usr/share/backup-framework/applications/$(MOZ_APP_NAME).conf cp debian/$(MOZ_APP_NAME)-cud.sh $(DEBDESTDIR)/etc/osso-cud-scripts/$(MOZ_APP_NAME)-cud.sh cp debian/$(MOZ_APP_NAME)-rfs.sh $(DEBDESTDIR)/etc/osso-rfs-scripts/$(MOZ_APP_NAME)-rfs.sh $(NSINSTALL) -D $(DEBDESTDIR)/usr/share/policy/etc/syspart.conf.d cp debian/$(MOZ_APP_NAME).policy $(DEBDESTDIR)/usr/share/policy/etc/syspart.conf.d/$(MOZ_APP_NAME).conf else $(NSINSTALL) debian/$(MOZ_APP_NAME).desktop $(DEBDESTDIR)/usr/share/applications/hildon/ $(NSINSTALL) -D $(DEBDESTDIR)/usr/share/dbus-1/services/ cp debian/$(MOZ_APP_NAME).service $(DEBDESTDIR)/usr/share/dbus-1/services/org.mozilla.$(MOZ_APP_NAME).service $(NSINSTALL) -D $(DEBDESTDIR)/usr/share/icons/hicolor/scalable/hildon/ cp $(DIST)/branding/$(MOZ_APP_NAME)_scalable.png $(DEBDESTDIR)/usr/share/icons/hicolor/scalable/hildon/$(MOZ_APP_NAME).png $(NSINSTALL) -D $(DEBDESTDIR)/usr/share/icons/hicolor/26x26/hildon/ cp $(DIST)/branding/$(MOZ_APP_NAME)_26x26.png $(DEBDESTDIR)/usr/share/icons/hicolor/26x26/hildon/$(MOZ_APP_NAME).png $(NSINSTALL) -D $(DEBDESTDIR)/usr/share/icons/hicolor/40x40/hildon/ cp $(DIST)/branding/$(MOZ_APP_NAME)_40x40.png $(DEBDESTDIR)/usr/share/icons/hicolor/40x40/hildon/$(MOZ_APP_NAME).png endif fakeroot dh_link; fakeroot dh_fixperms; fakeroot dh_installdeb; fakeroot dh_shlibdeps; fakeroot dh_gencontrol; fakeroot dh_md5sums; fakeroot dh_builddeb; # a defined CONTENTMANAGER implicitly means MOZ_PLATFORM_MAEMO is equals 6 # in case you use CONTENTMANGER you need to sign your package to gain tracker access. ifeq ($(MOZ_PLATFORM_MAEMO),6) if test -e "/usr/bin/aegis-deb-add"; then \ fakeroot aegis-deb-add -control $(DEBDESTDIR)/DEBIAN/control .. debian/fennec.aegis=_aegis; \ else \ echo aegis-builder not found, security signing failed!; \ fi endif echo $(DEB_PKG_NAME) > $(DIST)/deb_name.txt installer: deb @echo Installer DEB created! # relative to $(DIST) UPLOAD_EXTRA_FILES += ../mobile/$(DEB_PKG_NAME) deb_name.txt endif