# The contents of this file are subject to the Netscape Public License
# Version 1.0 (the "NPL"); you may not use this file except in
# compliance with the NPL.  You may obtain a copy of the NPL at
# http://www.mozilla.org/NPL/
#
# Software distributed under the NPL is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
# for the specific language governing rights and limitations under the
# NPL.
#
# The Initial Developer of this code under the NPL is Netscape
# Communications Corporation.  Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation.  All Rights
# Reserved.

#//------------------------------------------------------------------------
#//
#// Makefile to build the NS tree
#//
#//------------------------------------------------------------------------

#//------------------------------------------------------------------------
#//
#// Specify the depth of the current directory relative to the
#// root of NS
#//
#//------------------------------------------------------------------------
DEPTH=.

#//------------------------------------------------------------------------
#//
#// Specify any "command" targets. (ie. DIRS, INSTALL_FILES, ...)
#// (these must come before the common makefiles are included)
#// 
#// DIRS          - There are subdirectories to process
#//
#// netcast needs to be before sun-java so marimba.* package is available
#// to netscape.netcast.* - spider
#//------------------------------------------------------------------------

!ifdef NO_SECURITY
SECDIR=
!else
SECDIR=security
!endif

DISTDIRS=$(NSPRDIR) dbm $(SECDIR) xpcom

!if "$(WATCOM)" != ""
XTRADIRS = $(DISTDIRS)
!endif

!if "$(MOZ_BITS)" == "32"
DIRS_JSD = js\jsd
XTRADIRS = $(DISTDIRS)
!endif

!ifndef NO_SECURITY
CORECONF=coreconf
!else
CORECONF=
!endif

DIRS = $(CORECONF) $(XTRADIRS) include jpeg modules\zlib \
!ifdef MOZ_NETCAST
    netcast \
!endif
    sun-java \
!ifdef MOZ_LDAP
    ldap \
!endif
!ifdef MOZ_JAVA
    ifc js nav-java \
!else
    nav-java js \
!endif
!ifdef MOZ_IFC_TOOLS
    ifc\tools \
!endif
!ifdef MOZ_JAVA
    $(DIRS_JSD) \
!endif
    lib modules cmd

!if "$(STAND_ALONE_JAVA)" == "1"
!if "$(OS_TARGET)" == "WINNT"
#// When we build stand alone java with OS_TARGET == WINNT for
#// nspr20, we do a gmake separately outside of makefile.win
#// hence no NSPRDIR - sudu
DIRS=jpeg modules\zlib sun-java ifc js ifc\tools sun-java\java
!else
DIRS=$(NSPRDIR) jpeg modules\zlib sun-java ifc js ifc\tools sun-java\java
!endif
!endif 

!ifdef NSWINDBGMALLOC
LLFLAGS= $(LLFLAGS)                 \
        /EXPORT:malloc=ns_malloc    \
        /EXPORT:realloc=ns_realloc  \
        /EXPORT:calloc=ns_calloc    \
        /EXPORT:free=ns_free        \
        /EXPORT:_strdup=ns_strdup
!endif

!ifdef SERVER_BUILD
LLIBS=$(DIST)/lib/httpdlw.lib $(DIST)/lib/libsjboot.lib
!endif

#//------------------------------------------------------------------------
#//
#// Include the common makefile rules
#//
#//------------------------------------------------------------------------
include <$(DEPTH)\config\rules.mak>

#LCFLAGS=-D_USE_PR_DEBUG_MEMORY $(LCFLAGS)

clobber_all::
    cd $(MOZ_SRC)\ns
    -rd /s /q dist

