2008-04-18 06:41:49 -07:00
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla.
#
# The Initial Developer of the Original Code is
# the Mozilla Foundation <http://www.mozilla.org/>.
# Portions created by the Initial Developer are Copyright (C) 2007
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Mark Finkle <mfinkle@mozilla.com>
2009-09-11 17:34:26 -07:00
# Ben Combee <bcombee@mozilla.com>
2008-04-18 06:41:49 -07:00
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
DEPTH = ../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
i n c l u d e $( DEPTH ) / c o n f i g / a u t o c o n f . m k
2010-12-15 12:10:08 -08:00
# overwrite mobile-l10n.js with a matchOS=true one for multi-locale builds
i f e q ( $( AB_CD ) , m u l t i )
PREF_JS_EXPORTS = $( srcdir) /mobile-l10n.js
e n d i f
2010-10-19 15:28:10 -07:00
2010-12-15 12:10:08 -08:00
i n c l u d e $( topsrcdir ) / c o n f i g / r u l e s . m k
2008-07-25 16:07:50 -07:00
2010-12-15 12:10:08 -08:00
MOZ_PKG_REMOVALS = $( srcdir) /removed-files.in
2010-10-19 15:28:10 -07:00
2010-12-15 12:10:08 -08:00
MOZ_PKG_MANIFEST_P = $( srcdir) /package-manifest.in
MOZ_NONLOCALIZED_PKG_LIST = \
xpcom \
browser \
mobile \
2008-04-18 06:41:49 -07:00
$( NULL)
2010-12-15 12:10:19 -08:00
MOZ_LOCALIZED_PKG_LIST = $( AB_CD) multilocale
2010-12-15 12:10:08 -08:00
DEFINES += \
-DAB_CD= $( AB_CD) \
-DMOZ_APP_NAME= $( MOZ_APP_NAME) \
-DPREF_DIR= $( PREF_DIR) \
2010-10-19 20:33:01 -07:00
$( NULL)
2010-10-19 15:28:10 -07:00
2010-12-15 12:10:08 -08:00
i f e q ( $( MOZ_CHROME_FILE_FORMAT ) , j a r )
2010-12-15 12:10:19 -08:00
JAREXT = .jar
2010-12-15 12:10:08 -08:00
e l s e
2010-12-15 12:10:19 -08:00
JAREXT =
2010-10-19 20:33:01 -07:00
e n d i f
2010-12-15 12:10:19 -08:00
DEFINES += -DJAREXT= $( JAREXT)
2010-10-19 15:28:10 -07:00
2010-12-15 12:10:08 -08:00
i n c l u d e $( topsrcdir ) / i p c / a p p / d e f s . m k
DEFINES += -DMOZ_CHILD_PROCESS_NAME= $( MOZ_CHILD_PROCESS_NAME)
2008-04-18 06:41:49 -07:00
2011-01-07 07:30:58 -08:00
i f d e f M O Z _ P K G _ M A N I F E S T _ P
MOZ_PKG_MANIFEST = package-manifest
2010-12-15 12:10:19 -08:00
e n d i f
2011-07-25 21:57:16 -07:00
MOZ_POST_STAGING_CMD = find chrome -type f -name *.properties -exec sed -i '/^\#/d' { } \;
2011-01-07 07:30:58 -08:00
i n c l u d e $( topsrcdir ) / t o o l k i t / m o z a p p s / i n s t a l l e r / p a c k a g e r . m k
2010-12-15 12:10:19 -08:00
i f e q ( b u n d l e , $( MOZ_FS_LAYOUT ) )
BINPATH = $( _BINPATH)
DEFINES += -DAPPNAME= $( _APPNAME)
e l s e
# Every other platform just winds up in dist/bin
BINPATH = bin
e n d i f
DEFINES += -DBINPATH= $( BINPATH)
2010-12-15 12:10:08 -08:00
i f d e f M O Z _ P K G _ M A N I F E S T _ P
2010-12-15 12:10:19 -08:00
$(MOZ_PKG_MANIFEST) : $( MOZ_PKG_MANIFEST_P ) FORCE
2010-12-15 12:10:08 -08:00
$( PYTHON) $( topsrcdir) /config/Preprocessor.py $( DEFINES) $( ACDEFINES) $< > $@
2010-12-15 12:10:19 -08:00
i f d e f M O Z _ C H R O M E _ M U L T I L O C A L E
printf "\n[multilocale]\n" >> $@
2010-12-16 11:53:32 -08:00
for LOCALE in en-US $( MOZ_CHROME_MULTILOCALE) ; \
2010-12-15 12:10:19 -08:00
do \
printf " $( BINPATH) /chrome/ $$ LOCALE $( JAREXT) \n " >> $@ ; \
printf " $( BINPATH) /chrome/ $$ LOCALE.manifest\n " >> $@ ; \
done
2010-12-15 12:10:08 -08:00
e n d i f
2010-10-19 20:33:01 -07:00
2010-12-15 12:10:19 -08:00
GARBAGE += $( MOZ_PKG_MANIFEST)
2008-04-18 06:41:49 -07:00
e n d i f
2009-09-02 18:53:12 -07:00
i f n e q ( , $( filter mac cocoa ,$ ( MOZ_WIDGET_TOOLKIT ) ) )
2010-02-10 11:58:37 -08:00
PACKAGE_XULRUNNER =
UNPACKAGE =
2009-09-02 18:53:12 -07:00
e l s e
2009-04-08 12:45:14 -07:00
PACKAGE_XULRUNNER = package-xulrunner
2009-08-13 10:45:53 -07:00
UNPACKAGE = $( LIBXUL_DIST) /xulrunner*$( PKG_SUFFIX)
2009-09-02 18:53:12 -07:00
e n d i f
2009-04-08 12:45:14 -07:00
2010-03-06 18:31:54 -08:00
i f d e f L I B X U L _ S D K
MOZ_GRE_PKG_DIR = $( MOZ_PKG_DIR) /xulrunner
e l s e
MOZ_GRE_PKG_DIR = $( MOZ_PKG_DIR)
e n d i f
2009-04-08 12:45:14 -07:00
package-xulrunner :
2010-01-29 08:15:37 -08:00
i f d e f L I B X U L _ S D K
2009-04-08 12:45:14 -07:00
i f n d e f S Y S T E M _ L I B X U L
@echo "Packaging xulrunner..."
2009-08-13 10:45:53 -07:00
@rm -rf $( LIBXUL_DIST) /xulrunner*
2009-04-08 12:45:14 -07:00
@$( MAKE) -C $( LIBXUL_DIST) /.. package || echo "Perhaps you're trying to package a prebuilt SDK. See 'https://wiki.mozilla.org/Mobile/Build/Fennec#Build' for more information."
2009-08-13 10:45:53 -07:00
@cd $( DIST) /$( MOZ_PKG_DIR) ; $( UNMAKE_PACKAGE)
2010-02-10 11:58:37 -08:00
@echo "Removing unpackaged files... (the ones xulrunner/installer keeps)"
@cd $( DIST) /$( MOZ_PKG_DIR) /xulrunner; rm -rf $( NO_PKG_FILES)
2009-04-08 12:45:14 -07:00
e l s e
@echo "Using system xulrunner..."
e n d i f
2010-01-29 08:15:37 -08:00
e n d i f
2009-04-08 12:45:14 -07:00
2008-05-01 11:24:04 -07:00
i f e q ( $( OS_TARGET ) , L i n u x )
2010-12-15 12:10:08 -08:00
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 = ` cd $( DEPTH) ; pwd `
ABS_TOPSRCDIR = $( shell cd $( topsrcdir) ; pwd )
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) \
2011-05-12 20:41:40 -07:00
-DMOZ_APP_DISPLAYNAME= " $( MOZ_APP_DISPLAYNAME) " \
2010-12-15 12:10:08 -08:00
-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)
2010-01-06 10:37:59 -08:00
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.preinst \
debian/fennec.prerm \
debian/fennec.postinst \
$( NULL)
2011-08-12 11:30:21 -07:00
i f e q ( $( MOZ_PLATFORM_MAEMO ) , 6 )
2011-08-21 12:11:40 -07:00
PP_DEB_FILES += debian/fennec.aegis \
debian/backup \
debian/restore \
debian/fennec.conf \
debian/fennec-cud.sh \
debian/fennec-rfs.sh \
2011-08-19 03:47:03 -07:00
debian/fennec.policy \
2011-08-12 11:30:21 -07:00
$( NULL)
e n d i f
2010-01-06 10:37:59 -08:00
$(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 \
2011-07-15 01:15:28 -07:00
$( DIST) /branding/$( MOZ_APP_NAME) _40x40.png
2009-10-27 12:07:11 -07:00
rm -rf $( DEBDESTDIR) /$( installdir) /*
$( NSINSTALL) -D $( DEBDESTDIR) /$( installdir)
2009-12-10 11:39:09 -08:00
cp -pRL $( DIST) /$( MOZ_APP_NAME) /* $( DEBDESTDIR) /$( installdir)
2011-05-20 06:05:31 -07:00
i f e q ( $( 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/org.mozilla.$( 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/$( MOZ_APP_NAME) .png
2011-08-12 11:30:21 -07:00
$( 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) /usr/share/$( MOZ_APP_NAME) /
$( NSINSTALL) -m 755 debian/restore $( DEBDESTDIR) /usr/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
2011-08-19 03:47:03 -07:00
$( 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)
2011-05-20 06:05:31 -07:00
e l s e
2008-05-01 12:54:04 -07:00
$( NSINSTALL) debian/$( MOZ_APP_NAME) .desktop $( DEBDESTDIR) /usr/share/applications/hildon/
2008-05-01 11:24:04 -07:00
$( 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
2008-09-04 07:28:00 -07:00
$( NSINSTALL) -D $( DEBDESTDIR) /usr/share/icons/hicolor/scalable/hildon/
2009-10-27 22:43:32 -07:00
cp $( DIST) /branding/$( MOZ_APP_NAME) _scalable.png $( DEBDESTDIR) /usr/share/icons/hicolor/scalable/hildon/$( MOZ_APP_NAME) .png
2009-09-11 17:34:26 -07:00
$( NSINSTALL) -D $( DEBDESTDIR) /usr/share/icons/hicolor/26x26/hildon/
2009-10-27 22:43:32 -07:00
cp $( DIST) /branding/$( MOZ_APP_NAME) _26x26.png $( DEBDESTDIR) /usr/share/icons/hicolor/26x26/hildon/$( MOZ_APP_NAME) .png
2009-09-11 17:34:26 -07:00
$( NSINSTALL) -D $( DEBDESTDIR) /usr/share/icons/hicolor/40x40/hildon/
2009-10-27 22:43:32 -07:00
cp $( DIST) /branding/$( MOZ_APP_NAME) _40x40.png $( DEBDESTDIR) /usr/share/icons/hicolor/40x40/hildon/$( MOZ_APP_NAME) .png
2011-05-20 06:05:31 -07:00
e n d i f
2011-08-09 12:30:56 -07:00
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.
2011-08-21 12:11:40 -07:00
i f e q ( $( MOZ_PLATFORM_MAEMO ) , 6 )
2011-08-09 12:30:56 -07:00
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
e n d i f
2010-02-23 12:59:16 -08:00
echo $( DEB_PKG_NAME) > $( DIST) /deb_name.txt
2009-04-07 20:29:11 -07:00
installer : deb
@echo Installer DEB created!
2010-10-08 10:54:00 -07:00
# relative to $(DIST)
2011-03-05 15:59:20 -08:00
UPLOAD_EXTRA_FILES += ../mobile/$( DEB_PKG_NAME) deb_name.txt
2008-05-01 11:24:04 -07:00
e n d i f