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
2008-07-25 16:07:50 -07: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)
2009-10-27 22:43:32 -07:00
ABS_OBJDIR = ` cd $( DEPTH) ; pwd `
BASE64_ICON = dist/branding/fennec_maemo_icon26.txt
2010-01-06 10:37:59 -08:00
MOZ_DEB_TIMESTAMP = " $( shell date +"%a, %d %b %Y %T %z" ) "
2010-01-06 10:38:02 -08:00
MOZ_APP_BUILDID = " $( shell date +"%Y%m%d%H%M%S" ) "
2008-07-25 16:07:50 -07:00
2010-01-07 14:35:53 -08:00
i f d e f M O Z _ O F F I C I A L _ B R A N D I N G
DEB_PKG_VERSION = $( MOZ_APP_VERSION)
e l s e
# strip any "pre" part out of the version for deb
DEB_PKG_VERSION = $( shell echo $( MOZ_APP_VERSION) | $( PERL) -pe 's/pre//' ) ~$( MOZ_APP_BUILDID)
e n d i f
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
2009-10-27 12:07:11 -07:00
DEFINES += \
-DGRE_MILESTONE= $( GRE_MILESTONE) \
-DGRE_BUILDID= $( GRE_BUILDID) \
-Dinstalldir= $( installdir) \
-DMOZ_APP_NAME= $( MOZ_APP_NAME) \
-DMOZ_APP_DISPLAYNAME= $( MOZ_APP_DISPLAYNAME) \
2010-01-06 10:38:02 -08:00
-DMOZ_APP_BUILDID= $( MOZ_APP_BUILDID) \
2009-10-27 12:07:11 -07:00
-DMOZ_APP_VERSION= $( MOZ_APP_VERSION) \
2009-10-27 22:43:32 -07:00
-DABS_OBJDIR= $( ABS_OBJDIR) \
-DBASE64_ICON= $( BASE64_ICON) \
2010-01-06 10:37:59 -08:00
-DMOZ_DEB_TIMESTAMP= $( MOZ_DEB_TIMESTAMP) \
2010-01-07 14:35:53 -08:00
-DDEB_PKG_VERSION= $( DEB_PKG_VERSION) \
2009-10-27 12:07:11 -07:00
$( NULL)
2008-07-25 16:07:50 -07:00
2008-04-18 06:41:49 -07:00
NO_PKG_FILES = \
$( MOZ_APP_NAME) -config \
$( MOZ_APP_NAME) -bin.elf \
regchrome* \
regxpcom* \
xpcshell* \
xpidl* \
xpt_dump* \
xpt_link* \
bloaturls.txt \
run-mozilla.sh \
nsinstall \
$( NULL)
2009-08-12 00:10:45 -07:00
i f n d e f S Y S T E M _ L I B X U L
2009-04-08 12:45:14 -07:00
NO_PKG_FILES += xulrunner
e n d i f
2009-12-17 14:21:11 -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
2008-04-18 06:41:49 -07:00
i n c l u d e $( topsrcdir ) / c o n f i g / r u l e s . m k
i f n e q ( , $( filter mac cocoa ,$ ( MOZ_WIDGET_TOOLKIT ) ) )
_BINPATH = /$( _APPNAME) /Contents/Resources
e n d i f
2009-09-02 18:53:12 -07:00
i f n e q ( , $( filter mac cocoa ,$ ( MOZ_WIDGET_TOOLKIT ) ) )
PACKAGE_XULRUNNER =
UNPACKAGE =
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
2008-04-18 06:41:49 -07: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
2008-05-01 11:24:04 -07:00
DEBDESTDIR = debian/$( MOZ_APP_NAME)
2009-04-08 12:45:14 -07:00
package-xulrunner :
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)
2009-04-08 12:45:14 -07:00
e l s e
@echo "Using system xulrunner..."
e n d i f
2008-05-01 11:24:04 -07:00
i f e q ( $( OS_TARGET ) , L i n u x )
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)
$(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
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)
rm -rf $( DEBDESTDIR) /$( installdir) /xulrunner
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
2008-08-28 08:50:32 -07:00
dh_link; fakeroot dh_fixperms; fakeroot dh_installdeb; dh_shlibdeps; fakeroot dh_gencontrol; fakeroot dh_md5sums; dh_builddeb
2009-04-07 20:29:11 -07:00
installer : deb
@echo Installer DEB created!
2008-05-01 11:24:04 -07:00
e n d i f
2009-08-22 00:10:50 -07:00
i f d e f M O Z _ F A S T S T A R T
CABARGS += -faststart
e n d i f
2009-04-07 20:29:11 -07:00
2009-12-11 17:03:19 -08:00
i f e q ( $( OS_ARCH ) , W I N C E )
2009-04-07 20:29:11 -07:00
VSINSTALLDIR ?= $( error VSINSTALLDIR not set, must be set to the Visual Studio install directory)
2009-04-08 12:45:14 -07:00
UNPACKAGE = $( LIBXUL_DIST) /xulrunner*$( PKG_SUFFIX)
2009-04-09 18:42:28 -07:00
installer : stage -package package -xulrunner
2009-04-07 20:29:11 -07:00
$( NSINSTALL) -D $( DIST) /$( PKG_PATH)
2009-11-17 13:07:13 -08:00
$( NSINSTALL) $( srcdir) /../locales/$( AB_CD) /installer/setup.ini $( DIST)
2009-11-17 16:35:07 -08:00
cd $( DIST) && mv $( MOZ_PKG_DIR) /xulrunner/uninstall.exe $( MOZ_PKG_DIR) / && 7z a $( PKG_PATH) $( PKG_BASENAME) .7z $( MOZ_PKG_DIR) setup.ini -x!$( MOZ_PKG_DIR) /xulrunner/xulrunner-stub-installer.sfx && cat $( MOZ_PKG_DIR) /xulrunner/xulrunner-stub-installer.sfx $( PKG_PATH) $( PKG_BASENAME) .7z>$( PKG_PATH) $( PKG_BASENAME) .exe && rm $( PKG_PATH) $( PKG_BASENAME) .7z && rm setup.ini && $( ZIP) -r9D $( PACKAGE) $( MOZ_PKG_DIR)
2009-04-07 20:29:11 -07:00
e n d i f
2009-11-12 08:00:26 -08:00
# relative to $(DIST)
UPLOAD_EXTRA_FILES += ../mobile/$( DEB_PKG_NAME)