gecko-dev/xpfe/bootstrap/Makefile.in
seawood%netscape.com 57e08a3f3a Define WIN32_LEAN_AND_MEAN globally for win32 builds.
Thanks to Stephen Walker <walk84@yahoo.com> for the patch.
Bug #172898 r=cls a=asa
2002-10-17 06:47:01 +00:00

358 lines
7.7 KiB
Makefile

#
# The contents of this file are subject to the Netscape 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/NPL/
#
# 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 Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s):
#
DEPTH = ../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
include $(DEPTH)/config/autoconf.mk
# This code removes the console from release builds
# (unless you've set MOZ_WINCONSOLE=1).
ifndef MOZ_WINCONSOLE
ifdef MOZ_DEBUG
MOZ_WINCONSOLE=1
else
MOZ_WINCONSOLE=0
endif
endif
MODULE = apprunner
REQUIRES = xpcom \
xpconnect \
string \
webbrwsr \
widget \
dom \
necko \
pref \
appshell \
gfx \
chrome \
xpinstall \
uriloader \
view \
windowwatcher \
embed_base \
embedcomponents \
mpfilelocprovider \
browser \
docshell \
uconv \
locale \
xremoteservice \
profile \
$(NULL)
# for jprof
REQUIRES += jprof
ifeq ($(MOZ_WIDGET_TOOLKIT),os2)
REQUIRES += \
intl \
profile \
$(NULL)
endif
ifeq ($(MOZ_WIDGET_TOOLKIT),windows)
REQUIRES += intl profile appcomps
endif
include $(topsrcdir)/config/config.mk
ifeq ($(USE_SHORT_LIBNAME),1)
PROGRAM = mozilla$(BIN_SUFFIX)
else
PROGRAM = mozilla-bin$(BIN_SUFFIX)
endif
CPPSRCS = \
nsAppRunner.cpp \
nsWindowCreator.cpp \
showOSAlert.cpp \
$(NULL)
ifneq ($(OS_ARCH),WINNT)
CPPSRCS += nsSigHandlers.cpp
endif
XP_LIBS = \
$(EXTRA_DSO_LDOPTS) \
$(EXTRA_DSO_LIBS) \
$(NULL)
ifndef BUILD_STATIC_LIBS
EXTRA_DSO_LIBS += gkgfx mpfilelocprovider_s
ifdef MOZ_OJI
ifeq ($(OS_ARCH),WINNT)
EXTRA_DSO_LIBS += jsj$(MOZ_BITS)$(VERSION_NUMBER)
else
EXTRA_DSO_LIBS += jsj
endif
endif
else
include $(topsrcdir)/config/static-config.mk
EXTRA_DEPS += \
$(STATIC_EXTRA_DEPS) \
$(NULL)
DEFINES += $(STATIC_DEFINES)
CPPSRCS += $(STATIC_CPPSRCS)
EXTRA_DSO_LDOPTS+= -L$(DEPTH)/dist/lib/components
EXTRA_DSO_LIBS += $(STATIC_EXTRA_DSO_LIBS)
REQUIRES += $(STATIC_REQUIRES)
XP_LIBS += $(STATIC_EXTRA_LIBS)
endif
XP_LIBS += \
$(MOZ_JS_LIBS) \
$(XPCOM_LIBS) \
$(NSPR_LIBS) \
$(NULL)
ifdef NS_TRACE_MALLOC
DEFINES += -DNS_TRACE_MALLOC
endif
ifdef MOZ_JPROF
XP_LIBS += -ljprof
endif
LIBS = $(XP_LIBS)
ifdef GC_LEAK_DETECTOR
LIBS += -lboehm
endif
ifeq ($(MOZ_WIDGET_TOOLKIT),beos)
BEOS_PROGRAM_RESOURCE = $(srcdir)/apprunner-beos.rsrc
CPPSRCS += nsNativeAppSupportBeOS.cpp
CPPSRCS += nsNativeAppSupportBase.cpp
endif
ifeq ($(MOZ_WIDGET_TOOLKIT),photon)
CPPSRCS += nsNativeAppSupportPh.cpp
LIBS += -lphexlib -lph
endif
ifeq ($(MOZ_WIDGET_TOOLKIT),os2)
CPPSRCS += nsNativeAppSupportOS2.cpp
CPPSRCS += nsNativeAppSupportBase.cpp
RESFILE = splashos2.res
endif
ifeq ($(MOZ_WIDGET_TOOLKIT),gtk)
SPLASH_XPM = $(srcdir)/splash.xpm
CPPSRCS += nsNativeAppSupportGtk.cpp \
nsNativeAppSupportBase.cpp
DEFINES += -DSPLASH_XPM=\"$(SPLASH_XPM)\"
LIBS += $(MOZ_GTK_LDFLAGS)
endif
ifeq ($(MOZ_WIDGET_TOOLKIT),windows)
RCINCLUDE = splash.rc
CPPSRCS += nsNativeAppSupportWin.cpp nsNativeAppSupportBase.cpp
OS_LIBS += comctl32.lib comdlg32.lib uuid.lib shell32.lib ole32.lib oleaut32.lib version.lib winspool.lib
endif
ifneq (,$(filter windows os2 gtk gtk2,$(MOZ_WIDGET_TOOLKIT)))
ifneq (,$(filter windows os2,$(MOZ_WIDGET_TOOLKIT)))
ICON_SUFFIX=.ico
else
ICON_SUFFIX=.xpm
endif
ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2)
ICON_DIR=gtk
else
ICON_DIR=$(MOZ_WIDGET_TOOLKIT)
endif
DESKTOP_ICONS = \
abcardWindow \
addressbookWindow \
bmPropsWindow \
bookmark-window \
calendar-window \
chatzilla-window \
downloadManager \
editorWindow \
findBookmarkWindow \
findHistoryWindow \
history-window \
jsconsoleWindow \
main-window \
messengerWindow \
msgcomposeWindow \
venkman-window \
winInspectorMain \
$(NULL)
ifeq ($(ICON_DIR),gtk)
DESKTOP_ICONS_SMALL=$(patsubst %,%16,$(DESKTOP_ICONS))
endif
DESKTOP_ICON_FILES = $(addsuffix $(ICON_SUFFIX), $(DESKTOP_ICONS) $(DESKTOP_ICONS_SMALL))
GARBAGE += $(addprefix $(DIST)/bin/chrome/icons/default/,$(DESKTOP_ICON_FILES))
libs:: $(addprefix icons/$(ICON_DIR)/,$(DESKTOP_ICON_FILES))
$(INSTALL) $^ $(DIST)/bin/chrome/icons/default
install:: $(addprefix icons/$(ICON_DIR)/,$(DESKTOP_ICON_FILES))
$(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(mozappdir)/chrome/icons/default
endif
ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
CMMSRCS += nsNativeAppSupportForCocoa.mm
LDFLAGS += \
-framework Cocoa \
$(NULL)
endif
ifeq ($(OS_ARCH),OS2)
ifdef BUILD_STATIC_LIBS
EXE_DEF_FILE = mozilla.def
endif
endif
include $(topsrcdir)/config/rules.mk
ifdef BUILD_STATIC_LIBS
include $(topsrcdir)/config/static-rules.mk
endif
ifeq ($(MOZ_WIDGET_TOOLKIT),gtk)
$(PROGRAM): $(SPLASH_XPM)
endif
ifeq ($(OS_ARCH),Darwin)
EXTRA_DSO_LDOPTS := $(subst -dynamiclib -install_name @executable_path/\$@ -compatibility_version 1 -current_version 1,-execute,$(EXTRA_DSO_LDOPTS))
ifdef BUILD_STATIC_LIBS
LDFLAGS += -framework QuickTime $(TK_LIBS)
endif
endif
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.
#
LDFLAGS += /HEAP:0x40000
endif
CXXFLAGS += $(MOZ_TOOLKIT_REGISTRY_CFLAGS)
LOCAL_INCLUDES = -I$(srcdir)
ifneq (,$(filter-out OS2 WINNT,$(OS_ARCH)))
mozilla.1: mozilla.man.in Makefile.in Makefile $(DEPTH)/config/autoconf.mk
@sed -e "s|\@bindir\@|${bindir}|" -e "s|\@libdir\@|${libdir}|" \
-e "s|\@mozilla_version\@|${MOZILLA_VERSION}|" < $< > $@
libs:: mozilla.1
$(INSTALL) $< $(DIST)/man/man1
install:: mozilla.1
$(SYSINSTALL) $(IFLAGS1) $< $(DESTDIR)$(mandir)/man1
MOZILLA_SCRIPT=mozilla
$(MOZILLA_SCRIPT):: mozilla.in Makefile.in Makefile $(DEPTH)/config/autoconf.mk
cat $< | sed -e "s|%MOZAPPDIR%|$(mozappdir)|" \
-e "s|%MREDIR%|$(mredir)|" \
-e "s|mozilla-bin|$(PROGRAM)|g" > $@
chmod +x $@
libs:: $(MOZILLA_SCRIPT)
$(INSTALL) $< $(DIST)/bin
install:: $(MOZILLA_SCRIPT)
$(SYSINSTALL) $(IFLAGS2) $< $(DESTDIR)$(bindir)
GARBAGE += mozilla.1 $(MOZILLA_SCRIPT)
endif
ifeq ($(MOZ_WIDGET_TOOLKIT),photon)
libs:: $(srcdir)/splash.bmp
$(INSTALL) $< $(DIST)/bin
endif
ifeq ($(OS_ARCH),OS2)
ifdef BUILD_STATIC_LIBS
$(EXE_DEF_FILE):
rm -f $@
@echo NAME mozilla >$(EXE_DEF_FILE)
@echo IMPORTS >>$(EXE_DEF_FILE)
@echo WinQueryProperty = PMMERGE.5450 >>$(EXE_DEF_FILE)
@echo WinRemoveProperty = PMMERGE.5451 >>$(EXE_DEF_FILE)
@echo WinSetProperty = PMMERGE.5452 >>$(EXE_DEF_FILE)
@echo DaxOpenSave = PMCTLS.295 >>$(EXE_DEF_FILE)
endif
endif
ifeq ($(MOZ_REORDER),1)
LDSCRIPT = ldscript
LDFLAGS += -Wl,-T,$(LDSCRIPT)
GARBAGE += $(LDSCRIPT)
ORDERFILE = $(srcdir)/mozilla-bin.order
$(PROGRAM) : $(LDSCRIPT) $(ORDERFILE)
$(LDSCRIPT): $(ORDERFILE)
$(PERL) $(topsrcdir)/config/mklinkscript.pl -o $@ $<
endif
ifneq (,$(filter mac cocoa,$(MOZ_WIDGET_TOOLKIT)))
ifdef MOZ_DEBUG
APP_NAME = MozillaDebug
else
APP_NAME = Mozilla
endif
libs:: $(PROGRAM)
rm -rf $(DIST)/$(APP_NAME).app
mkdir $(DIST)/$(APP_NAME).app
cp -R $(srcdir)/macbuild/Contents $(DIST)/$(APP_NAME).app
cp -RL $(DIST)/bin $(DIST)/$(APP_NAME).app/Contents/MacOS
cp -RL $(srcdir)/macbuild/mach.icns $(DIST)/$(APP_NAME).app/Contents/Resources/mach.icns
echo APPLMOZZ > $(DIST)/$(APP_NAME).app/Contents/PkgInfo
endif
libs::
touch $(DIST)/bin/.autoreg
echo_objs:
@echo $(OBJS)