# w3ppmv.nmk: WINDOWS (POWERPC) NMAKE FILE
#
# $Id: //info.ravenbrook.com/project/mps/version/1.104/code/w3ppmv.nmk#1 $
# Copyright (c) 2001 Ravenbrook Limited.  See end of file for license.

PFM = w3ppmv

RAINBOWPATH = MSVISUAL\WIN32\PPC
DONGLELIB = $(RAINBOWPATH)\spromeps.lib

PFMDEFS = /DWIN32 /D_WINDOWS /I$(RAINBOWPATH)

MPM = <ring> <mpm> <bt> <protocol> <boot> \
      <arenavm> <arenacl> <locus> <arena> <global> <tract> <reserv> \
      <pool> <poolabs> <poolmfs> <poolmv> \
      <root> <format> <buffer> <walk> <lockw3> \
      <ref> <trace> <protw3> <prmcan> <shield> <vmw3> \
      <than> <ssan> <mpsi> <mpsiw3> <ld> <span> \
      <event> <seg> <sac> <poolmrg> <message> <dbgpool> <dbgpooli> \
      <abq> <meter> <cbs> <poolmv2> <splay> <version>
SW  = <ring> <mpm> <bt> <protocol> <boot> \
      <arenavm> <arenacl> <locus> <arena> <global> <tract> <reserv> \
      <pool> <poolabs> <poolmfs> <poolmv> \
      <root> <format> <buffer> <walk> \
      <ref> <trace> <protsw> <prmcan> <shield> <vmw3> \
      <than> <ssan> <mpsi> <ld> \
      <event> <seg> <sac> <poolmrg> <message> <mpsioan> \
      <poolams> <poolamsi> <dbgpool> <dbgpooli> \
      <abq> <meter> <cbs> <poolmv2> <splay> <version> <poolmvff>
PLINTH = <mpsliban> <mpsioan>
AMC = <poolamc>
AMS = <poolams> <poolamsi>
AWL = <poolawl>
LO = <poollo>
DW = <fmtdy> <fmtno>
DWTEST = <fmtdytst>
HETEST = <fmthe> <fmtdy> <fmtno> <fmtdytst>
POOLN = <pooln>
TESTLIB = <testlib>


!INCLUDE commpre.nmk


# Source to object file mappings
# and CFLAGS amalgamation
# %%VARIETY %%PART: Add new macros which expand to the files included
# in the part for each variety
# %%VARIETY: Add a CFLAGS macro which expands to the flags that that variety
# should use when compiling C.  And a LINKFLAGS macro which expands to the
# flags that the variety should use when building executables.  And a LIBFLAGS
# macro which expands to the flags that the variety should use when builing
# libraries

!IF "$(VARIETY)" == "he"
CFLAGS=$(CFLAGSCOMMONPRE) $(CFHE) $(CFLAGSCOMMONPOST)
LINKFLAGS=$(LINKFLAGSCOMMON) $(LFHE)
LIBFLAGS=$(LIBFLAGSCOMMON) $(LIBFLAGSHE)
MPMOBJ0 = $(MPM:<=w3ppmv\he\)
MPMOBJ = $(MPMOBJ0:>=.obj)
PLINTHOBJ0 = $(PLINTH:<=w3ppmv\he\)
PLINTHOBJ = $(PLINTHOBJ0:>=.obj)
SWOBJ0 = $(SW:<=w3ppmv\he\)
SWOBJ = $(SWOBJ0:>=.obj)
AMSOBJ0 = $(AMS:<=w3ppmv\he\)
AMSOBJ = $(AMSOBJ0:>=.obj)
AMCOBJ0 = $(AMC:<=w3ppmv\he\)
AMCOBJ = $(AMCOBJ0:>=.obj)
AWLOBJ0 = $(AWL:<=w3ppmv\he\)
AWLOBJ = $(AWLOBJ0:>=.obj)
LOOBJ0 = $(LO:<=w3ppmv\he\)
LOOBJ = $(LOOBJ0:>=.obj)
SNCOBJ0 = $(SNC:<=w3ppmv\he\)
SNCOBJ = $(SNCOBJ0:>=.obj)
DWOBJ0 = $(DW:<=w3ppmv\he\)
DWOBJ = $(DWOBJ0:>=.obj)
DWTESTOBJ0 = $(DWTEST:<=w3ppmv\he\)
DWTESTOBJ = $(DWTESTOBJ0:>=.obj)
HETESTOBJ0 = $(HETEST:<=w3ppmv\he\)
HETESTOBJ = $(HETESTOBJ0:>=.obj)
POOLNOBJ0 = $(POOLN:<=w3ppmv\he\)
POOLNOBJ = $(POOLNOBJ0:>=.obj)
TESTLIBOBJ0 = $(TESTLIB:<=w3ppmv\he\)
TESTLIBOBJ = $(TESTLIBOBJ0:>=.obj)

