184 строки
4.2 KiB
Makefile
184 строки
4.2 KiB
Makefile
# 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/.
|
|
|
|
STANDALONE_MAKEFILE := 1
|
|
|
|
include $(moztopsrcdir)/config/rules.mk
|
|
|
|
MOZ_PKG_REMOVALS = $(srcdir)/removed-files.in
|
|
|
|
MOZ_PKG_MANIFEST = $(srcdir)/package-manifest.in
|
|
# Some files have been already bundled with xulrunner
|
|
ifndef SYSTEM_LIBXUL
|
|
MOZ_PKG_FATAL_WARNINGS = 1
|
|
endif
|
|
|
|
DEFINES += -DPKG_LOCALE_MANIFEST=$(topobjdir)/im/installer/locale-manifest.in
|
|
MOZ_CHROME_LOCALE_ENTRIES=@RESPATH@/chrome/
|
|
|
|
MOZ_PKG_DUPEFLAGS = \
|
|
-f $(srcdir)/allowed-dupes.mn \
|
|
-f $(commtopsrcdir)/mail/installer/allowed-dupes.mn \
|
|
-f $(moztopsrcdir)/browser/installer/allowed-dupes.mn \
|
|
$(NULL)
|
|
|
|
MOZ_NONLOCALIZED_PKG_LIST = \
|
|
xpcom \
|
|
im \
|
|
$(NULL)
|
|
|
|
MOZ_LOCALIZED_PKG_LIST = $(AB_CD)
|
|
|
|
DEFINES += -DMOZ_APP_NAME=$(MOZ_APP_NAME) -DPREF_DIR=$(PREF_DIR)
|
|
|
|
ifdef MOZ_DEBUG
|
|
DEFINES += -DMOZ_DEBUG=1
|
|
endif
|
|
|
|
ifneq (,$(filter gtk%,$(MOZ_WIDGET_TOOLKIT)))
|
|
DEFINES += -DMOZ_GTK=1
|
|
ifeq ($(MOZ_WIDGET_TOOLKIT),gtk3)
|
|
DEFINES += -DMOZ_GTK3=1
|
|
endif
|
|
endif
|
|
|
|
ifdef _MSC_VER
|
|
DEFINES += -D_MSC_VER=$(_MSC_VER)
|
|
endif
|
|
|
|
ifdef MOZ_SYSTEM_NSPR
|
|
DEFINES += -DMOZ_SYSTEM_NSPR=1
|
|
endif
|
|
|
|
ifdef MOZ_SYSTEM_NSS
|
|
DEFINES += -DMOZ_SYSTEM_NSS=1
|
|
endif
|
|
|
|
ifdef NSS_DISABLE_DBM
|
|
DEFINES += -DNSS_DISABLE_DBM=1
|
|
endif
|
|
|
|
DEFINES += -DJAREXT=
|
|
|
|
ifdef MOZ_ANGLE_RENDERER
|
|
DEFINES += -DMOZ_ANGLE_RENDERER=$(MOZ_ANGLE_RENDERER)
|
|
ifdef MOZ_D3DCOMPILER_VISTA_DLL
|
|
DEFINES += -DMOZ_D3DCOMPILER_VISTA_DLL=$(MOZ_D3DCOMPILER_VISTA_DLL)
|
|
endif
|
|
endif
|
|
|
|
ifdef MOZ_UPDATER
|
|
DEFINES += -DMOZ_UPDATER=1
|
|
endif
|
|
|
|
DEFINES += -DMOZ_CHILD_PROCESS_NAME=$(MOZ_CHILD_PROCESS_NAME)
|
|
|
|
# Set MSVC dlls version to package, if any.
|
|
ifdef MOZ_NO_DEBUG_RTL
|
|
ifdef WIN32_REDIST_DIR
|
|
DEFINES += -DMOZ_PACKAGE_MSVC_DLLS=1
|
|
DEFINES += -DMSVC_C_RUNTIME_DLL=$(MSVC_C_RUNTIME_DLL)
|
|
DEFINES += -DMSVC_CXX_RUNTIME_DLL=$(MSVC_CXX_RUNTIME_DLL)
|
|
endif
|
|
ifdef WIN_UCRT_REDIST_DIR
|
|
DEFINES += -DMOZ_PACKAGE_WIN_UCRT_DLLS=1
|
|
endif
|
|
endif
|
|
|
|
ifneq (,$(filter WINNT Darwin Android,$(OS_TARGET)))
|
|
DEFINES += -DMOZ_SHARED_MOZGLUE=1
|
|
endif
|
|
|
|
ifdef NECKO_WIFI
|
|
DEFINES += -DNECKO_WIFI
|
|
endif
|
|
|
|
ifdef MOZ_PURPLE
|
|
DEFINES += -DMOZ_PURPLE
|
|
endif
|
|
|
|
ifdef MAKENSISU
|
|
DEFINES += -DHAVE_MAKENSISU=1
|
|
endif
|
|
|
|
ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
|
|
MOZ_PKG_MAC_DSSTORE=branding/dsstore
|
|
MOZ_PKG_MAC_BACKGROUND=branding/background.png
|
|
MOZ_PKG_MAC_ICON=branding/disk.icns
|
|
MOZ_PKG_MAC_EXTRA=--symlink "/Applications:/ "
|
|
endif
|
|
|
|
NON_OMNIJAR_FILES =
|
|
|
|
GENERATE_CACHE=1
|
|
|
|
include $(moztopsrcdir)/toolkit/mozapps/installer/signing.mk
|
|
include $(moztopsrcdir)/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)
|
|
|
|
ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
|
|
RESPATH = $(_APPNAME)/Contents/Resources
|
|
else
|
|
RESPATH = $(BINPATH)
|
|
endif
|
|
DEFINES += -DRESPATH=$(RESPATH)
|
|
|
|
LPROJ_ROOT = $(firstword $(subst -, ,$(AB_CD)))
|
|
ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
|
|
ifeq (zh-TW,$(AB_CD))
|
|
LPROJ_ROOT := $(subst -,_,$(AB_CD))
|
|
endif
|
|
endif
|
|
DEFINES += -DLPROJ_ROOT=$(LPROJ_ROOT)
|
|
|
|
ifdef MOZ_SYSTEM_ICU
|
|
DEFINES += -DMOZ_SYSTEM_ICU
|
|
endif
|
|
|
|
ifdef CLANG_CXX
|
|
DEFINES += -DCLANG_CXX
|
|
endif
|
|
ifdef CLANG_CL
|
|
DEFINES += -DCLANG_CL
|
|
endif
|
|
|
|
libs::
|
|
$(MAKE) -C $(DEPTH)/im/locales langpack
|
|
|
|
ifeq (WINNT,$(OS_ARCH))
|
|
PKGCOMP_FIND_OPTS =
|
|
else
|
|
PKGCOMP_FIND_OPTS = -L
|
|
endif
|
|
ifeq (Darwin, $(OS_ARCH))
|
|
FINDPATH = $(_APPNAME)/Contents/MacOS
|
|
else
|
|
FINDPATH=bin
|
|
endif
|
|
|
|
package-compare:: $(MOZ_PKG_MANIFEST)
|
|
cd $(DIST); find $(PKGCOMP_FIND_OPTS) $(FINDPATH) -type f | sort > bin-list.txt
|
|
$(call py_action,preprocessor,$(DEFINES) $(ACDEFINES) $(MOZ_PKG_MANIFEST)) | grep '^$(BINPATH)' | sed -e 's/^\///' | sort > $(DIST)/pack-list.txt
|
|
-diff -u $(DIST)/pack-list.txt $(DIST)/bin-list.txt
|
|
rm -f $(DIST)/pack-list.txt $(DIST)/bin-list.txt
|
|
|
|
installer::
|
|
ifdef INSTALLER_DIR
|
|
$(MAKE) -C $(INSTALLER_DIR)
|
|
endif
|
|
|
|
# The comm-* source stamp is already there.
|
|
PLATFORM_SOURCE_STAMP = $(firstword $(shell hg -R "$(moztopsrcdir)" parent --template="{node}\n" 2>/dev/null))
|
|
PLATFORM_SOURCE_REPO = $(shell hg -R "$(moztopsrcdir)" showconfig paths.default 2>/dev/null | sed -e "s/^ssh:/https:/")
|
|
make-sourcestamp-file::
|
|
@echo "$(PLATFORM_SOURCE_REPO)/rev/$(PLATFORM_SOURCE_STAMP)" >> $(MOZ_SOURCESTAMP_FILE)
|