# w3i6mv.nmk: WINDOWS (x64) NMAKE FILE # # $Id: //info.ravenbrook.com/project/mps/version/1.110/code/w3i6mv.nmk#2 $ # Copyright (c) 2001 Ravenbrook Limited. See end of file for license. PFM = w3i6mv # /Gs appears to be necessary to suppress stack checks. Stack checks # (if not suppressed) generate a dependency on the C library, __chkesp, # which causes the linker step to fail when building the DLL, mpsdy.dll. PFMDEFS = /DCONFIG_PF_STRING="w3i6mv" /DCONFIG_PF_W3I6MV \ /DWIN32 /D_WINDOWS /Gs MASM = ml64 MPM = \ \ \ \ \ \ \ \ PLINTH = AMC = AMS = AWL = LO = SNC = MVFF = DW = FMTTEST = POOLN = TESTLIB = !INCLUDE commpre.nmk # Source to object file mappings and CFLAGS amalgamation # # %%VARIETY %%PART: When adding a new variety or part, add new macros which # expand to the files included in the part for each variety # # %%VARIETY: When adding a new 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 building libraries !IF "$(VARIETY)" == "hot" CFLAGS=$(CFLAGSCOMMONPRE) $(CFHOT) $(CFLAGSCOMMONPOST) LINKFLAGS=$(LINKFLAGSCOMMON) $(LFHOT) LIBFLAGS=$(LIBFLAGSCOMMON) $(LIBFLAGSHOT) MPMOBJ0 = $(MPM:<=w3i6mv\hot\) PLINTHOBJ0 = $(PLINTH:<=w3i6mv\hot\) AMSOBJ0 = $(AMS:<=w3i6mv\hot\) AMCOBJ0 = $(AMC:<=w3i6mv\hot\) AWLOBJ0 = $(AWL:<=w3i6mv\hot\) LOOBJ0 = $(LO:<=w3i6mv\hot\) SNCOBJ0 = $(SNC:<=w3i6mv\hot\) MVFFOBJ0 = $(MVFF:<=w3i6mv\hot\) DWOBJ0 = $(DW:<=w3i6mv\hot\) FMTTESTOBJ0 = $(FMTTEST:<=w3i6mv\hot\) POOLNOBJ0 = $(POOLN:<=w3i6mv\hot\) TESTLIBOBJ0 = $(TESTLIB:<=w3i6mv\hot\) !ELSEIF "$(VARIETY)" == "di" CFLAGS=$(CFLAGSCOMMONPRE) $(CFDI) $(CFLAGSCOMMONPOST) LINKFLAGS=$(LINKFLAGSCOMMON) $(LFDI) LIBFLAGS=$(LIBFLAGSCOMMON) $(LIBFLAGSDI) MPMOBJ0 = $(MPM:<=w3i6mv\di\) PLINTHOBJ0 = $(PLINTH:<=w3i6mv\di\) AMSOBJ0 = $(AMS:<=w3i6mv\di\) AMCOBJ0 = $(AMC:<=w3i6mv\di\) AWLOBJ0 = $(AWL:<=w3i6mv\di\) LOOBJ0 = $(LO:<=w3i6mv\di\) SNCOBJ0 = $(SNC:<=w3i6mv\di\) MVFFOBJ0 = $(MVFF:<=w3i6mv\di\) DWOBJ0 = $(DW:<=w3i6mv\di\) FMTTESTOBJ0 = $(FMTTEST:<=w3i6mv\di\) POOLNOBJ0 = $(POOLN:<=w3i6mv\di\) TESTLIBOBJ0 = $(TESTLIB:<=w3i6mv\di\) !ELSEIF "$(VARIETY)" == "cool" CFLAGS=$(CFLAGSCOMMONPRE) $(CFCOOL) $(CFLAGSCOMMONPOST) LINKFLAGS=$(LINKFLAGSCOMMON) $(LFCOOL) LIBFLAGS=$(LIBFLAGSCOMMON) $(LIBFLAGSCOOL) MPMOBJ0 = $(MPM:<=w3i6mv\cool\) PLINTHOBJ0 = $(PLINTH:<=w3i6mv\cool\) AMSOBJ0 = $(AMS:<=w3i6mv\cool\) AMCOBJ0 = $(AMC:<=w3i6mv\cool\) AWLOBJ0 = $(AWL:<=w3i6mv\cool\) LOOBJ0 = $(LO:<=w3i6mv\cool\) SNCOBJ0 = $(SNC:<=w3i6mv\cool\) MVFFOBJ0 = $(MVFF:<=w3i6mv\cool\) DWOBJ0 = $(DW:<=w3i6mv\cool\) FMTTESTOBJ0 = $(FMTTEST:<=w3i6mv\cool\) POOLNOBJ0 = $(POOLN:<=w3i6mv\cool\) TESTLIBOBJ0 = $(TESTLIB:<=w3i6mv\cool\) !ELSEIF "$(VARIETY)" == "ti" CFLAGS=$(CFLAGSCOMMONPRE) $(CFTI) $(CFLAGSCOMMONPOST) LINKFLAGS=$(LINKFLAGSCOMMON) $(LFTI) LIBFLAGS=$(LIBFLAGSCOMMON) $(LIBFLAGSTI) MPMOBJ0 = $(MPM:<=w3i6mv\ti\) PLINTHOBJ0 = $(PLINTH:<=w3i6mv\ti\) AMSOBJ0 = $(AMS:<=w3i6mv\ti\) AMCOBJ0 = $(AMC:<=w3i6mv\ti\) AWLOBJ0 = $(AWL:<=w3i6mv\ti\) LOOBJ0 = $(LO:<=w3i6mv\ti\) SNCOBJ0 = $(SNC:<=w3i6mv\ti\) MVFFOBJ0 = $(MVFF:<=w3i6mv\ti\) DWOBJ0 = $(DW:<=w3i6mv\ti\) FMTTESTOBJ0 = $(FMTTEST:<=w3i6mv\ti\) POOLNOBJ0 = $(POOLN:<=w3i6mv\ti\) TESTLIBOBJ0 = $(TESTLIB:<=w3i6mv\ti\) !ELSEIF "$(VARIETY)" == "rash" CFLAGS=$(CFLAGSCOMMONPRE) $(CFRASH) $(CFLAGSCOMMONPOST) LINKFLAGS=$(LINKFLAGSCOMMON) $(LFRASH) LIBFLAGS=$(LIBFLAGSCOMMON) $(LIBFLAGSRASH) MPMOBJ0 = $(MPM:<=w3i6mv\rash\) PLINTHOBJ0 = $(PLINTH:<=w3i6mv\rash\) AMSOBJ0 = $(AMS:<=w3i6mv\rash\) AMCOBJ0 = $(AMC:<=w3i6mv\rash\) AWLOBJ0 = $(AWL:<=w3i6mv\rash\) LOOBJ0 = $(LO:<=w3i6mv\rash\) SNCOBJ0 = $(SNC:<=w3i6mv\rash\) MVFFOBJ0 = $(MVFF:<=w3i6mv\rash\) DWOBJ0 = $(DW:<=w3i6mv\rash\) FMTTESTOBJ0 = $(FMTTEST:<=w3i6mv\rash\) POOLNOBJ0 = $(POOLN:<=w3i6mv\rash\) TESTLIBOBJ0 = $(TESTLIB:<=w3i6mv\rash\) #!ELSEIF "$(VARIETY)" == "cv" #CFLAGS=$(CFLAGSCOMMON) $(CFCV) #LINKFLAGS=$(LINKFLAGSCOMMON) $(LFCV) #LIBFLAGS=$(LIBFLAGSCOMMON) $(LIBFLAGSCV) #MPMOBJ0 = $(MPM:<=w3i6mv\cv\) #MPMOBJ = $(MPMOBJ0:>=.obj) #PLINTHOBJ0 = $(PLINTH:<=w3i6mv\cv\) #PLINTHOBJ = $(PLINTHOBJ0:>=.obj) #AMSOBJ0 = $(AMS:<=w3i6mv\cv\) #AMSOBJ = $(AMSOBJ0:>=.obj) #AMCOBJ0 = $(AMC:<=w3i6mv\cv\) #AMCOBJ = $(AMCOBJ0:>=.obj) #AWLOBJ0 = $(AWL:<=w3i6mv\cv\) #AWLOBJ = $(AWLOBJ0:>=.obj) #LOOBJ0 = $(LO:<=w3i6mv\cv\) #LOOBJ = $(LOOBJ0:>=.obj) #SNCOBJ0 = $(SNC:<=w3i6mv\cv\) #SNCOBJ = $(SNCOBJ0:>=.obj) #DWOBJ0 = $(DW:<=w3i6mv\cv\) #DWOBJ = $(DWOBJ0:>=.obj) #POOLNOBJ0 = $(POOLN:<=w3i6mv\cv\) #POOLNOBJ = $(POOLNOBJ0:>=.obj) #TESTLIBOBJ0 = $(TESTLIB:<=w3i6mv\cv\) #TESTLIBOBJ = $(TESTLIBOBJ0:>=.obj) !ENDIF # %%PART: When adding a new part, add new macros which expand to the object # files included in the part MPMOBJ = $(MPMOBJ0:>=.obj) PLINTHOBJ = $(PLINTHOBJ0:>=.obj) AMSOBJ = $(AMSOBJ0:>=.obj) AMCOBJ = $(AMCOBJ0:>=.obj) AWLOBJ = $(AWLOBJ0:>=.obj) LOOBJ = $(LOOBJ0:>=.obj) SNCOBJ = $(SNCOBJ0:>=.obj) MVFFOBJ = $(MVFFOBJ0:>=.obj) DWOBJ = $(DWOBJ0:>=.obj) FMTTESTOBJ = $(FMTTESTOBJ0:>=.obj) POOLNOBJ = $(POOLNOBJ0:>=.obj) TESTLIBOBJ = $(TESTLIBOBJ0:>=.obj) !INCLUDE commpost.nmk # C. COPYRIGHT AND LICENSE # # Copyright (C) 2001-2002 Ravenbrook Limited . # 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.