!ELSEIF "$(VARIETY)" == "ce"
CFLAGS=$(CFLAGSCOMMONPRE) $(CFCE) $(CFLAGSCOMMONPOST)
LINKFLAGS=$(LINKFLAGSCOMMON) $(LFCE)
LIBFLAGS=$(LIBFLAGSCOMMON) $(LIBFLAGSCE)
MPMOBJ0 = $(MPM:<=w3ppmv\ce\)
MPMOBJ = $(MPMOBJ0:>=.obj)
PLINTHOBJ0 = $(PLINTH:<=w3ppmv\ce\)
PLINTHOBJ = $(PLINTHOBJ0:>=.obj)
SWOBJ0 = $(SW:<=w3ppmv\ce\)
SWOBJ = $(SWOBJ0:>=.obj)
AMSOBJ0 = $(AMS:<=w3ppmv\ce\)
AMSOBJ = $(AMSOBJ0:>=.obj)
AMCOBJ0 = $(AMC:<=w3ppmv\ce\)
AMCOBJ = $(AMCOBJ0:>=.obj)
AWLOBJ0 = $(AWL:<=w3ppmv\ce\)
AWLOBJ = $(AWLOBJ0:>=.obj)
LOOBJ0 = $(LO:<=w3ppmv\ce\)
LOOBJ = $(LOOBJ0:>=.obj)
SNCOBJ0 = $(SNC:<=w3ppmv\ce\)
SNCOBJ = $(SNCOBJ0:>=.obj)
DWOBJ0 = $(DW:<=w3ppmv\ce\)
DWOBJ = $(DWOBJ0:>=.obj)
DWTESTOBJ0 = $(DWTEST:<=w3ppmv\ce\)
DWTESTOBJ = $(DWTESTOBJ0:>=.obj)
HETESTOBJ0 = $(HETEST:<=w3ppmv\ce\)
HETESTOBJ = $(HETESTOBJ0:>=.obj)
POOLNOBJ0 = $(POOLN:<=w3ppmv\ce\)
POOLNOBJ = $(POOLNOBJ0:>=.obj)
TESTLIBOBJ0 = $(TESTLIB:<=w3ppmv\ce\)
TESTLIBOBJ = $(TESTLIBOBJ0:>=.obj)

!ELSEIF "$(VARIETY)" == "hi"
CFLAGS=$(CFLAGSCOMMONPRE) $(CFHI) $(CFLAGSCOMMONPOST)
LINKFLAGS=$(LINKFLAGSCOMMON) $(LFHI)
LIBFLAGS=$(LIBFLAGSCOMMON) $(LIBFLAGSHI)
MPMOBJ0 = $(MPM:<=w3ppmv\hi\)
MPMOBJ = $(MPMOBJ0:>=.obj)
PLINTHOBJ0 = $(PLINTH:<=w3ppmv\hi\)
PLINTHOBJ = $(PLINTHOBJ0:>=.obj)
SWOBJ0 = $(SW:<=w3ppmv\hi\)
SWOBJ = $(SWOBJ0:>=.obj)
AMSOBJ0 = $(AMS:<=w3ppmv\hi\)
AMSOBJ = $(AMSOBJ0:>=.obj)
AMCOBJ0 = $(AMC:<=w3ppmv\hi\)
AMCOBJ = $(AMCOBJ0:>=.obj)
AWLOBJ0 = $(AWL:<=w3ppmv\hi\)
AWLOBJ = $(AWLOBJ0:>=.obj)
LOOBJ0 = $(LO:<=w3ppmv\hi\)
LOOBJ = $(LOOBJ0:>=.obj)
SNCOBJ0 = $(SNC:<=w3ppmv\hi\)
SNCOBJ = $(SNCOBJ0:>=.obj)
DWOBJ0 = $(DW:<=w3ppmv\hi\)
DWOBJ = $(DWOBJ0:>=.obj)
DWTESTOBJ0 = $(DWTEST:<=w3ppmv\hi\)
DWTESTOBJ = $(DWTESTOBJ0:>=.obj)
HETESTOBJ0 = $(HETEST:<=w3ppmv\hi\)
HETESTOBJ = $(HETESTOBJ0:>=.obj)
POOLNOBJ0 = $(POOLN:<=w3ppmv\hi\)
POOLNOBJ = $(POOLNOBJ0:>=.obj)
TESTLIBOBJ0 = $(TESTLIB:<=w3ppmv\hi\)
TESTLIBOBJ = $(TESTLIBOBJ0:>=.obj)

