# ***** 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.org code. # # The Initial Developer of the Original Code is # Netscape Communications. # Portions created by the Initial Developer are Copyright (C) 2001 # the Initial Developer. All Rights Reserved. # # Contributor(s): # Brian Ryner # Jonathan Wilson # Dan Mosedale # Benjamin Smedberg # Jared Wein # # 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@ include $(DEPTH)/config/autoconf.mk DIRS = profile/extensions PREF_JS_EXPORTS = $(srcdir)/profile/firefox.js \ $(srcdir)/profile/channel-prefs.js \ $(NULL) # hardcode en-US for the moment AB_CD = en-US DEFINES += \ -DAB_CD=$(AB_CD) \ -DAPP_VERSION="$(MOZ_APP_VERSION)" \ -DFIREFOX_ICO=\"$(DIST)/branding/firefox.ico\" \ -DDOCUMENT_ICO=\"$(DIST)/branding/document.ico\" \ $(NULL) ifdef LIBXUL_SDK include $(topsrcdir)/config/rules.mk else # Build a binary bootstrapping with XRE_main PROGRAM = $(MOZ_APP_NAME)$(BIN_SUFFIX) CPPSRCS = nsBrowserApp.cpp LOCAL_INCLUDES += \ -I$(topsrcdir)/toolkit/xre \ -I$(topsrcdir)/xpcom/base \ -I$(topsrcdir)/xpcom/build \ -I$(DEPTH)/build \ $(NULL) DEFINES += -DXPCOM_GLUE STL_FLAGS= LIBS += \ $(EXTRA_DSO_LIBS) \ $(XPCOM_STANDALONE_GLUE_LDOPTS) \ $(NULL) ifdef MOZ_LINKER LIBS += $(ZLIB_LIBS) endif ifndef MOZ_WINCONSOLE ifdef MOZ_DEBUG MOZ_WINCONSOLE = 1 else MOZ_WINCONSOLE = 0 endif endif # This switches $(INSTALL) to copy mode, like $(SYSINSTALL), so things that # shouldn't get 755 perms need $(IFLAGS1) for either way of calling nsinstall. NSDISTMODE = copy include $(topsrcdir)/config/config.mk ifdef _MSC_VER # Always enter a Windows program through wmain, whether or not we're # a console application. WIN32_EXE_LDFLAGS += -ENTRY:wmainCRTStartup endif ifeq ($(OS_ARCH),WINNT) RCINCLUDE = splash.rc ifndef GNU_CC RCFLAGS += -DMOZ_PHOENIX -I$(srcdir) else RCFLAGS += -DMOZ_PHOENIX --include-dir $(srcdir) endif endif ifeq ($(OS_ARCH),OS2) RESFILE=splashos2.res RCFLAGS += -DMOZ_PHOENIX RCFLAGS += -DFIREFOX_ICO=\"$(DIST)/branding/firefox-os2.ico\" -DDOCUMENT_ICO=\"$(DIST)/branding/document-os2.ico\" endif include $(topsrcdir)/config/rules.mk ifeq ($(OS_ARCH),WINNT) # # Control the default heap size. # This is the heap returned by GetProcessHeap(). # As we use the CRT heap, the default size is too large and wastes VM. # # The default heap size is 1MB on Win32. # The heap will grow if need be. # # Set it to 256k. See bug 127069. # ifndef GNU_CC LDFLAGS += /HEAP:0x40000 ifeq ($(OS_TEST),x86_64) # set stack to 2MB on x64 build. See bug 582910 LDFLAGS += -STACK:2097152 endif endif endif ifneq (,$(filter-out OS2 WINNT,$(OS_ARCH))) libs:: cp -p $(MOZ_APP_NAME)$(BIN_SUFFIX) $(DIST)/bin/$(MOZ_APP_NAME)-bin$(BIN_SUFFIX) GARBAGE += $(addprefix $(DIST)/bin/defaults/pref/, firefox.js) endif endif # LIBXUL_SDK ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2) libs:: $(INSTALL) $(IFLAGS1) $(DIST)/branding/mozicon128.png $(DIST)/bin/icons $(INSTALL) $(IFLAGS1) $(DIST)/branding/default16.png $(DIST)/bin/chrome/icons/default $(INSTALL) $(IFLAGS1) $(DIST)/branding/default32.png $(DIST)/bin/chrome/icons/default $(INSTALL) $(IFLAGS1) $(DIST)/branding/default48.png $(DIST)/bin/chrome/icons/default endif libs:: $(srcdir)/profile/prefs.js $(INSTALL) $(IFLAGS1) $^ $(DIST)/bin/defaults/profile libs:: $(srcdir)/blocklist.xml $(INSTALL) $(IFLAGS1) $^ $(DIST)/bin ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT)) MAC_APP_NAME = $(MOZ_APP_DISPLAYNAME) ifdef MOZ_DEBUG MAC_APP_NAME := $(MAC_APP_NAME)Debug endif LOWER_MAC_APP_NAME = $(shell echo $(MAC_APP_NAME) | tr '[A-Z]' '[a-z]') AB_CD = $(MOZ_UI_LOCALE) AB := $(firstword $(subst -, ,$(AB_CD))) clean clobber repackage:: $(RM) -r $(DIST)/$(MOZ_MACBUNDLE_NAME) ifdef LIBXUL_SDK APPFILES = Resources else APPFILES = MacOS endif libs repackage:: $(PROGRAM) $(MKDIR) -p $(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/MacOS rsync -a --exclude "*.in" $(srcdir)/macbuild/Contents $(DIST)/$(MOZ_MACBUNDLE_NAME) --exclude English.lproj $(MKDIR) -p $(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/Resources/$(AB).lproj rsync -a --exclude "*.in" $(srcdir)/macbuild/Contents/Resources/English.lproj/ $(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/Resources/$(AB).lproj sed -e "s/%APP_VERSION%/$(MOZ_APP_VERSION)/" -e "s/%MAC_APP_NAME%/$(MAC_APP_NAME)/" -e "s/%LOWER_MAC_APP_NAME%/$(LOWER_MAC_APP_NAME)/" $(srcdir)/macbuild/Contents/Info.plist.in > $(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/Info.plist sed -e "s/%MAC_APP_NAME%/$(MAC_APP_NAME)/" $(srcdir)/macbuild/Contents/Resources/English.lproj/InfoPlist.strings.in | iconv -f UTF-8 -t UTF-16 > $(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/Resources/$(AB).lproj/InfoPlist.strings rsync -a $(DIST)/bin/ $(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/$(APPFILES) ifdef LIBXUL_SDK cp $(LIBXUL_DIST)/bin/$(XR_STUB_NAME) $(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/MacOS/firefox else $(RM) $(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/MacOS/$(PROGRAM) rsync -aL $(PROGRAM) $(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/MacOS endif cp -RL $(DIST)/branding/firefox.icns $(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/Resources/firefox.icns cp -RL $(DIST)/branding/document.icns $(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/Resources/document.icns printf APPLMOZB > $(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/PkgInfo else ifdef LIBXUL_SDK libs:: cp $(LIBXUL_DIST)/bin/$(XULRUNNER_STUB_NAME)$(BIN_SUFFIX) $(DIST)/bin/firefox$(BIN_SUFFIX) endif endif ifdef LIBXUL_SDK ifndef SKIP_COPY_XULRUNNER libs:: ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT)) rsync -a --copy-unsafe-links $(LIBXUL_DIST)/XUL.framework $(DIST)/$(MOZ_MACBUNDLE_NAME)/Contents/Frameworks else $(NSINSTALL) -D $(DIST)/bin/xulrunner (cd $(LIBXUL_SDK)/bin && tar $(TAR_CREATE_FLAGS) - .) | (cd $(DIST)/bin/xulrunner && tar -xf -) endif # cocoa endif # SKIP_COPY_XULRUNNER endif # LIBXUL_SDK