home *** CD-ROM | disk | FTP | other *** search
- # 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.
-
- !if !defined(CONFIG_CONFIG_MAK)
- CONFIG_CONFIG_MAK=1
-
- #//------------------------------------------------------------------------
- #//
- #// Define public make variables:
- #//
- #// OBJDIR - Specifies the location of intermediate files (ie. objs...)
- #// Currently, the names are WINxx_O.OBJ or WINxx_D.OBJ for
- #// optimized and debug builds respectively.
- #//
- #// DIST - Specifies the location of the distribution directory where
- #// all targets are delivered.
- #//
- #// CFGFILE - Specifies the name of the temporary configuration file
- #// containing the arguments to the current command.
- #//
- #// INCS - Default include paths.
- #//
- #// CFLAGS - Default compiler options.
- #//
- #// LFLAGS - Default linker options.
- #//
- #//------------------------------------------------------------------------
-
- !if [$(MOZ_TOOLS)\bin\uname > osuname.inc]
- !endif
- WINOS=\
- !include "osuname.inc"
- WINOS=$(WINOS: =)^
-
- !if [del osuname.inc]
- !endif
-
- ## Include support for MOZ_LITE/MOZ_MEDIUM
- include <$(DEPTH)/config/liteness.mak>
-
- !if "$(MOZ_BITS)" == "16"
-
- !if "$(MAKE_OBJ_TYPE)" == "DLL"
- OBJTYPE=D
- !else
- OBJTYPE=E
- !endif
-
- !else
- OBJTYPE=
- !endif
-
- XPDIST=$(DEPTH)\dist
- PUBLIC=$(XPDIST)\public
-
- #//-----------------------------------------------------------------------
- #// OBJDIR is NOT the same as DIST for Win16. The Win16 dist stuff can
- #// be built with EXE or DLL compiler flags, but the DIST directory
- #// has the same name no matter what
- #//-----------------------------------------------------------------------
-
- !ifdef MOZ_NAV_BUILD_PREFIX
- DIST_PREFIX=NAV
- !else
- DIST_PREFIX=WIN
- !endif
-
- !ifndef MOZ_DEBUG
- OBJDIR=$(DIST_PREFIX)$(MOZ_BITS)$(OBJTYPE)_O.OBJ
- JAVA_OPTIMIZER = -O
- !ifdef NO_CAFE
- JAVAC_OPTIMIZER =
- !else
- #JAVAC_OPTIMIZER= -O -noinline
- JAVAC_OPTIMIZER =
- !endif
- !else
- OBJDIR=$(DIST_PREFIX)$(MOZ_BITS)$(OBJTYPE)_D.OBJ
- JAVA_OPTIMIZER = -g
- JAVAC_OPTIMIZER = -g
- !endif
-
- #//
- #// DIST DEFINES SHOULD NEVER BE COMPONENT SPECIFIC.
- #//
- !ifndef MOZ_DEBUG
- DIST=$(XPDIST)\$(DIST_PREFIX)$(MOZ_BITS)_O.OBJ
- !else
- DIST=$(XPDIST)\$(DIST_PREFIX)$(MOZ_BITS)_D.OBJ
- !endif
-
- CFGFILE=$(OBJDIR)\cmd.cfg
-
- !if "$(MOZ_BITS)" == "16"
- INCS=-I$(XPDIST)\public\win16 $(INCS) -I$(MOZ_SRC)\ns\include -I$(DIST)\include -I..\include
- !else
- INCS=$(INCS) -I$(MOZ_SRC)\ns\include -I$(DIST)\include \
- -I$(XPDIST)\public\img -I$(XPDIST)\public\util \
- -I$(XPDIST)\public\coreincl
- !endif # 16
-
- !ifndef NO_LAYERS
- INCS=$(INCS) -I$(DEPTH)\lib\liblayer\include
- !endif
-
- !if "$(STAND_ALONE_JAVA)" == "1"
- LCFLAGS=$(LCFLAGS) -DSTAND_ALONE_JAVA
- !endif
-
-
- !if defined(MOZ_JAVA)
- MOZ_JAVA_FLAG=-DJAVA
- !endif
-
- # Perhaps we should add MOZ_LITENESS_FLAGS to 16 bit build
- !if "$(MOZ_BITS)" == "16"
- CFLAGS=$(MOZ_JAVA_FLAG) -DMOCHA -DLAYERS -DEDITOR $(OS_CFLAGS) $(MOZ_CFLAGS)
- !else
- CFLAGS=$(MOZ_JAVA_FLAG) -DMOCHA -DLAYERS $(OS_CFLAGS) $(MOZ_CFLAGS) $(MOZ_LITENESS_FLAGS)
- !endif
- LFLAGS=$(OS_LFLAGS) $(LLFLAGS) $(MOZ_LFLAGS)
-
- # This compiles in heap dumping utilities and other good stuff
- # for developers -- maybe we only want it in for a special SDK
- # nspr/java runtime(?):
- !if "$(MOZ_BITS)"=="32" || defined(MOZ_DEBUG)
- CFLAGS = $(CFLAGS) -DDEVELOPER_DEBUG
- !endif
-
- !ifdef STANDALONE_IMAGE_LIB
- CFLAGS=$(CFLAGS) -DSTANDALONE_IMAGE_LIB
- !endif
-
- # always need these:
- CFLAGS = $(CFLAGS) -DNETSCAPE
-
- # Specify that we are building a client.
- # This will instruct the cross platform libraries to
- # include all the client specific cruft.
- !if defined(SERVER_BUILD)
- CFLAGS = $(CFLAGS) -DSERVER_BUILD
- !elseif defined(LIVEWIRE)
- CFLAGS = $(CFLAGS) -DLIVEWIRE
- !else
- CFLAGS = $(CFLAGS) -DMOZILLA_CLIENT
- !endif
-
- PERL= $(MOZ_TOOLS)\perl5\perl.exe
- MASM = $(MOZ_TOOLS)\bin\ml.exe
-
- !if "$(WINOS)" == "WIN95"
- MKDIR = $(MOZ_SRC)\ns\config\w95mkdir
- QUIET =
- !else
- MKDIR = mkdir
- QUIET=@
- !endif
-
-
- #//------------------------------------------------------------------------
- #//
- #// Include the OS dependent configuration information
- #//
- #//------------------------------------------------------------------------
- include <$(DEPTH)/config/WIN$(MOZ_BITS)>
-
- !ifdef MOZ_DEBUG
- !ifdef USERNAME
- CFLAGS = $(CFLAGS) -DDEBUG_$(USERNAME)
- !endif
- !endif
-
- #//------------------------------------------------------------------------
- #//
- #// Define the global make commands.
- #//
- #// MAKE_INSTALL - Copy a target to the distribution directory.
- #//
- #// MAKE_OBJDIRS - Create an object directory (if necessary).
- #//
- #// MAKE_MANGLE - Convert all long filenames into 8.3 names
- #//
- #// MAKE_UNMANGLE - Restore all long filenames
- #//
- #//------------------------------------------------------------------------
- !if !defined(MOZ_SRC)
- #enable builds on any drive if defined.
- MOZ_SRC=y:
- !endif
- MAKE_INSTALL=$(QUIET)$(DEPTH)\config\makecopy.exe
- MAKE_MANGLE=$(DEPTH)\config\mangle.exe
- MAKE_UNMANGLE=if exist unmangle.bat call unmangle.bat
-
- #//------------------------------------------------------------------------
- #//
- #// Common Libraries
- #//
- #//------------------------------------------------------------------------
- !ifdef NSPR20
- !if "$(MOZ_BITS)" == "16"
- LIBNSPR=$(DIST)\lib\nspr21.lib
- LIBNSPR=$(LIBNSPR) $(DIST)\lib\plds21.lib
- LIBNSPR=$(LIBNSPR) $(DIST)\lib\msgc21.lib
- !else
- LIBNSPR=$(DIST)\lib\libnspr21.lib
- LIBNSPR=$(LIBNSPR) $(DIST)\lib\libplds21.lib
- LIBNSPR=$(LIBNSPR) $(DIST)\lib\libmsgc21.lib
- !endif
- !else
- LIBNSPR=$(DIST)\lib\pr$(MOZ_BITS)$(VERSION_NUMBER).lib
- !endif
-
- !ifdef NSPR20
- NSPRDIR = nsprpub
- CFLAGS = $(CFLAGS) -DNSPR20
- !else
- NSPRDIR = nspr
- !endif
-
- LIBJPEG=$(DIST)\lib\jpeg$(MOZ_BITS)$(VERSION_NUMBER).lib
-
- ######################################################################
- ### Windows-Specific Java Stuff
-
- PATH_SEPARATOR = ;
-
- # where the bytecode will go
- !if "$(AWT_11)" == "1"
- JAVA_DESTPATH = $(MOZ_SRC)\ns\dist\classes11
- !else
- JAVA_DESTPATH = $(MOZ_SRC)\ns\dist\classes
- !endif
-
- # where the source are
- DEFAULT_JAVA_SOURCEPATH = $(MOZ_SRC)\ns\sun-java\classsrc
- !ifndef JAVA_SOURCEPATH
- !if "$(AWT_11)" == "1"
- JAVA_SOURCEPATH = $(MOZ_SRC)\ns\sun-java\classsrc11;$(DEFAULT_JAVA_SOURCEPATH)
- !else
- JAVA_SOURCEPATH = $(DEFAULT_JAVA_SOURCEPATH)
- !endif
- !endif
-
- JAVA_PROG=$(MOZ_TOOLS)\bin\java.exe
- #JAVA_PROG=$(DIST)\bin\java
-
- JAVAC_ZIP=$(MOZ_TOOLS)/lib/javac.zip
-
- ZIP_PROG = $(MOZ_TOOLS)\bin\zip
- UNZIP_PROG = $(MOZ_TOOLS)\bin\unzip
- ZIP_FLAGS = -0 -r -q
-
- CFLAGS = $(CFLAGS) -DOS_HAS_DLL
-
- DLL_SUFFIX = dll
- LIB_SUFFIX = lib
-
- !if "$(STAND_ALONE_JAVA)" == "1"
- STAND_ALONE_JAVA_DLL_SUFFIX=s
- !else
- STAND_ALONE_JAVA_DLL_SUFFIX=
- !endif
-
- MOD_JRT=jrt$(MOZ_BITS)$(VERSION_NUMBER)
- MOD_MM =mm$(MOZ_BITS)$(VERSION_NUMBER)
- MOD_AWT=awt$(MOZ_BITS)$(VERSION_NUMBER)
- MOD_AWTS=awt$(MOZ_BITS)$(VERSION_NUMBER)$(STAND_ALONE_JAVA_DLL_SUFFIX)
- MOD_JIT=jit$(MOZ_BITS)$(VERSION_NUMBER)
- MOD_JSJ=jsj$(MOZ_BITS)$(VERSION_NUMBER)
- MOD_NET=net$(MOZ_BITS)$(VERSION_NUMBER)
- MOD_JBN=jbn$(MOZ_BITS)$(VERSION_NUMBER)
- MOD_NSC=nsc$(MOZ_BITS)$(VERSION_NUMBER)
- MOD_JPW=jpw$(MOZ_BITS)$(VERSION_NUMBER)
- MOD_JDB=jdb$(MOZ_BITS)$(VERSION_NUMBER)
- MOD_ZIP=zip$(MOZ_BITS)$(VERSION_NUMBER)
- MOD_ZPW=zpw$(MOZ_BITS)$(VERSION_NUMBER)
- MOD_CON=con$(MOZ_BITS)$(VERSION_NUMBER)
-
- JRTDLL=$(MOD_JRT).$(DLL_SUFFIX)
- MMDLL =$(MOD_MM).$(DLL_SUFFIX)
- AWTDLL=$(MOD_AWT).$(DLL_SUFFIX)
- AWTSDLL=$(MOD_AWT)$(STAND_ALONE_JAVA_DLL_SUFFIX).$(DLL_SUFFIX)
- JITDLL=$(MOD_JIT).$(DLL_SUFFIX)
- JSJDLL=$(MOD_JSJ).$(DLL_SUFFIX)
- NETDLL=$(MOD_NET).$(DLL_SUFFIX)
- JBNDLL=$(MOD_JBN).$(DLL_SUFFIX)
- NSCDLL=$(MOD_NSC).$(DLL_SUFFIX)
- JPWDLL=$(MOD_JPW).$(DLL_SUFFIX)
- JDBDLL=$(MOD_JDB).$(DLL_SUFFIX)
- ZIPDLL=$(MOD_ZIP).$(DLL_SUFFIX)
- ZPWDLL=$(MOD_ZPW).$(DLL_SUFFIX)
- CONDLL=$(MOD_CON).$(DLL_SUFFIX)
-
- ZIPLIB=$(DIST)\lib\$(MOD_ZIP).$(LIB_SUFFIX)
- AWTLIB=$(DIST)\lib\$(MOD_AWT).$(LIB_SUFFIX)
-
- ######################################################################
-
- include <$(DEPTH)/config/common.mk>
-
- JAVA_DEFINES = \
- -DJAR_NAME=\"$(JAR_NAME)\" \
- -DJRTDLL=\"$(JRTDLL)\" \
- -DMMDLL=\"$(MMDLL)\" \
- -DAWTDLL=\"$(AWTDLL)\" \
- -DAWTSDLL=\"$(AWTSDLL)\" \
- -DJSJDLL=\"$(JSJDLL)\" \
- -DJITDLL=\"$(JITDLL)\" \
- -DNETDLL=\"$(NETDLL)\" \
- -DJBNDLL=\"$(JBNDLL)\" \
- -DNSCDLL=\"$(NSCDLL)\" \
- -DJDBDLL=\"$(JDBDLL)\" \
- -DJPWDLL=\"$(JPWDLL)\" \
- -DZPWDLL=\"$(ZPWDLL)\" \
- -DCONDLL=\"$(CONDLL)\"
- !if "$(MOZ_BITS)" == "16"
-
- # Override JAVA_DEFINES to make command line short for win16.
- # Put any new defines into javadefs.h in ns/sun-java/include.
- # This is to shorten the command line in order not to break Win16.
-
- JAVA_DEFINES = -DJAR_NAME=\"$(JAR_NAME)\" -DMOZ_BITS=\"$(MOZ_BITS)\" -DVERSION_NUMBER=\"$(VERSION_NUMBER)\" -DDLL_SUFFIX=\".$(DLL_SUFFIX)\"
-
- !endif
-
-
- #JAVA_CLASSPATH = $(JAVA_CLASSPATH:/=\)
- JMCSRCDIR = $(JMCSRCDIR:/=\)
- JAVA_BOOT_CLASSPATH = $(JAVA_BOOT_CLASSPATH:/=\)
-
- NMAKE=nmake -nologo -$(MAKEFLAGS)
-
- ########
- # Get the cwd to prepend to all compiled source
- # files. Will allow debugger to automatically find sources
- # instead of asking for the path info.
- # Win16 will break if enabled, guess we continue to live in pain
- # therein.
- ########
- !if "$(MOZ_BITS)" == "32"
- CURDIR=$(MAKEDIR)^\
- !endif
-
- !endif # CONFIG_CONFIG_MAK
-
-