gecko-dev/xpfe/bootstrap/makefile.win

173 lines
5.1 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=..\..
include <$(DEPTH)/config/config.mak>
DEFINES=-DWIN32_LEAN_AND_MEAN
!ifdef MOZ_STATIC_COMPONENT_LIBS
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
CPPSRCS= \
nsAppRunner.cpp \
nsSetupRegistry.cpp \
nsWindowCreator.cpp \
nsNativeAppSupportBase.cpp \
nsNativeAppSupportWin.cpp \
showOSAlert.cpp \
!ifdef MOZ_STATIC_COMPONENT_LIBS
nsStaticComponents.cpp \
!endif
$(NULL)
CPP_OBJS= \
.\$(OBJDIR)\nsAppRunner.obj \
.\$(OBJDIR)\nsSetupRegistry.obj \
.\$(OBJDIR)\nsWindowCreator.obj \
.\$(OBJDIR)\nsNativeAppSupportBase.obj \
.\$(OBJDIR)\nsNativeAppSupportWin.obj \
.\$(OBJDIR)\showOSAlert.obj \
!ifdef MOZ_STATIC_COMPONENT_LIBS
.\$(OBJDIR)\nsStaticComponents.obj \
!endif
$(NULL)
LINCS=-I$(PUBLIC)\raptor \
-I$(PUBLIC)\xpcom \
-I$(PUBLIC)\base \
-I$(PUBLIC)\necko \
-I$(PUBLIC)\pref \
-I$(PUBLIC)\js \
-I$(PUBLIC)\dom \
-I$(PUBLIC)\pref \
-I$(PUBLIC)\profile \
-I$(PUBLIC)\rdf \
-I$(PUBLIC)\editor \
-I$(PUBLIC)\caps \
-I$(PUBLIC)\plugin \
-I$(PUBLIC)\java \
-I$(PUBLIC)\uconv \
-I$(PUBLIC)\strres \
-I$(PUBLIC)\locale \
-I$(PUBLIC)\lwbrk \
-I$(PUBLIC)\unicharutil \
-I$(PUBLIC)\intl \
-I$(PUBLIC)\xpfe\components \
-I$(PUBLIC)\oji \
!ifdef MOZ_FULLCIRCLE
-I$(MOZ_TOOLS)\include \
!endif
$(NULL)
MAKE_OBJ_TYPE = EXE
PROGRAM = .\$(OBJDIR)\mozilla.exe
RESFILE = splash.res
LCFLAGS = \
$(LCFLAGS) \
$(DEFINES) \
$(NULL)
# 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 \
$(DIST)\lib\nsldap32v40.lib \
$(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
!ifdef MOZ_FULLCIRCLE
$(MOZ_TOOLS)\lib\fulls32.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>
!ifdef MOZ_STATIC_COMPONENT_LIBS
$(SEDCMDS): $(FINAL_LINK_COMP_NAMES)
rm -f $@
echo s/@DECLARE_COMPONENTS@/\>> $@
sed -e "s/^/DECL_MODULE(/" -e "s/$$/);\\\/" $(FINAL_LINK_COMP_NAMES) >> $@
echo />> $@
echo s/@COMPONENT_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
install:: $(PROGRAM)
$(MAKE_INSTALL) $(PROGRAM) $(DIST)\bin
clobber::
rm -f $(DIST)\bin\mozilla.exe