!ELSEIF "$(VARIETY)" == "ci"
CFLAGS=$(CFLAGSCOMMONPRE) $(CFCI) $(CFLAGSCOMMONPOST)
LINKFLAGS=$(LINKFLAGSCOMMON) $(LFCI)
LIBFLAGS=$(LIBFLAGSCOMMON) $(LIBFLAGSCI)
MPMOBJ0 = $(MPM:<=w3ppmv\ci\)
MPMOBJ = $(MPMOBJ0:>=.obj)
PLINTHOBJ0 = $(PLINTH:<=w3ppmv\ci\)
PLINTHOBJ = $(PLINTHOBJ0:>=.obj)
SWOBJ0 = $(SW:<=w3ppmv\ci\)
SWOBJ = $(SWOBJ0:>=.obj)
AMSOBJ0 = $(AMS:<=w3ppmv\ci\)
AMSOBJ = $(AMSOBJ0:>=.obj)
AMCOBJ0 = $(AMC:<=w3ppmv\ci\)
AMCOBJ = $(AMCOBJ0:>=.obj)
AWLOBJ0 = $(AWL:<=w3ppmv\ci\)
AWLOBJ = $(AWLOBJ0:>=.obj)
LOOBJ0 = $(LO:<=w3ppmv\ci\)
LOOBJ = $(LOOBJ0:>=.obj)
SNCOBJ0 = $(SNC:<=w3ppmv\ci\)
SNCOBJ = $(SNCOBJ0:>=.obj)
DWOBJ0 = $(DW:<=w3ppmv\ci\)
DWOBJ = $(DWOBJ0:>=.obj)
DWTESTOBJ0 = $(DWTEST:<=w3ppmv\ci\)
DWTESTOBJ = $(DWTESTOBJ0:>=.obj)
HETESTOBJ0 = $(HETEST:<=w3ppmv\ci\)
HETESTOBJ = $(HETESTOBJ0:>=.obj)
POOLNOBJ0 = $(POOLN:<=w3ppmv\ci\)
POOLNOBJ = $(POOLNOBJ0:>=.obj)
TESTLIBOBJ0 = $(TESTLIB:<=w3ppmv\ci\)
TESTLIBOBJ = $(TESTLIBOBJ0:>=.obj)

!ELSEIF "$(VARIETY)" == "ti"
CFLAGS=$(CFLAGSCOMMONPRE) $(CFTI) $(CFLAGSCOMMONPOST)
LINKFLAGS=$(LINKFLAGSCOMMON) $(LFTI)
LIBFLAGS=$(LIBFLAGSCOMMON) $(LIBFLAGSTI)
MPMOBJ0 = $(MPM:<=w3ppmv\ti\)
MPMOBJ = $(MPMOBJ0:>=.obj)
PLINTHOBJ0 = $(PLINTH:<=w3ppmv\ti\)
PLINTHOBJ = $(PLINTHOBJ0:>=.obj)
SWOBJ0 = $(SW:<=w3ppmv\ti\)
SWOBJ = $(SWOBJ0:>=.obj)
AMSOBJ0 = $(AMS:<=w3ppmv\ti\)
AMSOBJ = $(AMSOBJ0:>=.obj)
AMCOBJ0 = $(AMC:<=w3ppmv\ti\)
AMCOBJ = $(AMCOBJ0:>=.obj)
AWLOBJ0 = $(AWL:<=w3ppmv\ti\)
AWLOBJ = $(AWLOBJ0:>=.obj)
LOOBJ0 = $(LO:<=w3ppmv\ti\)
LOOBJ = $(LOOBJ0:>=.obj)
SNCOBJ0 = $(SNC:<=w3ppmv\ti\)
SNCOBJ = $(SNCOBJ0:>=.obj)
DWOBJ0 = $(DW:<=w3ppmv\ti\)
DWOBJ = $(DWOBJ0:>=.obj)
DWTESTOBJ0 = $(DWTEST:<=w3ppmv\ti\)
DWTESTOBJ = $(DWTESTOBJ0:>=.obj)
HETESTOBJ0 = $(HETEST:<=w3ppmv\ti\)
HETESTOBJ = $(HETESTOBJ0:>=.obj)
POOLNOBJ0 = $(POOLN:<=w3ppmv\ti\)
POOLNOBJ = $(POOLNOBJ0:>=.obj)
TESTLIBOBJ0 = $(TESTLIB:<=w3ppmv\ti\)
TESTLIBOBJ = $(TESTLIBOBJ0:>=.obj)

