mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-05 16:46:26 +00:00
ecfc89cf82
adding code coverage into the make system. generates order files to rearrange the functions in the dll. reduces the resident set size of the app while running.
185 lines
5.1 KiB
Plaintext
185 lines
5.1 KiB
Plaintext
# 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):
|
|
|
|
#//------------------------------------------------------------------------
|
|
#//
|
|
#// Win32 Configuration file
|
|
#//
|
|
#//------------------------------------------------------------------------
|
|
|
|
#//------------------------------------------------------------------------
|
|
#//
|
|
#// Define the OS dependent commands used by MAKE
|
|
#//
|
|
#//------------------------------------------------------------------------
|
|
CC=cl
|
|
LD=link
|
|
AR=lib
|
|
RC=rc
|
|
#RM=del /F /Q
|
|
#RM_R=del /F /S /Q
|
|
RM=rm -f
|
|
RM_R=rm -fr
|
|
CP=cp
|
|
AWK=$(MOZ_TOOLS)\bin\gawk.exe
|
|
RANLIB=$(DEPTH)\config\true.bat
|
|
JAVAH=$(DIST)\bin\javah.exe
|
|
JAVA=$(MOZ_TOOLS)\bin\java.exe
|
|
|
|
!ifndef JAVAH_IN_JAVA
|
|
JAVAH_PROG = $(DIST)\bin\javah.exe
|
|
!else
|
|
JAVAH_PROG = $(JAVA) netscape.tools.jric.Main
|
|
!endif
|
|
|
|
#//------------------------------------------------------------------------
|
|
#//
|
|
#// Define Debug and optimization flags
|
|
#//
|
|
#//------------------------------------------------------------------------
|
|
|
|
!ifdef MOZ_DEBUG
|
|
#
|
|
# Uncomment for MSVC debug malloc logging...
|
|
#
|
|
#OPTIMIZER=-Zi -DDEBUG -UNDEBUG -D_DEBUG -D_CRTDBG_MAP_ALLOC
|
|
OPTIMIZER=-Zi -DDEBUG -UNDEBUG -D_DEBUG
|
|
!if defined(GLOWCODE) && "$(MOZ_BITS)"=="32"
|
|
OS_LFLAGS=/DEBUG /DEBUGTYPE:BOTH /INCLUDE:_GlowCode /PDB:NONE
|
|
!else
|
|
OS_LFLAGS=/DEBUG /DEBUGTYPE:CV /PDB:$(PDBFILE)
|
|
!endif
|
|
|
|
!else
|
|
|
|
# if MOZ_DEBUG is not set and MOZ_PROFILE is set, then we generate
|
|
# an optimized build with debugging symbols. Useful for debugging
|
|
# compiler optimization bugs, as well as running with Quantify.
|
|
|
|
!ifdef MOZ_PROFILE
|
|
OS_LFLAGS=/DEBUG /DEBUGTYPE:CV /PDB:NONE /OPT:REF /OPT:nowin98
|
|
OPTIMIZER=-Zi -O1 -UDEBUG -DNDEBUG
|
|
!else
|
|
# MOZ_PROFILE not set.
|
|
# optimize it, no symbols
|
|
#
|
|
OPTIMIZER=-O1 -UDEBUG -DNDEBUG
|
|
OS_LFLAGS=/OPT:nowin98
|
|
!endif
|
|
# MOZ_PROFILE
|
|
|
|
!endif
|
|
# MOZ_DEBUG
|
|
|
|
#//------------------------------------------------------------------------
|
|
#//
|
|
#// Select the correct RTL to link...
|
|
#//
|
|
#// Currently, unless USE_STATIC_LIBS is defined, the multithreaded
|
|
#// DLL version of the RTL is used...
|
|
#//
|
|
#//------------------------------------------------------------------------
|
|
!ifdef USE_STATIC_LIBS
|
|
RTL_FLAGS=-MT # Statically linked multithreaded RTL
|
|
!ifdef MOZ_DEBUG
|
|
RTL_FLAGS=-MTd # Statically linked multithreaded MSVC4.0 debug RTL
|
|
!endif
|
|
|
|
!else ifdef USE_NON_MT_LIBS
|
|
RTL_FLAGS=-ML # Statically linked non-multithreaded LIBC RTL
|
|
!ifdef MOZ_DEBUG
|
|
RTL_FLAGS=-MLd # Statically linked non-multithreaded LIBC debug RTL
|
|
!endif
|
|
|
|
!else
|
|
RTL_FLAGS=-MD # Dynamically linked, multithreaded RTL
|
|
|
|
!ifdef MOZ_DEBUG
|
|
!ifndef MOZ_NO_DEBUG_RTL
|
|
RTL_FLAGS=-MDd # Dynamically linked, multithreaded MSVC4.0 debug RTL
|
|
!endif
|
|
!endif
|
|
!endif
|
|
|
|
#//------------------------------------------------------------------------
|
|
#//
|
|
#// Specify the OS dependent compiler flags, linker flags and libraries
|
|
#//
|
|
#//------------------------------------------------------------------------
|
|
OS_CFLAGS=$(OPTIMIZER) $(RTL_FLAGS) -W3 -nologo -D_X86_ -D_WINDOWS -DWIN32 \
|
|
-DXP_PC -DXP_WIN -DXP_WIN32 -DHW_THREADS -DWINVER=0x400 -Gy
|
|
|
|
OS_CFLAGS=$(OS_CFLAGS) -DMSVC4
|
|
|
|
!ifdef MOZ_DEBUG
|
|
# Enable browse info in VC++
|
|
!ifdef MOZ_BROWSE_INFO
|
|
OS_CFLAGS=$(OS_CFLAGS) /FR
|
|
!endif
|
|
!endif
|
|
|
|
## Removed MOZ_LITE/MOZ_MEDIUM stuff from OS_CFLAGS
|
|
|
|
OS_LFLAGS=$(OS_LFLAGS)
|
|
OS_LIBS=kernel32.lib user32.lib gdi32.lib winmm.lib wsock32.lib advapi32.lib
|
|
|
|
#//------------------------------------------------------------------------
|
|
#//
|
|
#// Specify the special flags for creating EXEs
|
|
#//
|
|
#//------------------------------------------------------------------------
|
|
!if defined(SWAPTUNER) || (defined(GLOWCODE) && defined(GLOWPROF) && "$(MOZ_BITS)"=="32")
|
|
# this seems to get lost
|
|
EXE_CFLAGS=/Gh
|
|
!else
|
|
EXE_CFLAGS=/Gy
|
|
!endif
|
|
!if defined(MOZ_PROFILE)
|
|
EXE_LFLAGS=/FIXED:NO
|
|
!else
|
|
EXE_LFLAGS=
|
|
!endif
|
|
EXE_LIBS=
|
|
|
|
!if defined(MOZ_COVERAGE) && !defined(MOZ_NO_COVERAGE)
|
|
EXE_LIBS=$(EXE_LIBS) $(DIST)/lib/trace.lib
|
|
!endif
|
|
|
|
#//------------------------------------------------------------------------
|
|
#//
|
|
#// Specify the special flags for creating DLLs
|
|
#//
|
|
#//------------------------------------------------------------------------
|
|
DLL_CFLAGS=
|
|
DLL_LFLAGS=/SUBSYSTEM:WINDOWS
|
|
DLL_LIBS=
|
|
|
|
!if defined(MOZ_COVERAGE) && !defined(MOZ_NO_COVERAGE)
|
|
DLL_LIBS=$(DLL_LIBS) $(DIST)/lib/trace.lib
|
|
!endif
|
|
|
|
#//------------------------------------------------------------------------
|
|
#//
|
|
#// rebase setting, msvc systems better have this
|
|
#//
|
|
#//------------------------------------------------------------------------
|
|
|
|
REBASE=rebase.exe
|
|
|