# ***** BEGIN LICENSE BLOCK *****
# Version: Mozilla-sample-code 1.0
#
# Copyright (c) 2002 Netscape Communications Corporation and
# other contributors
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this Mozilla sample software and associated documentation files
# (the "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to permit
# persons to whom the Software is furnished to do so, subject to the
# following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
#
# Contributor(s):
#
# ***** END LICENSE BLOCK *****

DEPTH		= ../../..
topsrcdir	= ../../..
srcdir		= .
VPATH		= .

include $(DEPTH)/config/autoconf.mk

PROGRAM		= mfcembed$(BIN_SUFFIX)
RESFILE		= MfcEmbed.res

MODULE = mfcEmbed
PACKAGE_FILE = mfcembed.pkg

# comment this out if for some reason you want to link against xpcom
# directly instead of using the standalone glue
ifndef BUILD_STATIC_LIBS
GRE_BUILD = 1
endif

ifdef GRE_BUILD
DEFINES   += -DXPCOM_GLUE
endif

REQUIRES = \
	xpcom_obsolete \
	xpcom \
	string \
	necko \
	webbrwsr \
	widget \
	docshell \
	dom \
	uriloader \
	embed_base \
	webshell \
	shistory \
	pref \
	profile \
	profdirserviceprovider \
	find \
	gfx \
	windowwatcher \
	layout \
	webbrowserpersist \
	composer \
	commandhandler \
	imglib2 \
	webbrwsr \
	editor \
	$(NULL)

ifdef NS_TRACE_MALLOC
REQUIRES	+= tracemalloc
endif

ifdef MOZ_PROFILESHARING
REQUIRES	+= profilesharingsetup
endif

CPPSRCS		= \
		CCustomPromptDialog.cpp     \
		CMarginHeaderFooter.cpp     \
		CFormatOptionTab.cpp     \
		CPageSetupPropSheet.cpp     \
		MfcEmbed.cpp     \
		BrowserFrm.cpp   \
		EditorFrm.cpp 	\
		BrowserFrameGlue.cpp   \
		BrowserView.cpp \
		BrowserImpl.cpp \
		BrowserImplWebPrgrsLstnr.cpp \
		BrowserImplCtxMenuLstnr.cpp \
		BrowserToolTip.cpp \
		Dialogs.cpp       \
		ProfileMgr.cpp \
		ProfilesDlg.cpp \
		winEmbedFileLocProvider.cpp \
		MostRecentUrls.cpp \
		Preferences.cpp \
		StdAfx.cpp       \
		$(NULL)

EXTRA_DSO_LIBS	= embed_base_s profdirserviceprovider_s

ifdef NS_TRACE_MALLOC
EXTRA_DSO_LIBS	+= tracemalloc
endif

LIBS		= \
		$(EXTRA_DSO_LIBS) \
		$(MOZ_UNICHARUTIL_LIBS) \
		$(NULL)

ifdef GRE_BUILD
LIBS += \
		 $(DIST)/lib/$(LIB_PREFIX)xpcomglue.$(LIB_SUFFIX) \
		 $(DIST)/lib/$(LIB_PREFIX)string_s.$(LIB_SUFFIX) \
		 $(NULL)
else
LIBS += $(XPCOM_LIBS)
ifdef BUILD_STATIC_LIBS
LIBS += $(MOZ_JS_LIBS)
endif
endif

LIBS += $(NSPR_LIBS)

OS_LIBS		+= \
		ole32.lib \
		comdlg32.lib \
		shell32.lib \
		version.lib \
		$(NULL)

LOCAL_INCLUDES	= -I$(srcdir)/components

#
# 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.
#
LDFLAGS += /HEAP:0x40000


include $(topsrcdir)/config/config.mk

# Force applications to be built non-statically
# when building the mozcomps meta component
ifneq (,$(filter mozcomps,$(MOZ_META_COMPONENTS)))
BUILD_STATIC_LIBS=
BUILD_SHARED_LIBS=1
endif

ifdef BUILD_STATIC_LIBS

include $(topsrcdir)/config/static-config.mk

EXTRA_DEPS     += $(STATIC_EXTRA_DEPS)
EXTRA_DSO_LIBS += $(STATIC_EXTRA_DSO_LIBS)
ifneq ($(OS_ARCH),WINNT)
EXTRA_LIBS     += -L$(DEPTH)/dist/lib/components
endif # !WINNT
EXTRA_LIBS     += $(EXTRA_DSO_LIBS) $(STATIC_EXTRA_LIBS)
DEFINES        += $(STATIC_DEFINES)
CPPSRCS        += $(STATIC_CPPSRCS)

endif # BUILD_STATIC_LIBS


include $(topsrcdir)/config/rules.mk


ifdef BUILD_STATIC_LIBS
include $(topsrcdir)/config/static-rules.mk
endif # BUILD_STATIC_LIBS

# UNICODE
ifdef BUILD_UNICODE_MFCEMBED
CXXFLAGS        += /D "_UNICODE"
LDFLAGS         += /ENTRY:wWinMainCRTStartup
endif

CXXFLAGS	+= /D "_AFXDLL" /D "USE_SINGLE_SIGN_ON" -DMOZILLA_VERSION=\"$(MOZILLA_VERSION)\"
LDFLAGS		+= /SUBSYSTEM:windows

libs:: mfcembed.htm
	$(INSTALL) $^ $(DIST)/bin

install:: mfcembed.htm
	$(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(mozappdir)

