webapprt/win/Makefile.in
author Ryan VanderMeulen <ryanvm@gmail.com>
Tue, 30 Apr 2013 10:08:38 -0400
changeset 130338 b2c7297fe7ed8ab6deeda3e48765d9edc3897b44
parent 130334 64c7ba1d3d0457e8d75e4b30550f5f8c8f0d9d63
child 130420 c7937fb5f4bbe90cbe8fd030e40d36eeb9f34fb9
permissions -rw-r--r--
Backed out changesets 64c7ba1d3d04 and 7e9d5bb4a9af (bug 862986) for test failures.

# 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

# Build a binary bootstrapping with XRE_main
PROGRAM   = webapprt-stub$(BIN_SUFFIX)

CPPSRCS   = webapprt.cpp

# Statically link against the CRT
USE_STATIC_LIBS = 1
# Don't create a dependency on mozglue, which is impossible (difficult?)
# to dynamically link into our executable, as we copy it to arbitrary locations.
MOZ_GLUE_LDFLAGS =

LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
LOCAL_INCLUDES += -I$(topsrcdir)/xpcom/base
LOCAL_INCLUDES += -I$(topsrcdir)/xpcom/build
LOCAL_INCLUDES += -I$(DEPTH)/build

DEFINES += -DXPCOM_GLUE
STL_FLAGS=

LIBS = \
  $(XPCOM_STANDALONE_STATICRUNTIME_GLUE_LDOPTS) \
  $(NULL)

ifndef MOZ_WINCONSOLE
ifdef MOZ_DEBUG
MOZ_WINCONSOLE = 1
else
MOZ_WINCONSOLE = 0
endif
endif

# Installer stuff
include $(topsrcdir)/toolkit/mozapps/installer/package-name.mk

CONFIG_DIR = instgen
SFX_MODULE = $(topsrcdir)/other-licenses/7zstub/firefox/7zSD.sfx
APP_VERSION := $(shell cat $(topsrcdir)/browser/config/version.txt)
DEFINES += -DAPP_VERSION=$(APP_VERSION)

ifdef _MSC_VER
# Always enter a Windows program through wmain, whether or not we're
# a console application.
WIN32_EXE_LDFLAGS += -ENTRY:wmainCRTStartup
endif

OS_LIBS += $(call EXPAND_LIBNAME,shell32)

RCINCLUDE = webapprt.rc
ifndef GNU_CC
RCFLAGS += -I$(srcdir)
else
RCFLAGS += --include-dir $(srcdir)
endif
ifdef DEBUG
RCFLAGS += -DDEBUG
endif

# Uninstaller
ifdef LOCALE_MERGEDIR
PPL_LOCALE_ARGS = \
  --l10n-dir=$(LOCALE_MERGEDIR)/webapprt/webapp-uninstaller \
  --l10n-dir=$(call EXPAND_LOCALE_SRCDIR,webapprt/locales)/webapp-uninstaller \
  --l10n-dir=$(topsrcdir)/webapprt/locales/en-US/webapp-uninstaller \
  $(NULL)
else
PPL_LOCALE_ARGS=$(call EXPAND_LOCALE_SRCDIR,webapprt/locales)/webapp-uninstaller
endif

libs::
	$(RM) -r $(CONFIG_DIR)
	$(MKDIR) $(CONFIG_DIR)
	$(PYTHON) $(topsrcdir)/config/Preprocessor.py -Fsubstitution \
		$(DEFINES) $(ACDEFINES) \
		$(srcdir)/webapp-uninstaller.nsi.in > $(CONFIG_DIR)/webapp-uninstaller.nsi
	$(PYTHON) \
		$(topsrcdir)/toolkit/mozapps/installer/windows/nsis/preprocess-locale.py \
		--create-nlf-file $(topsrcdir) $(AB_CD) $(CONFIG_DIR)
	$(PYTHON) \
		$(topsrcdir)/toolkit/mozapps/installer/windows/nsis/preprocess-locale.py \
		--preprocess-single-file $(topsrcdir) $(PPL_LOCALE_ARGS) $(CONFIG_DIR) \
		webapp-uninstaller.properties webapp-uninstaller-locale.nsh
	$(MAKE) webapp_uninstaller

GARBAGE_DIRS += instgen

PROGRAMS_DEST = $(DIST)/bin

include $(topsrcdir)/config/rules.mk
include $(topsrcdir)/toolkit/mozapps/installer/windows/nsis/makensis.mk

GRE_BUILDID := $(shell cat $(DEPTH)/config/buildid)
DEFINES += -DGRE_BUILDID=$(GRE_BUILDID)

webapprt.$(OBJ_SUFFIX): $(DEPTH)/config/buildid

# 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
endif