makefile.win
author wtc%netscape.com
Mon, 20 Jan 2003 16:01:40 +0000
branchNSPRPUB_PRE_4_2_CLIENT_BRANCH
changeset 2660 35fc666f49f789a53b46db849254f9383168e5b1
parent 1424 704aa43f2d85be751e8ba0875be34a4e46737fa2
child 3100 c110cccc95c167221408cd82c892eb9a8e17fe21
permissions -rw-r--r--
Bug 134113: make NSPR build on Win32 using MinGW gcc. The patch is contributed by Chris Seawood <seawood@cls.org> and Dan Mosedale <dmose@mozilla.org>. r=wtc. Modified files: configure configure.in config/Makefile.in autoconf.mk.in now.c rules.mk lib/ds/Makefile.in lib/libc/src/Makefile.in lib/msgc/src/Makefile.in prtypes.h _winnt.h pr/src/Makefile.in prmapopt.c pr/src/md/windows/Makefile.in ntio.c ntmisc.c pr/tests/Makefile.in runtests.ksh pr/tests/dll/Makefile.in Tag: NSPRPUB_PRE_4_2_CLIENT_BRANCH


# 
# The contents of this file are subject to the Mozilla 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/MPL/
# 
# 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 the Netscape Portable Runtime (NSPR).
# 
# The Initial Developer of the Original Code is Netscape
# Communications Corporation.  Portions created by Netscape are 
# Copyright (C) 1998-2000 Netscape Communications Corporation.  All
# Rights Reserved.
# 
# Contributor(s):
# 
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License Version 2 or later (the
# "GPL"), in which case the provisions of the GPL are applicable 
# instead of those above.  If you wish to allow use of your 
# version of this file only under the terms of the GPL and not to
# allow others to use your version of this file under the MPL,
# indicate your decision by deleting the provisions above and
# replace them with the notice and other provisions required by
# the GPL.  If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.
# 


#
# An NMAKE file to set up and adjust NSPR20's build system for
# Client build.  Client build should invoke NMAKE on this file
# instead of invoking gmake directly.
#

DEPTH = ..
include <$(DEPTH)\config\config.mak>

#
# Backslashes are escape characters to gmake, so flip all backslashes
# in $(MOZ_TOOLS) to forward slashes and pass that to gmake.
#

GMAKE = $(MOZ_TOOLS)\bin\gmake.exe

GMAKE_FLAGS = MOZ_TOOLS_FLIPPED=$(MOZ_TOOLS:\=/) PR_CLIENT_BUILD=1 PR_CLIENT_BUILD_WINDOWS=1

#
# The Client's debug build uses MSVC's debug runtime library (/MDd).
#

!ifdef MOZ_DEBUG
!else
GMAKE_FLAGS = $(GMAKE_FLAGS) BUILD_OPT=1
!endif

!if "$(MOZ_BITS)" == "16"
GMAKE_FLAGS = $(GMAKE_FLAGS) OS_TARGET=WIN16
!else

GMAKE_FLAGS = $(GMAKE_FLAGS) OS_TARGET=WIN95
!ifdef MOZ_DEBUG
!ifdef MOZ_NO_DEBUG_RTL
!IF "$(CPU)" == "ALPHA"
PR_OBJDIR = WIN954.0ALPHA_DBG.OBJ
!else
PR_OBJDIR = WIN954.0_DBG.OBJ
!endif
!else
GMAKE_FLAGS = $(GMAKE_FLAGS) USE_DEBUG_RTL=1
!IF "$(CPU)" == "ALPHA"
PR_OBJDIR = WIN954.0ALPHA_DBG.OBJD
!else
PR_OBJDIR = WIN954.0_DBG.OBJD
!endif
!endif
!else
!IF "$(CPU)" == "ALPHA"
PR_OBJDIR = WIN954.0ALPHA_OPT.OBJ
!else
PR_OBJDIR = WIN954.0_OPT.OBJ
!endif
!endif

!endif
 

#
# The rules.  Simply invoke gmake with the same target.
# The default target is 'all'.  For Win16, set up the
# environment to use the Watcom compiler, Watcom headers,
# and Watcom libs.
#

all:: export libs install

export libs install clobber clobber_all clean depend::
!if "$(MOZ_BITS)" == "16"
	set PATH=%WATCPATH%
	set INCLUDE=%WATC_INC%
	set LIB=%WATC_LIB%
!endif
	$(GMAKE) $(GMAKE_FLAGS) $@
!if "$(MOZ_BITS)" == "16"
	set PATH=%MSVCPATH%
	set INCLUDE=%MSVC_INC%
	set LIB=%MSVC_LIB%
!endif

!if "$(MOZ_BITS)" != "16"
export::
	$(MAKE_INSTALL) $(XPDIST)\$(PR_OBJDIR)\include\*.h $(DIST)\include
	$(MAKE_INSTALL) $(XPDIST)\$(PR_OBJDIR)\include\obsolete\*.h $(DIST)\include\obsolete
	$(MAKE_INSTALL) $(XPDIST)\$(PR_OBJDIR)\include\private\*.h $(DIST)\include\private
	$(MAKE_INSTALL) $(XPDIST)\$(PR_OBJDIR)\lib\*.lib $(DIST)\lib
	$(MAKE_INSTALL) $(XPDIST)\$(PR_OBJDIR)\lib\*.dll $(DIST)\bin
!endif