!ELSEIF "$(VARIETY)" == "wi"
CFLAGS=$(CFLAGSCOMMONPRE) $(CFWI) $(CFLAGSCOMMONPOST)
LINKFLAGS=$(LINKFLAGSCOMMON) $(LFWI)
LIBFLAGS=$(LIBFLAGSCOMMON) $(LIBFLAGSWI)
MPMOBJ0 = $(MPM:<=w3ppmv\wi\)
MPMOBJ = $(MPMOBJ0:>=.obj)
PLINTHOBJ0 = $(PLINTH:<=w3ppmv\wi\)
PLINTHOBJ = $(PLINTHOBJ0:>=.obj)
SWOBJ0 = $(SW:<=w3ppmv\wi\)
SWOBJ = $(SWOBJ0:>=.obj)
AMSOBJ0 = $(AMS:<=w3ppmv\wi\)
AMSOBJ = $(AMSOBJ0:>=.obj)
AMCOBJ0 = $(AMC:<=w3ppmv\wi\)
AMCOBJ = $(AMCOBJ0:>=.obj)
AWLOBJ0 = $(AWL:<=w3ppmv\wi\)
AWLOBJ = $(AWLOBJ0:>=.obj)
LOOBJ0 = $(LO:<=w3ppmv\wi\)
LOOBJ = $(LOOBJ0:>=.obj)
SNCOBJ0 = $(SNC:<=w3ppmv\wi\)
SNCOBJ = $(SNCOBJ0:>=.obj)
DWOBJ0 = $(DW:<=w3ppmv\wi\)
DWOBJ = $(DWOBJ0:>=.obj)
DWTESTOBJ0 = $(DWTEST:<=w3ppmv\wi\)
DWTESTOBJ = $(DWTESTOBJ0:>=.obj)
HETESTOBJ0 = $(HETEST:<=w3ppmv\wi\)
HETESTOBJ = $(HETESTOBJ0:>=.obj)
POOLNOBJ0 = $(POOLN:<=w3ppmv\wi\)
POOLNOBJ = $(POOLNOBJ0:>=.obj)
TESTLIBOBJ0 = $(TESTLIB:<=w3ppmv\wi\)
TESTLIBOBJ = $(TESTLIBOBJ0:>=.obj)

