# 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. DEPTH=. IGNORE_MANIFEST=1 THIS_MAKEFILE=nglayout.mak THAT_MAKEFILE=makefile.win !if !defined(MODULAR_NETLIB) || !defined(STANDALONE_IMAGE_LIB) || !defined(NGLAYOUT_PLUGINS) ERR_MSG = ^ You need to set MODULAR_NETLIB=1, STANDALONE_IMAGE_LIB=1 ^ and NGLAYOUT_PLUGINS=1 in your environment. !ERROR $(ERR_MSG) !endif !if !defined(MOZ_TOP) #enable builds from changed top level directories MOZ_TOP=mozilla !endif include <$(DEPTH)\config\config.mak> # This section is copied from rules.mak !if "$(WINOS)" == "WIN95" W95MAKE=$(MOZ_SRC)\$(MOZ_TOP)\config\w95make.exe W32OBJS = $(OBJS:.obj=.obj, ) W32LOBJS = $(OBJS: .= +-.) !endif ###################################################################### # This makefile is designed to make building the nglayout viewer # application easy. # # Command macro defines # !if defined(MOZ_DATE) CVSCO = cvs -q co -P -D "$(MOZ_DATE)" !else CVSCO = cvs -q co -P !endif # Branch tags we use IMGLIB_BRANCH = PLUGIN_BRANCH = LIBPREF_BRANCH = XPCOM_BRANCH XPCOM_BRANCH = !if defined(MOZ_DATE) # CVS commands to pull the appropriate branch versions CVSCO_LIBPREF = $(CVSCO) -r $(LIBPREF_BRANCH) CVSCO_PLUGIN = $(CVSCO) !else # CVS commands to pull the appropriate branch versions CVSCO_LIBPREF = $(CVSCO) -r $(LIBPREF_BRANCH) CVSCO_PLUGIN = $(CVSCO) -A !endif CVSCO_XPCOM = $(CVSCO) CVSCO_IMGLIB = $(CVSCO) CVSCO_RAPTOR = $(CVSCO) CVSCO_LIZARD = $(CVSCO) CVSCO_NETWORK = $(CVSCO) # The list of directories that need to be built to build the # standalone nglayout test program. The order is important. The # DIST_DIRS need to be built before the RAPTOR_DIRS. DIST_DIRS = \ dbm \ nsprpub \ include \ jpeg \ modules\libreg \ xpcom \ modules\zlib \ modules\libutil \ sun-java \ nav-java \ js \ modules\security\freenav \ modules\libpref \ modules\libimg \ modules\plugin \ modules\oji \ base \ lib\xp \ lib\libpwcac \ network \ !if defined(NGPREFS) cmd\wincom \ cmd\winfe\prefs \ !endif $(NULL) # The list of directories to build the nglayout layout engine and # related libraries. RAPTOR_DIRS = \ htmlparser \ gfx \ dom \ view \ widget \ layout \ webshell # Main rules all:: all_dist all_nglayout export:: export_dist export_nglayout libs:: libs_dist libs_nglayout install:: install_dist install_nglayout depend:: depend_dist depend_nglayout clobber:: clobber_dist clobber_nglayout cd $(MOZ_SRC)\$(MOZ_TOP) -rd /s /q dist clobber_all:: clobber_all_dist clobber_all_nglayout cd $(MOZ_SRC)\$(MOZ_TOP) -rd /s /q dist ###################################################################### # Rule to build subdirectories $(DIST_DIRS) $(RAPTOR_DIRS):: !if "$(WINOS)" == "WIN95" @echo +++ make: cannot recursively make on win95 using command.com, use w95make. !else @echo +++ make: %MAKE_ARGS% in $(MAKEDIR)\$@ @cd $@ @$(NMAKE) -f $(THAT_MAKEFILE) %%MAKE_ARGS%% @cd $(MAKEDIR) !endif ###################################################################### # Rules for pulling the source from the cvs repository pull_all: pull_lizard pull_xpcom pull_imglib pull_netlib pull_nglayout pull_lizard: cd $(MOZ_SRC)\. $(CVSCO_LIZARD) $(MOZ_TOP)/LICENSE $(CVSCO_LIZARD) $(MOZ_TOP)/LEGAL $(CVSCO_LIZARD) $(MOZ_TOP)/config $(CVSCO_LIZARD) $(MOZ_TOP)/dbm $(CVSCO_LIZARD) $(MOZ_TOP)/lib/liblayer $(CVSCO_LIZARD) $(MOZ_TOP)/modules/zlib $(CVSCO_LIZARD) $(MOZ_TOP)/modules/libutil $(CVSCO_LIZARD) $(MOZ_TOP)/nsprpub $(CVSCO_LIZARD) $(MOZ_TOP)/sun-java $(CVSCO_LIZARD) $(MOZ_TOP)/nav-java $(CVSCO_LIZARD) $(MOZ_TOP)/js $(CVSCO_LIZARD) $(MOZ_TOP)/modules/security/freenav $(CVSCO_LIBPREF) $(MOZ_TOP)/modules/libpref $(CVSCO_PLUGIN) $(MOZ_TOP)/modules/plugin $(CVSCO_LIZARD) $(MOZ_TOP)/modules/oji !if defined(NGPREFS) $(CVSCO_LIZARD) $(MOZ_TOP)/cmd/wincom $(CVSCO_LIZARD) $(MOZ_TOP)/cmd/winfe/defaults.h $(CVSCO_LIZARD) $(MOZ_TOP)/cmd/winfe/nsIDefaultBrowser.h $(CVSCO_LIZARD) $(MOZ_TOP)/cmd/winfe/prefs !endif pull_xpcom: @cd $(MOZ_SRC)\. $(CVSCO_XPCOM) $(MOZ_TOP)/modules/libreg $(CVSCO_XPCOM) $(MOZ_TOP)/xpcom pull_imglib: @cd $(MOZ_SRC)\. $(CVSCO_IMGLIB) $(MOZ_TOP)/jpeg $(CVSCO_IMGLIB) $(MOZ_TOP)/modules/libutil $(CVSCO_IMGLIB) $(MOZ_TOP)/modules/libimg pull_netlib: @cd $(MOZ_SRC)\. $(CVSCO_NETWORK) $(MOZ_TOP)/lib/xp $(CVSCO_NETWORK) $(MOZ_TOP)/lib/libpwcac $(CVSCO_NETWORK) $(MOZ_TOP)/network $(CVSCO_NETWORK) $(MOZ_TOP)/include pull_nglayout: @cd $(MOZ_SRC)\. $(CVSCO_RAPTOR) $(MOZ_TOP)/base $(CVSCO_RAPTOR) $(MOZ_TOP)/dom $(CVSCO_RAPTOR) $(MOZ_TOP)/gfx $(CVSCO_RAPTOR) $(MOZ_TOP)/htmlparser $(CVSCO_RAPTOR) $(MOZ_TOP)/layout $(CVSCO_RAPTOR) $(MOZ_TOP)/view $(CVSCO_RAPTOR) $(MOZ_TOP)/webshell $(CVSCO_RAPTOR) $(MOZ_TOP)/widget ###################################################################### # Build rules for the "dist" portion. The "dist" contains those things # which are imported by the nglayout test programs. all_dist: @cd $(MOZ_SRC)\$(MOZ_TOP) $(NMAKE) -f $(THIS_MAKEFILE) export_dist $(NMAKE) -f $(THIS_MAKEFILE) libs_dist $(NMAKE) -f $(THIS_MAKEFILE) install_dist export_dist:: !if "$(WINOS)" == "WIN95" @$(W95MAKE) export $(MAKEDIR) $(DIST_DIRS) !else @set MAKE_ARGS=export export_dist:: $(DIST_DIRS) !endif libs_dist:: !if "$(WINOS)" == "WIN95" @$(W95MAKE) libs $(MAKEDIR) $(DIST_DIRS) !else @set MAKE_ARGS=libs libs_dist:: $(DIST_DIRS) !endif install_dist:: !if "$(WINOS)" == "WIN95" @$(W95MAKE) install $(MAKEDIR) $(DIST_DIRS) !else @set MAKE_ARGS=install install_dist:: $(DIST_DIRS) !endif depend_dist:: !if "$(WINOS)" == "WIN95" @$(W95MAKE) depend $(MAKEDIR) $(DIST_DIRS) !else @set MAKE_ARGS=depend depend_dist:: $(DIST_DIRS) !endif clobber_dist:: !if "$(WINOS)" == "WIN95" @$(W95MAKE) clobber $(MAKEDIR) $(DIST_DIRS) !else @set MAKE_ARGS=clobber clobber_dist:: $(DIST_DIRS) !endif clobber_all_dist:: !if "$(WINOS)" == "WIN95" @$(W95MAKE) clobber_all $(MAKEDIR) $(DIST_DIRS) !else @set MAKE_ARGS=clobber_all clobber_all_dist:: $(DIST_DIRS) !endif ###################################################################### # Build rules for the "nglayout" portion. This builds the nglayout software # including the sample webshell viewer application. all_nglayout: cd $(MOZ_SRC)\$(MOZ_TOP) $(NMAKE) -f $(THIS_MAKEFILE) export_nglayout $(NMAKE) -f $(THIS_MAKEFILE) libs_nglayout $(NMAKE) -f $(THIS_MAKEFILE) install_nglayout export_nglayout:: !if "$(WINOS)" == "WIN95" @$(W95MAKE) export $(MAKEDIR) $(RAPTOR_DIRS) !else @set MAKE_ARGS=export export_nglayout:: $(RAPTOR_DIRS) !endif libs_nglayout:: !if "$(WINOS)" == "WIN95" @$(W95MAKE) libs $(MAKEDIR) $(RAPTOR_DIRS) !else @set MAKE_ARGS=libs libs_nglayout:: $(RAPTOR_DIRS) !endif install_nglayout:: !if "$(WINOS)" == "WIN95" @$(W95MAKE) install $(MAKEDIR) $(RAPTOR_DIRS) !else @set MAKE_ARGS=install install_nglayout:: $(RAPTOR_DIRS) !endif depend_nglayout:: !if "$(WINOS)" == "WIN95" @$(W95MAKE) depend $(MAKEDIR) $(RAPTOR_DIRS) !else @set MAKE_ARGS=depend depend_nglayout:: $(RAPTOR_DIRS) !endif clobber_nglayout:: !if "$(WINOS)" == "WIN95" @$(W95MAKE) clobber $(MAKEDIR) $(RAPTOR_DIRS) !else @set MAKE_ARGS=clobber clobber_nglayout:: $(RAPTOR_DIRS) !endif clobber_all_nglayout:: !if "$(WINOS)" == "WIN95" @$(W95MAKE) clobber_all $(MAKEDIR) $(RAPTOR_DIRS) !else @set MAKE_ARGS=clobber_all clobber_all_nglayout:: $(RAPTOR_DIRS) !endif ###################################################################### # Build nglayout Doc++ documentation DOCXX = $(MOZ_TOOLS)\bin\docxx DOCXX_RAPTOR = $(DOCXX) -H -A -p -f -B c:\fake_banner-file_name -j -a DOCXX_DESTDIR = $(MOZ_SRC)\$(MOZ_TOP)\dist\documentation doc_nglayout: -rm -rf $(DOCXX_DESTDIR) -@mkdir $(DOCXX_DESTDIR) @for %d in (nglayout xpcom img dom netlib) do \ $(DOCXX_RAPTOR) -d $(DOCXX_DESTDIR)\%d $(MOZ_SRC)\$(MOZ_TOP)\dist\public\%d\*.h @echo Documentation written to $(DOCXX_DESTDIR) ###################################################################### # Build tarball DATE_CMD=$(MOZ_TOOLS)\bin\unix_date !if [$(DATE_CMD) +%Y%m%d > today.inc] !endif DATE=\ !include "today.inc" DATE=$(DATE: =)^ !if [del today.inc] !endif TAR = tar ZIP = $(MOZ_TOOLS)\bin\zip GZIP = gzip TARBALL = $(MOZ_SRC)\win-$(DATE).tar TARBALL_ZIP = $(MOZ_SRC)\win-$(DATE).zip TARFILES = mozilla README\\nglayout tarballs: tarball_zip tarball_gz tarball_zip: prepare_for_tarballing @echo Making $(TARBALL_ZIP) cd $(MOZ_SRC)\. rm -f $(TARBALL_ZIP) $(ZIP) -9 -r -q $(TARBALL_ZIP) $(TARFILES) tarball_gz: prepare_for_tarballing @echo Making $(TARBALL) cd $(MOZ_SRC)\. rm -f $(TARBALL) $(TARBALL).gz $(TAR) cf $(TARBALL) $(TARFILES) @echo Making gzip of $(TARBALL) $(GZIP) -9 -q $(TARBALL) prepare_for_tarballing: $(NMAKE) -f $(THIS_MAKEFILE) clobber clobber_all