# 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. #//------------------------------------------------------------------------ #// Figure out how to do the pull. #//------------------------------------------------------------------------ !if "$(MOZ_BRANCH)" != "" CVS_BRANCH=-r $(MOZ_BRANCH) HAVE_BRANCH=1 !else HAVE_BRANCH=0 !endif #// #// Temporary hardcode (while we figure out how to do this) #// to support the Core modularity efforts... #// !ifndef MOZ_JAVAVER !ifdef MOZ_MEDIUM MOZ_JAVAVER =-r JAVA_STUB_RELEASE_19980319 !else MOZ_JAVAVER =-r JAVA_RELEASE_19980304 !endif !endif NSPR20_BRANCH =-r NSPR20_RELEASE_19980304_BRANCH SECURITY_BRANCH=-r SECURITY_RELEASE_19980210 CORECONF_BRANCH=-r CFG_1_6 DBM_BRANCH =-r DBM_RELEASE_19980319 !if "$(MOZ_DATE)" != "" CVS_BRANCH=-D "$(MOZ_DATE)" HAVE_DATE=1 !else HAVE_DATE=0 !endif !if $(HAVE_DATE) && $(HAVE_BRANCH) ERR_MESSAGE=$(ERR_MESSAGE)^ Cannot specify both MOZ_BRANCH and MOZ_DATE !endif NMAKE=@nmake -nologo -$(MAKEFLAGS) #//------------------------------------------------------------------------ #// #// Stuff a do complete pull and build #// #//------------------------------------------------------------------------ default:: build_all pull_and_build_all:: pull_all \ build_all #// Do this when you pull a new tree, or else you will often get bugs #// when replaceing an old dist with a new dist. pull_clobber_build_all:: pull_all \ clobber_all \ build_all clobber_build_all:: clobber_all \ build_all # In theory, we should use some symbol in ns/config/liteness.mak, # but we haven't pulled the file yet. So, refer to MOZ_LITE and # MOZ_MEDIUM explicitly . !if defined(MOZ_LITE) || defined(MOZ_MEDIUM) pull_all:: pull_client_source_product !else pull_all:: pull_client !endif !ifndef NO_SECURITY pull_security: -cvs -q co $(CORECONF_BRANCH) ns/coreconf -cvs -q co $(SECURITY_BRANCH) CoreSecurity !else pull_security: !endif pull_client: pull_security @echo +++ client.mak: checking out the client with "$(CVS_BRANCH)" cd $(MOZ_SRC)\. -cvs -q co $(DBM_BRANCH) ns/dbm -cvs -q co $(CVS_BRANCH) Client50Win -cvs -q co $(MOZ_JAVAVER) JavaWin -cvs -q co $(NSPR20_BRANCH) CoreNSPR20 pull_client_source_product: @echo +++ client.mak: checking out the client with "$(CVS_BRANCH)" cd $(MOZ_SRC)\. -cvs -q co $(DBM_BRANCH) ns/dbm -cvs -q co $(CVS_BRANCH) ClientSourceProductWin -cvs -q co $(MOZ_JAVAVER) JavaStubWin build_all: build_ldap \ build_dist \ build_client build_dist: @echo +++ client.mak: building dist cd $(MOZ_SRC)\ns $(NMAKE) -f makefile.win !if defined(MOZ_LITE) || defined(MOZ_MEDIUM) build_ldap: !else build_ldap: @echo +++ client.mak: building ldap cd $(MOZ_SRC)\ns\netsite\ldap\libraries\msdos\winsock $(NMAKE) -f nsldap.mak DEPEND=1 $(NMAKE) -f nsldap.mak $(NMAKE) -f nsldap.mak EXPORT=1 !endif build_client: @echo +++ client.mak: building client cd $(MOZ_SRC)\ns\cmd\winfe\mkfiles32 !if "$(MOZ_BITS)" == "16" $(NMAKE) -f mozilla.mak exports !endif $(NMAKE) -f mozilla.mak DEPEND=1 $(NMAKE) -f mozilla.mak # # remove all source files from the tree and print a report of what was missed # clobber_all: cd $(MOZ_SRC)\ns $(NMAKE) -f makefile.win clobber_all cd $(MOZ_SRC)\ns\cmd\winfe\mkfiles32 $(NMAKE) -f mozilla.mak clobber_all !if !defined(MOZ_MEDIUM) cd $(MOZ_SRC)\ns\netsite\ldap\libraries\msdos\winsock $(NMAKE) -f nsldap.mak clobber_all !endif depend: -del /s /q make.dep $(NMAKE) -f makefile.win depend quick: @cd $(MOZ_SRC)\. @cvs -q co ns/quickup @cd $(MOZ_SRC)\ns\quickup @$(MOZ_TOOLS)\perl5\perl doupdate.pl #//------------------------------------------------------------------------ #// Utility stuff... #//------------------------------------------------------------------------ #//------------------------------------------------------------------------ # Verify that MOZ_SRC is set correctly #//------------------------------------------------------------------------ # Check to see if it is set at all !if "$(MOZ_SRC)"!="" # # create a temp file at the root and make sure it is visible from MOZ_SRC # !if [copy $(MAKEDIR)\client.mak $(MAKEDIR)\xyzzy.tmp > NUL] == 0 !endif !if !EXIST( $(MOZ_SRC)\ns\xyzzy.tmp ) ERR_MESSAGE=$(ERR_MESSAGE)^ MOZ_SRC isn't set correctly: [$(MOZ_SRC)\ns]!=[$(MAKEDIR)] !endif !if [del $(MAKEDIR)\xyzzy.tmp] !endif !else # MOZ_SRC isn't set at all ERR_MESSAGE=$(ERR_MESSAGE)^ Environment variable MOZ_SRC isn't set. !endif #//------------------------------------------------------------------------ # Verify that MOZ_BITS is set #//------------------------------------------------------------------------ !if !defined(MOZ_BITS) ERR_MESSAGE=$(ERR_MESSAGE)^ Environment variable MOZ_BITS isn't set. !endif !if !defined(MOZ_TOOLS) ERR_MESSAGE=$(ERR_MESSAGE)^ Environment variable MOZ_TOOLS isn't set. !endif #//------------------------------------------------------------------------ #// Display error #//------------------------------------------------------------------------ !if "$(ERR_MESSAGE)" != "" ERR_MESSAGE = ^ client.mak: ^ $(ERR_MESSAGE) ^ ^ client.mak: usage^ ^ nmake -f client.mak [MOZ_BRANCH=] ^ [MOZ_DATE=]^ [pull_and_build_all]^ [pull_all]^ [pull_dist]^ [pull_client]^ [build_all]^ [build_dist]^ [build_ldap]^ [build_client]^ ^ Environment variables:^ ^ MOZ_BITS set to either 32 or 16 ^ MOZ_SRC set to the directory above ns or "$(MAKEDIR)\.."^ MOZ_TOOLS set to the directory containing the java compiler see ^ http://warp/tools/nt^ JAVA_HOME set to the same thing as MOZ_TOOLS^ !ERROR $(ERR_MESSAGE) !endif