!ELSEIF "$(VARIETY)" == "we"
CFLAGS=$(CFLAGSCOMMONPRE) $(CFWE) $(CFLAGSCOMMONPOST)
LINKFLAGS=$(LINKFLAGSCOMMON) $(LFWE)
LIBFLAGS=$(LIBFLAGSCOMMON) $(LIBFLAGSWE)
MPMOBJ0 = $(MPM:<=w3ppmv\we\)
MPMOBJ = $(MPMOBJ0:>=.obj)
PLINTHOBJ0 = $(PLINTH:<=w3ppmv\we\)
PLINTHOBJ = $(PLINTHOBJ0:>=.obj)
SWOBJ0 = $(SW:<=w3ppmv\we\)
SWOBJ = $(SWOBJ0:>=.obj)
AMSOBJ0 = $(AMS:<=w3ppmv\we\)
AMSOBJ = $(AMSOBJ0:>=.obj)
AMCOBJ0 = $(AMC:<=w3ppmv\we\)
AMCOBJ = $(AMCOBJ0:>=.obj)
AWLOBJ0 = $(AWL:<=w3ppmv\we\)
AWLOBJ = $(AWLOBJ0:>=.obj)
LOOBJ0 = $(LO:<=w3ppmv\we\)
LOOBJ = $(LOOBJ0:>=.obj)
SNCOBJ0 = $(SNC:<=w3ppmv\we\)
SNCOBJ = $(SNCOBJ0:>=.obj)
DWOBJ0 = $(DW:<=w3ppmv\we\)
DWOBJ = $(DWOBJ0:>=.obj)
DWTESTOBJ0 = $(DWTEST:<=w3ppmv\we\)
DWTESTOBJ = $(DWTESTOBJ0:>=.obj)
HETESTOBJ0 = $(HETEST:<=w3ppmv\we\)
HETESTOBJ = $(HETESTOBJ0:>=.obj)
POOLNOBJ0 = $(POOLN:<=w3ppmv\we\)
POOLNOBJ = $(POOLNOBJ0:>=.obj)
TESTLIBOBJ0 = $(TESTLIB:<=w3ppmv\we\)
TESTLIBOBJ = $(TESTLIBOBJ0:>=.obj)

#!ELSEIF "$(VARIETY)" == "cv"
#CFLAGS=$(CFLAGSCOMMON) $(CFCV)
#LINKFLAGS=$(LINKFLAGSCOMMON) $(LFCV)
#LIBFLAGS=$(LIBFLAGSCOMMON) $(LIBFLAGSCV)
#MPMOBJ0 = $(MPM:<=w3ppmv\cv\)
#MPMOBJ = $(MPMOBJ0:>=.obj)
#PLINTHOBJ0 = $(PLINTH:<=w3ppmv\cv\)
#PLINTHOBJ = $(PLINTHOBJ0:>=.obj)
#SWOBJ0 = $(SW:<=w3ppmv\cv\)
#SWOBJ = $(SWOBJ0:>=.obj)
#AMSOBJ0 = $(AMS:<=w3ppmv\cv\)
#AMSOBJ = $(AMSOBJ0:>=.obj)
#AMCOBJ0 = $(AMC:<=w3ppmv\cv\)
#AMCOBJ = $(AMCOBJ0:>=.obj)
#AWLOBJ0 = $(AWL:<=w3ppmv\cv\)
#AWLOBJ = $(AWLOBJ0:>=.obj)
#LOOBJ0 = $(LO:<=w3ppmv\cv\)
#LOOBJ = $(LOOBJ0:>=.obj)
#SNCOBJ0 = $(SNC:<=w3ppmv\cv\)
#SNCOBJ = $(SNCOBJ0:>=.obj)
#MRGOBJ0 = $(MRG:<=w3ppmv\cv\)
#MRGOBJ = $(MRGOBJ0:>=.obj)
#DWOBJ0 = $(DW:<=w3ppmv\cv\)
#DWOBJ = $(DWOBJ0:>=.obj)
#DWTESTOBJ0 = $(DWTEST:<=w3ppmv\cv\)
#DWTESTOBJ = $(DWTESTOBJ0:>=.obj)
#POOLNOBJ0 = $(POOLN:<=w3ppmv\cv\)
#POOLNOBJ = $(POOLNOBJ0:>=.obj)
#TESTLIBOBJ0 = $(TESTLIB:<=w3ppmv\cv\)
#TESTLIBOBJ = $(TESTLIBOBJ0:>=.obj)

!ENDIF


!INCLUDE commpost.nmk


# C. COPYRIGHT AND LICENSE
#
# Copyright (C) 2001-2002 Ravenbrook Limited <http://www.ravenbrook.com/>.
# All rights reserved.  This is an open source license.  Contact
# Ravenbrook for commercial licensing options.
# 
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
# 
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 
# 3. Redistributions in any form must be accompanied by information on how
# to obtain complete source code for this software and any accompanying
# software that uses this software.  The source code must either be
# included in the distribution or be available for no more than the cost
# of distribution plus a nominal fee, and must be freely redistributable
# under reasonable conditions.  For an executable file, complete source
# code means the source code for all modules it contains. It does not
# include source code for modules or files that typically accompany the
# major components of the operating system on which the executable file
# runs.
# 
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
# IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
# PURPOSE, OR NON-INFRINGEMENT, ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.