gecko-dev/xpfe/bootstrap/makefile.win

163 строки
4.2 KiB
Plaintext

#!nmake
#
# 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=..\..
MODULE = apprunner
REQUIRES = xpcom \
string \
webBrowser_core \
widget \
dom \
necko \
pref \
appshell \
chrome \
xpinstall \
xpicleanup \
uriloader \
view \
windowwatcher \
embed_base \
appstartup \
mpfilelocprovider \
mozbrwsr \
appcomps \
docshell \
gfx \
intl \
profile \
xpconnect \
$(NULL)
include <$(DEPTH)/config/config.mak>
DEFINES=-DWIN32_LEAN_AND_MEAN
!if defined(MOZ_STATIC_COMPONENT_LIBS) && !defined(MOZ_GECKO_DLL)
DEFINES=$(DEFINES) -D_BUILD_STATIC_BIN
EXTRA_LIBS_LIST_FILE=$(OBJDIR)\libs.txt
SEDCMDS=nsStaticComonents.cpp.sed
GARBAGE=$(GARBAGE) $(EXTRA_LIBS_LIST_FILE) $(SEDCMDS) nsStaticComponents.cpp
!endif
CPP_OBJS= \
.\$(OBJDIR)\nsAppRunner.obj \
.\$(OBJDIR)\nsSetupRegistry.obj \
.\$(OBJDIR)\nsWindowCreator.obj \
.\$(OBJDIR)\nsNativeAppSupportBase.obj \
.\$(OBJDIR)\nsNativeAppSupportWin.obj \
.\$(OBJDIR)\showOSAlert.obj \
!if defined(MOZ_STATIC_COMPONENT_LIBS) && !defined(MOZ_GECKO_DLL)
.\$(OBJDIR)\nsStaticComponents.obj \
!endif
$(NULL)
MAKE_OBJ_TYPE = EXE
PROGRAM = .\$(OBJDIR)\mozilla.exe
RESFILE = splash.res
LCFLAGS = \
$(LCFLAGS) \
$(DEFINES) \
$(NULL)
RCFLAGS = \
$(RCFLAGS) \
-I $(XPDIST)\include\appshell
# 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 subsystem type according to whether we want a console.
!if $(MOZ_WINCONSOLE)
LFLAGS= $(LFLAGS) /subsystem:console
!else
LFLAGS= $(LFLAGS) /subsystem:windows
!endif
# These are the libraries we need to link with to create the exe
LLIBS= \
$(DIST)\lib\xpcom.lib \
!ifndef DISABLE_LDAP
$(DIST)\lib\nsldap32v40.lib \
!endif
$(DIST)\lib\js3250.lib \
$(DIST)\lib\util.lib \
$(DIST)\lib\gkgfx.lib \
$(DIST)\lib\expat.lib \
$(DIST)\lib\png.lib \
$(DIST)\lib\mng.lib \
$(DIST)\lib\mpfilelocprovider_s.lib \
!ifdef GC_LEAK_DETECTOR
$(DIST)\lib\boehm.lib \
!endif
$(LIBNSPR) \
$(NULL)
WIN_LIBS= \
comctl32.lib \
comdlg32.lib \
Uuid.lib \
shell32.lib \
ole32.lib \
oleaut32.lib \
version.lib \
$(NULL)
include <$(DEPTH)\config\rules.mak>
!if defined(MOZ_STATIC_COMPONENT_LIBS) && !defined(MOZ_GECKO_DLL)
$(SEDCMDS): $(FINAL_LINK_COMP_NAMES)
rm -f $@
echo s/%DECL_NSGETMODULES%/\>> $@
sed -e "s/^/DECL_NSGETMODULE(/" -e "s/$$/)\\\/" $(FINAL_LINK_COMP_NAMES) >> $@
echo />> $@
echo s/%MODULE_LIST%/\>> $@
sed -e "s/^/MODULE(/" -e "s/$$/),\\\/" $(FINAL_LINK_COMP_NAMES) >> $@
echo />> $@
nsStaticComponents.cpp: nsStaticComponents.cpp.in $(FINAL_LINK_COMP_NAMES) $(SEDCMDS)
echo +++ make: Creating $@
rm -f $@
sed -f $(SEDCMDS) nsStaticComponents.cpp.in > $@
rm -f $(SEDCMDS)
$(EXTRA_LIBS_LIST_FILE): $(FINAL_LINK_COMPS) $(FINAL_LINK_LIBS)
echo +++ make: Creating list of link libraries: $@
rm -f $@
sed -e "s/^/$(DIST:\=\\\)\\\lib\\\/" -e "s/$$/.lib/" $(FINAL_LINK_COMPS) > $@
sed -e "s/^/$(DIST:\=\\\)\\\lib\\\/" -e "s/$$/.lib/" $(FINAL_LINK_LIBS) >> $@
!endif
libs:: $(PROGRAM)
$(MAKE_INSTALL) $(PROGRAM) $(DIST)\bin
clobber::
rm -f $(DIST)\bin\mozilla.exe