mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-12 14:37:50 +00:00
269 lines
6.0 KiB
Makefile
269 lines
6.0 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
|
|
|
|
include $(topsrcdir)/config/config.mk
|
|
|
|
MODULE = apprunner
|
|
REQUIRES = xpcom string webbrwsr widget dom necko pref appshell layout chrome rdf xpinstall uriloader editor view windowwatcher embed_base embedcomponents mpfilelocprovider browser mozcomps docshell xremoteservice
|
|
# for jprof
|
|
REQUIRES += jprof
|
|
|
|
ifeq ($(USE_SHORT_LIBNAME),1)
|
|
PROGRAM = mozilla$(BIN_SUFFIX)
|
|
else
|
|
PROGRAM = mozilla-bin
|
|
endif
|
|
|
|
ifdef BUILD_STATIC_LIBS
|
|
ifeq ($(OS_ARCH),OS2)
|
|
EXTRA_DSO_LIBS = $(addprefix lib,$(shell cat $(FINAL_LINK_COMPS) $(FINAL_LINK_LIBS)))
|
|
EXTRA_DSO_LIBS += mpfilelocprovider_s
|
|
EXTRA_DSO_LDOPTS += libuls.lib libconv.lib unikbd.lib
|
|
_COMPONENT_LIST := $(shell cat $(FINAL_LINK_COMP_NAMES))
|
|
else
|
|
EXTRA_DSO_LDOPTS = -L$(DEPTH)/dist/lib/components
|
|
EXTRA_DSO_LIBS = $(shell cat $(FINAL_LINK_COMPS) $(FINAL_LINK_LIBS))
|
|
_COMPONENT_LIST := $(shell cat $(FINAL_LINK_COMP_NAMES))
|
|
endif
|
|
else
|
|
EXTRA_DSO_LIBS = gkgfx mpfilelocprovider_s
|
|
endif
|
|
|
|
|
|
CPPSRCS = \
|
|
nsAppRunner.cpp \
|
|
nsSetupRegistry.cpp \
|
|
nsWindowCreator.cpp \
|
|
nsSigHandlers.cpp \
|
|
showOSAlert.cpp \
|
|
$(NULL)
|
|
|
|
XP_LIBS = \
|
|
$(EXTRA_DSO_LDOPTS) \
|
|
$(EXTRA_DSO_LIBS) \
|
|
$(NULL)
|
|
|
|
ifndef BUILD_STATIC_LIBS
|
|
XP_LIBS += \
|
|
$(MOZ_JS_LIBS) \
|
|
$(NULL)
|
|
else
|
|
CPPSRCS += nsStaticComponents.cpp
|
|
|
|
XP_LIBS += \
|
|
$(PNG_LIBS) \
|
|
$(MNG_LIBS) \
|
|
$(JPEG_LIBS) \
|
|
$(ZLIB_LIBS) \
|
|
$(MOZ_GDK_PIXBUF_LIBS) \
|
|
$(MOZ_XIE_LIBS) \
|
|
$(MOZ_XPRINT_LDFLAGS) \
|
|
$(NULL)
|
|
|
|
ifdef MOZ_PSM
|
|
XP_LIBS += \
|
|
$(NSS_LIBS) \
|
|
$(NULL)
|
|
endif
|
|
|
|
ifdef MOZ_LDAP_XPCOM
|
|
ifeq ($(OS_ARCH),OS2)
|
|
# link with import ldap libs on os/2
|
|
XP_LIBS += \
|
|
$(DIST)/lib/ldap40.lib \
|
|
$(DIST)/lib/lber40.lib \
|
|
$(NULL)
|
|
else
|
|
XP_LIBS += \
|
|
-lldap40 -llber40 \
|
|
$(NULL)
|
|
endif
|
|
endif
|
|
|
|
ifdef MOZ_ENABLE_GTK
|
|
XP_LIBS += $(XLDFLAGS) -lXt
|
|
endif
|
|
|
|
endif
|
|
|
|
XP_LIBS += \
|
|
$(XPCOM_LIBS) \
|
|
$(OJI_LIBS) \
|
|
$(NSPR_LIBS) \
|
|
$(NULL)
|
|
|
|
ifdef MOZ_ENABLE_PHOTON
|
|
XP_LIBS += $(TK_LIBS)
|
|
endif
|
|
|
|
ifdef MOZ_MONOLITHIC_TOOLKIT
|
|
XP_LIBS += $(TK_LIBS)
|
|
endif
|
|
|
|
ifdef NS_TRACE_MALLOC
|
|
DEFINES += -DNS_TRACE_MALLOC
|
|
endif
|
|
|
|
ifdef MOZ_JPROF
|
|
XP_LIBS += -ljprof
|
|
endif
|
|
|
|
ifdef MOZ_OJI
|
|
ifeq ($(MOZ_OS2_TOOLS),VACPP)
|
|
OJI_LIBS = $(DIST)/lib/jsj.lib
|
|
else
|
|
OJI_LIBS = -ljsj
|
|
endif
|
|
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
|
|
endif
|
|
|
|
ifeq ($(MOZ_WIDGET_TOOLKIT),os2)
|
|
CPPSRCS += nsNativeAppSupportOS2.cpp
|
|
CPPSRCS += nsNativeAppSupportBase.cpp
|
|
OS2_PROGRAM_RESOURCE = $(srcdir)/splashos2.rc
|
|
endif
|
|
|
|
#ifeq ($(MOZ_WIDGET_TOOLKIT),gtk)
|
|
#CPPSRCS += nsNativeAppSupportGtk.cpp
|
|
LIBS += $(MOZ_GTK_LDFLAGS)
|
|
#endif
|
|
|
|
XP_DIST_DEP_LIBS := $(filter-out -L$(DIST)/bin -L$(DIST)/lib, $(XP_DIST_LIBS))
|
|
|
|
ifeq ($(OS_ARCH),OS2)
|
|
ifdef BUILD_STATIC_LIBS
|
|
EXE_DEF_FILE = mozilla.def
|
|
endif
|
|
else
|
|
EXTRA_DEPS = \
|
|
$(addprefix $(DIST)/,$(patsubst -l%,bin/lib%$(DLL_SUFFIX),$(XP_DIST_DEP_LIBS:-l%_s=lib/lib%_s.a))) \
|
|
$(NULL)
|
|
|
|
ifdef BUILD_STATIC_LIBS
|
|
EXTRA_DEPS += $(FINAL_LINK_COMPS) $(FINAL_LINK_LIBS) $(addsuffix .$(LIB_SUFFIX),$(addprefix $(DIST)/lib/components/lib,$(shell cat $(FINAL_LINK_COMPS)))) $(addsuffix .$(LIB_SUFFIX),$(addprefix $(DIST)/lib/lib,$(shell cat $(FINAL_LINK_LIBS))))
|
|
endif
|
|
endif
|
|
|
|
include $(topsrcdir)/config/rules.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
|
|
|
|
# Set link flags according to whether we want a console.
|
|
ifeq ($(MOZ_WINCONSOLE),1)
|
|
ifeq ($(MOZ_OS2_TOOLS),EMX)
|
|
BIN_FLAGS := -Zlinker /PM:VIO -Zlinker /Stack:0x30000
|
|
endif
|
|
else
|
|
ifeq ($(MOZ_OS2_TOOLS),VACPP)
|
|
LDFLAGS += /PM:PM
|
|
endif
|
|
ifeq ($(MOZ_OS2_TOOLS),EMX)
|
|
BIN_FLAGS := -Zlinker /PM:PM -Zlinker /Stack:0x30000
|
|
endif
|
|
endif
|
|
|
|
ifdef BUILD_STATIC_LIBS
|
|
DEFINES += -D_BUILD_STATIC_BIN=1
|
|
endif
|
|
|
|
CXXFLAGS += $(MOZ_TOOLKIT_REGISTRY_CFLAGS)
|
|
|
|
ifneq ($(MOZ_WIDGET_TOOLKIT),os2)
|
|
install:: $(srcdir)/mozilla
|
|
$(INSTALL) $< $(DIST)/bin
|
|
endif
|
|
|
|
ifeq ($(MOZ_WIDGET_TOOLKIT),photon)
|
|
install:: $(srcdir)/splash.bmp
|
|
$(INSTALL) $< $(DIST)/bin
|
|
endif
|
|
|
|
ifeq ($(MOZ_WIDGET_TOOLKIT),gtk)
|
|
install:: $(srcdir)/splash.xpm
|
|
$(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
|
|
|
|
nsStaticComponents.cpp: nsStaticComponents.cpp.in Makefile Makefile.in $(FINAL_LINK_COMP_NAMES)
|
|
rm -f $@
|
|
cat $< | \
|
|
sed -e "s|%DECL_NSGETMODULES%|$(foreach m,$(_COMPONENT_LIST),DECL_NSGETMODULE($(m)))|" | \
|
|
sed -e "s|%MODULE_LIST%|$(foreach m, $(_COMPONENT_LIST),MODULE($(m)),)|" \
|
|
> $@
|
|
|