13ff48bf5SDavid du Colombier# Copyright (C) 1991-2001 Aladdin Enterprises. All rights reserved. 27dd7cddfSDavid du Colombier# 3*593dc095SDavid du Colombier# This software is provided AS-IS with no warranty, either express or 4*593dc095SDavid du Colombier# implied. 57dd7cddfSDavid du Colombier# 6*593dc095SDavid du Colombier# This software is distributed under license and may not be copied, 7*593dc095SDavid du Colombier# modified or distributed except as expressly authorized under the terms 8*593dc095SDavid du Colombier# of the license contained in the file LICENSE in this distribution. 97dd7cddfSDavid du Colombier# 10*593dc095SDavid du Colombier# For more information about licensing, please refer to 11*593dc095SDavid du Colombier# http://www.ghostscript.com/licensing/. For information on 12*593dc095SDavid du Colombier# commercial licensing, go to http://www.artifex.com/licensing/ or 13*593dc095SDavid du Colombier# contact Artifex Software, Inc., 101 Lucas Valley Road #110, 14*593dc095SDavid du Colombier# San Rafael, CA 94903, U.S.A., +1(415)492-9861. 157dd7cddfSDavid du Colombier 16*593dc095SDavid du Colombier# $Id: msvclib.mak,v 1.29 2004/12/20 22:17:39 igor Exp $ 177dd7cddfSDavid du Colombier# makefile for Microsoft Visual C++ 4.1 or later, Windows NT or Windows 95 LIBRARY. 187dd7cddfSDavid du Colombier# 197dd7cddfSDavid du Colombier# All configurable options are surrounded by !ifndef/!endif to allow 207dd7cddfSDavid du Colombier# preconfiguration from within another makefile. 217dd7cddfSDavid du Colombier 227dd7cddfSDavid du Colombier# ------------------------------- Options ------------------------------- # 237dd7cddfSDavid du Colombier 247dd7cddfSDavid du Colombier###### This section is the only part of the file you should need to edit. 257dd7cddfSDavid du Colombier 267dd7cddfSDavid du Colombier# ------ Generic options ------ # 277dd7cddfSDavid du Colombier 287dd7cddfSDavid du Colombier# Define the root directory for Ghostscript installation. 297dd7cddfSDavid du Colombier 307dd7cddfSDavid du Colombier!ifndef AROOTDIR 313ff48bf5SDavid du ColombierAROOTDIR=c:/gs 327dd7cddfSDavid du Colombier!endif 337dd7cddfSDavid du Colombier!ifndef GSROOTDIR 347dd7cddfSDavid du ColombierGSROOTDIR=$(AROOTDIR)/gs$(GS_DOT_VERSION) 357dd7cddfSDavid du Colombier!endif 367dd7cddfSDavid du Colombier 377dd7cddfSDavid du Colombier# Define the directory that will hold documentation at runtime. 387dd7cddfSDavid du Colombier 397dd7cddfSDavid du Colombier!ifndef GS_DOCDIR 407dd7cddfSDavid du ColombierGS_DOCDIR=$(GSROOTDIR)/doc 417dd7cddfSDavid du Colombier!endif 427dd7cddfSDavid du Colombier 43*593dc095SDavid du Colombier# Define the default directory/ies for the runtime initialization, resource and 447dd7cddfSDavid du Colombier# font files. Separate multiple directories with ';'. 457dd7cddfSDavid du Colombier# Use / to indicate directories, not \. 467dd7cddfSDavid du Colombier# MSVC will not allow \'s here because it sees '\;' CPP-style as an 477dd7cddfSDavid du Colombier# illegal escape. 487dd7cddfSDavid du Colombier 497dd7cddfSDavid du Colombier!ifndef GS_LIB_DEFAULT 50*593dc095SDavid du ColombierGS_LIB_DEFAULT=$(GSROOTDIR)/lib;$(GSROOTDIR)/Resource;$(AROOTDIR)/fonts 517dd7cddfSDavid du Colombier!endif 527dd7cddfSDavid du Colombier 537dd7cddfSDavid du Colombier# Define whether or not searching for initialization files should always 547dd7cddfSDavid du Colombier# look in the current directory first. This leads to well-known security 557dd7cddfSDavid du Colombier# and confusion problems, but users insist on it. 567dd7cddfSDavid du Colombier# NOTE: this also affects searching for files named on the command line: 577dd7cddfSDavid du Colombier# see the "File searching" section of Use.htm for full details. 587dd7cddfSDavid du Colombier# Because of this, setting SEARCH_HERE_FIRST to 0 is not recommended. 597dd7cddfSDavid du Colombier 607dd7cddfSDavid du Colombier!ifndef SEARCH_HERE_FIRST 617dd7cddfSDavid du ColombierSEARCH_HERE_FIRST=1 627dd7cddfSDavid du Colombier!endif 637dd7cddfSDavid du Colombier 647dd7cddfSDavid du Colombier# Define the name of the interpreter initialization file. 657dd7cddfSDavid du Colombier# (There is no reason to change this.) 667dd7cddfSDavid du Colombier 677dd7cddfSDavid du ColombierGS_INIT=gs_init.ps 687dd7cddfSDavid du Colombier 697dd7cddfSDavid du Colombier# Choose generic configuration options. 707dd7cddfSDavid du Colombier 717dd7cddfSDavid du Colombier# Setting DEBUG=1 includes debugging features (-Z switch) in the code. 727dd7cddfSDavid du Colombier# Code runs substantially slower even if no debugging switches are set, 737dd7cddfSDavid du Colombier# and also takes about another 25K of memory. 747dd7cddfSDavid du Colombier 757dd7cddfSDavid du Colombier!ifndef DEBUG 767dd7cddfSDavid du ColombierDEBUG=0 777dd7cddfSDavid du Colombier!endif 787dd7cddfSDavid du Colombier 797dd7cddfSDavid du Colombier# Setting TDEBUG=1 includes symbol table information for the debugger, 807dd7cddfSDavid du Colombier# and also enables stack checking. Code is substantially slower and larger. 817dd7cddfSDavid du Colombier 827dd7cddfSDavid du Colombier# NOTE: The MSVC++ 5.0 compiler produces incorrect output code with TDEBUG=0. 837dd7cddfSDavid du Colombier# Leave TDEBUG set to 1. 847dd7cddfSDavid du Colombier 857dd7cddfSDavid du Colombier!ifndef TDEBUG 867dd7cddfSDavid du ColombierTDEBUG=1 877dd7cddfSDavid du Colombier!endif 887dd7cddfSDavid du Colombier 897dd7cddfSDavid du Colombier# Setting NOPRIVATE=1 makes private (static) procedures and variables public, 907dd7cddfSDavid du Colombier# so they are visible to the debugger and profiler. 917dd7cddfSDavid du Colombier# No execution time or space penalty, just larger .OBJ and .EXE files. 927dd7cddfSDavid du Colombier 937dd7cddfSDavid du Colombier!ifndef NOPRIVATE 947dd7cddfSDavid du ColombierNOPRIVATE=0 957dd7cddfSDavid du Colombier!endif 967dd7cddfSDavid du Colombier 977dd7cddfSDavid du Colombier# Define the name of the executable file. 987dd7cddfSDavid du Colombier 997dd7cddfSDavid du Colombier!ifndef GS 1007dd7cddfSDavid du ColombierGS=gslib 1017dd7cddfSDavid du Colombier!endif 1027dd7cddfSDavid du Colombier 1037dd7cddfSDavid du Colombier# Define the directory for the final executable, and the 1047dd7cddfSDavid du Colombier# source, generated intermediate file, and object directories 1057dd7cddfSDavid du Colombier# for the graphics library (GL) and the PostScript/PDF interpreter (PS). 1067dd7cddfSDavid du Colombier 1077dd7cddfSDavid du Colombier!ifndef BINDIR 1087dd7cddfSDavid du ColombierBINDIR=.\bin 1097dd7cddfSDavid du Colombier!endif 1107dd7cddfSDavid du Colombier!ifndef GLSRCDIR 1117dd7cddfSDavid du ColombierGLSRCDIR=.\src 1127dd7cddfSDavid du Colombier!endif 1137dd7cddfSDavid du Colombier!ifndef GLGENDIR 1147dd7cddfSDavid du ColombierGLGENDIR=.\obj 1157dd7cddfSDavid du Colombier!endif 1167dd7cddfSDavid du Colombier!ifndef GLOBJDIR 1177dd7cddfSDavid du ColombierGLOBJDIR=.\obj 1187dd7cddfSDavid du Colombier!endif 1197dd7cddfSDavid du Colombier 1207dd7cddfSDavid du Colombier# Do not edit the next group of lines. 1217dd7cddfSDavid du ColombierNUL= 1227dd7cddfSDavid du ColombierDD=$(GLGENDIR)\$(NUL) 1237dd7cddfSDavid du ColombierGLD=$(GLGENDIR)\$(NUL) 1247dd7cddfSDavid du Colombier 1257dd7cddfSDavid du Colombier# Define the directory where the IJG JPEG library sources are stored, 1267dd7cddfSDavid du Colombier# and the major version of the library that is stored there. 1277dd7cddfSDavid du Colombier# You may need to change this if the IJG library version changes. 1287dd7cddfSDavid du Colombier# See jpeg.mak for more information. 1297dd7cddfSDavid du Colombier 1307dd7cddfSDavid du Colombier!ifndef JSRCDIR 1317dd7cddfSDavid du ColombierJSRCDIR=jpeg 1327dd7cddfSDavid du ColombierJVERSION=6 1337dd7cddfSDavid du Colombier!endif 1347dd7cddfSDavid du Colombier 1357dd7cddfSDavid du Colombier# Define the directory where the PNG library sources are stored, 1367dd7cddfSDavid du Colombier# and the version of the library that is stored there. 1377dd7cddfSDavid du Colombier# You may need to change this if the libpng version changes. 1387dd7cddfSDavid du Colombier# See libpng.mak for more information. 1397dd7cddfSDavid du Colombier 1407dd7cddfSDavid du Colombier!ifndef PSRCDIR 1417dd7cddfSDavid du ColombierPSRCDIR=libpng 142*593dc095SDavid du ColombierPVERSION=10208 1437dd7cddfSDavid du Colombier!endif 1447dd7cddfSDavid du Colombier 1457dd7cddfSDavid du Colombier# Define the directory where the zlib sources are stored. 1467dd7cddfSDavid du Colombier# See zlib.mak for more information. 1477dd7cddfSDavid du Colombier 1487dd7cddfSDavid du Colombier!ifndef ZSRCDIR 1497dd7cddfSDavid du ColombierZSRCDIR=zlib 1507dd7cddfSDavid du Colombier!endif 1517dd7cddfSDavid du Colombier 152*593dc095SDavid du Colombier# Define the jbig2dec library source location. 153*593dc095SDavid du Colombier# See jbig2.mak for more information. 154*593dc095SDavid du Colombier 155*593dc095SDavid du Colombier!ifndef JBIG2SRCDIR 156*593dc095SDavid du ColombierJBIG2SRCDIR=jbig2dec 157*593dc095SDavid du Colombier!endif 158*593dc095SDavid du Colombier 1593ff48bf5SDavid du Colombier# Define the directory where the icclib source are stored. 1603ff48bf5SDavid du Colombier# See icclib.mak for more information 1613ff48bf5SDavid du Colombier 1623ff48bf5SDavid du Colombier!ifndef ICCSRCDIR 1633ff48bf5SDavid du ColombierICCSRCDIR=icclib 1643ff48bf5SDavid du Colombier!endif 1653ff48bf5SDavid du Colombier 1667dd7cddfSDavid du Colombier# Define any other compilation flags. 1677dd7cddfSDavid du Colombier 1687dd7cddfSDavid du Colombier!ifndef CFLAGS 1697dd7cddfSDavid du ColombierCFLAGS= 1707dd7cddfSDavid du Colombier!endif 1717dd7cddfSDavid du Colombier 1727dd7cddfSDavid du Colombier# ------ Platform-specific options ------ # 1737dd7cddfSDavid du Colombier 174*593dc095SDavid du Colombier# Define which major version of MSVC is being used (currently, 4, 5 & 6 supported) 1757dd7cddfSDavid du Colombier 1767dd7cddfSDavid du Colombier!ifndef MSVC_VERSION 177*593dc095SDavid du ColombierMSVC_VERSION = 6 1787dd7cddfSDavid du Colombier!endif 1797dd7cddfSDavid du Colombier 1807dd7cddfSDavid du Colombier# Define the drive, directory, and compiler name for the Microsoft C files. 1817dd7cddfSDavid du Colombier# COMPDIR contains the compiler and linker (normally \msdev\bin). 1823ff48bf5SDavid du Colombier# MSINCDIR contains the include files (normally \msdev\include). 1837dd7cddfSDavid du Colombier# LIBDIR contains the library files (normally \msdev\lib). 1847dd7cddfSDavid du Colombier# COMP is the full C compiler path name (normally \msdev\bin\cl). 1857dd7cddfSDavid du Colombier# COMPCPP is the full C++ compiler path name (normally \msdev\bin\cl). 1867dd7cddfSDavid du Colombier# COMPAUX is the compiler name for DOS utilities (normally \msdev\bin\cl). 1877dd7cddfSDavid du Colombier# RCOMP is the resource compiler name (normallly \msdev\bin\rc). 1887dd7cddfSDavid du Colombier# LINK is the full linker path name (normally \msdev\bin\link). 1893ff48bf5SDavid du Colombier# Note that when MSINCDIR and LIBDIR are used, they always get a '\' appended, 1907dd7cddfSDavid du Colombier# so if you want to use the current directory, use an explicit '.'. 1917dd7cddfSDavid du Colombier 1927dd7cddfSDavid du Colombier!if $(MSVC_VERSION) == 4 1937dd7cddfSDavid du Colombier! ifndef DEVSTUDIO 1947dd7cddfSDavid du ColombierDEVSTUDIO=c:\msdev 1957dd7cddfSDavid du Colombier! endif 1967dd7cddfSDavid du ColombierCOMPBASE=$(DEVSTUDIO) 1977dd7cddfSDavid du ColombierSHAREDBASE=$(DEVSTUDIO) 1987dd7cddfSDavid du Colombier!endif 1997dd7cddfSDavid du Colombier 2007dd7cddfSDavid du Colombier!if $(MSVC_VERSION) == 5 2017dd7cddfSDavid du Colombier! ifndef DEVSTUDIO 2023ff48bf5SDavid du ColombierDEVSTUDIO=C:\Program Files\Devstudio 2037dd7cddfSDavid du Colombier! endif 2043ff48bf5SDavid du Colombier!if "$(DEVSTUDIO)"=="" 2053ff48bf5SDavid du ColombierCOMPBASE= 2063ff48bf5SDavid du ColombierSHAREDBASE= 2073ff48bf5SDavid du Colombier!else 2087dd7cddfSDavid du ColombierCOMPBASE=$(DEVSTUDIO)\VC 2097dd7cddfSDavid du ColombierSHAREDBASE=$(DEVSTUDIO)\SharedIDE 2107dd7cddfSDavid du Colombier!endif 2113ff48bf5SDavid du Colombier!endif 2127dd7cddfSDavid du Colombier 2137dd7cddfSDavid du Colombier!if $(MSVC_VERSION) == 6 2147dd7cddfSDavid du Colombier! ifndef DEVSTUDIO 2153ff48bf5SDavid du ColombierDEVSTUDIO=C:\Program Files\Microsoft Visual Studio 2167dd7cddfSDavid du Colombier! endif 2173ff48bf5SDavid du Colombier!if "$(DEVSTUDIO)"=="" 2183ff48bf5SDavid du ColombierCOMPBASE= 2193ff48bf5SDavid du ColombierSHAREDBASE= 2203ff48bf5SDavid du Colombier!else 2217dd7cddfSDavid du ColombierCOMPBASE=$(DEVSTUDIO)\VC98 2227dd7cddfSDavid du ColombierSHAREDBASE=$(DEVSTUDIO)\Common\MSDev98 2237dd7cddfSDavid du Colombier!endif 2243ff48bf5SDavid du Colombier!endif 2257dd7cddfSDavid du Colombier 2263ff48bf5SDavid du Colombier# Some environments don't want to specify the path names for the tools at all. 2273ff48bf5SDavid du Colombier# Typical definitions for such an environment would be: 2283ff48bf5SDavid du Colombier# MSINCDIR= LIBDIR= COMP=cl COMPAUX=cl RCOMP=rc LINK=link 2293ff48bf5SDavid du Colombier# COMPDIR, LINKDIR, and RCDIR are irrelevant, since they are only used to 2303ff48bf5SDavid du Colombier# define COMP, LINK, and RCOMP respectively, but we allow them to be 2313ff48bf5SDavid du Colombier# overridden anyway for completeness. 2323ff48bf5SDavid du Colombier!ifndef COMPDIR 2333ff48bf5SDavid du Colombier!if "$(COMPBASE)"=="" 2343ff48bf5SDavid du ColombierCOMPDIR= 2353ff48bf5SDavid du Colombier!else 2367dd7cddfSDavid du ColombierCOMPDIR=$(COMPBASE)\bin 2373ff48bf5SDavid du Colombier!endif 2383ff48bf5SDavid du Colombier!endif 2393ff48bf5SDavid du Colombier 2403ff48bf5SDavid du Colombier!ifndef LINKDIR 2413ff48bf5SDavid du Colombier!if "$(COMPBASE)"=="" 2423ff48bf5SDavid du ColombierLINKDIR= 2433ff48bf5SDavid du Colombier!else 2447dd7cddfSDavid du ColombierLINKDIR=$(COMPBASE)\bin 2453ff48bf5SDavid du Colombier!endif 2463ff48bf5SDavid du Colombier!endif 2473ff48bf5SDavid du Colombier 2483ff48bf5SDavid du Colombier!ifndef RCDIR 2493ff48bf5SDavid du Colombier!if "$(SHAREDBASE)"=="" 2503ff48bf5SDavid du ColombierRCDIR= 2513ff48bf5SDavid du Colombier!else 2527dd7cddfSDavid du ColombierRCDIR=$(SHAREDBASE)\bin 2533ff48bf5SDavid du Colombier!endif 2543ff48bf5SDavid du Colombier!endif 2553ff48bf5SDavid du Colombier 2563ff48bf5SDavid du Colombier!ifndef MSINCDIR 2573ff48bf5SDavid du Colombier!if "$(COMPBASE)"=="" 2583ff48bf5SDavid du ColombierMSINCDIR= 2593ff48bf5SDavid du Colombier!else 2603ff48bf5SDavid du ColombierMSINCDIR=$(COMPBASE)\include 2613ff48bf5SDavid du Colombier!endif 2623ff48bf5SDavid du Colombier!endif 2633ff48bf5SDavid du Colombier 2643ff48bf5SDavid du Colombier!ifndef LIBDIR 2653ff48bf5SDavid du Colombier!if "$(COMPBASE)"=="" 2663ff48bf5SDavid du ColombierLIBDIR= 2673ff48bf5SDavid du Colombier!else 2687dd7cddfSDavid du ColombierLIBDIR=$(COMPBASE)\lib 2693ff48bf5SDavid du Colombier!endif 2703ff48bf5SDavid du Colombier!endif 2713ff48bf5SDavid du Colombier 2723ff48bf5SDavid du Colombier!ifndef COMP 2733ff48bf5SDavid du Colombier!if "$(COMPDIR)"=="" 2743ff48bf5SDavid du ColombierCOMP=cl 2753ff48bf5SDavid du Colombier!else 2763ff48bf5SDavid du ColombierCOMP="$(COMPDIR)\cl" 2773ff48bf5SDavid du Colombier!endif 2783ff48bf5SDavid du Colombier!endif 2793ff48bf5SDavid du Colombier!ifndef COMPCPP 2807dd7cddfSDavid du ColombierCOMPCPP=$(COMP) 2813ff48bf5SDavid du Colombier!endif 2823ff48bf5SDavid du Colombier!ifndef COMPAUX 2833ff48bf5SDavid du ColombierCOMPAUX=$(COMP) 2843ff48bf5SDavid du Colombier!endif 2853ff48bf5SDavid du Colombier 2863ff48bf5SDavid du Colombier!ifndef RCOMP 2873ff48bf5SDavid du Colombier!if "$(RCDIR)"=="" 2883ff48bf5SDavid du ColombierRCOMP=rc 2893ff48bf5SDavid du Colombier!else 2903ff48bf5SDavid du ColombierRCOMP="$(RCDIR)\rc" 2913ff48bf5SDavid du Colombier!endif 2923ff48bf5SDavid du Colombier!endif 2933ff48bf5SDavid du Colombier 2943ff48bf5SDavid du Colombier!ifndef LINK 2953ff48bf5SDavid du Colombier!if "$(LINKDIR)"=="" 2963ff48bf5SDavid du ColombierLINK=link 2973ff48bf5SDavid du Colombier!else 2983ff48bf5SDavid du ColombierLINK="$(LINKDIR)\link" 2993ff48bf5SDavid du Colombier!endif 3003ff48bf5SDavid du Colombier!endif 3013ff48bf5SDavid du Colombier 3023ff48bf5SDavid du Colombier# nmake does not have a form of .BEFORE or .FIRST which can be used 3033ff48bf5SDavid du Colombier# to specify actions before anything else is done. If LIB and INCLUDE 3043ff48bf5SDavid du Colombier# are not defined then we want to define them before we link or 3053ff48bf5SDavid du Colombier# compile. Here is a kludge which allows us to to do what we want. 3063ff48bf5SDavid du Colombier# nmake does evaluate preprocessor directives when they are encountered. 3073ff48bf5SDavid du Colombier# So the desired set statements are put into dummy preprocessor 3083ff48bf5SDavid du Colombier# directives. 3093ff48bf5SDavid du Colombier!ifndef INCLUDE 3103ff48bf5SDavid du Colombier!if "$(MSINCDIR)"!="" 3113ff48bf5SDavid du Colombier!if [set INCLUDE=$(MSINCDIR)]==0 3123ff48bf5SDavid du Colombier!endif 3133ff48bf5SDavid du Colombier!endif 3143ff48bf5SDavid du Colombier!endif 3153ff48bf5SDavid du Colombier!ifndef LIB 3163ff48bf5SDavid du Colombier!if "$(LIBDIR)"!="" 3173ff48bf5SDavid du Colombier!if [set LIB=$(LIBDIR)]==0 3183ff48bf5SDavid du Colombier!endif 3193ff48bf5SDavid du Colombier!endif 3203ff48bf5SDavid du Colombier!endif 3217dd7cddfSDavid du Colombier 3227dd7cddfSDavid du Colombier# Define the processor architecture. (i386, ppc, alpha) 3237dd7cddfSDavid du Colombier 3247dd7cddfSDavid du Colombier!ifndef CPU_FAMILY 3257dd7cddfSDavid du ColombierCPU_FAMILY=i386 3267dd7cddfSDavid du Colombier#CPU_FAMILY=ppc 3277dd7cddfSDavid du Colombier#CPU_FAMILY=alpha # not supported yet - we need someone to tweak 3287dd7cddfSDavid du Colombier!endif 3297dd7cddfSDavid du Colombier 3307dd7cddfSDavid du Colombier# Define the processor (CPU) type. Allowable values depend on the family: 3317dd7cddfSDavid du Colombier# i386: 386, 486, 586 3327dd7cddfSDavid du Colombier# ppc: 601, 604, 620 3337dd7cddfSDavid du Colombier# alpha: not currently used. 3347dd7cddfSDavid du Colombier 3357dd7cddfSDavid du Colombier!ifndef CPU_TYPE 3367dd7cddfSDavid du ColombierCPU_TYPE=486 3377dd7cddfSDavid du Colombier#CPU_TYPE=601 3387dd7cddfSDavid du Colombier!endif 3397dd7cddfSDavid du Colombier 3407dd7cddfSDavid du Colombier!if "$(CPU_FAMILY)"=="i386" 3417dd7cddfSDavid du Colombier 3427dd7cddfSDavid du Colombier# Intel(-compatible) processors are the only ones for which the CPU type 3437dd7cddfSDavid du Colombier# doesn't indicate whether a math coprocessor is present. 3447dd7cddfSDavid du Colombier# For Intel processors only, define the math coprocessor (FPU) type. 3457dd7cddfSDavid du Colombier# Options are -1 (optimize for no FPU), 0 (optimize for FPU present, 3467dd7cddfSDavid du Colombier# but do not require a FPU), 87, 287, or 387. 3477dd7cddfSDavid du Colombier# If you have a 486 or Pentium CPU, you should normally set FPU_TYPE to 387, 3487dd7cddfSDavid du Colombier# since most of these CPUs include the equivalent of an 80387 on-chip; 3497dd7cddfSDavid du Colombier# however, the 486SX and the Cyrix 486SLC do not have an on-chip FPU, so if 3507dd7cddfSDavid du Colombier# you have one of these CPUs and no external FPU, set FPU_TYPE to -1 or 0. 3517dd7cddfSDavid du Colombier# An xx87 option means that the executable will run only if a FPU 3527dd7cddfSDavid du Colombier# of that type (or higher) is available: this is NOT currently checked 3537dd7cddfSDavid du Colombier# at runtime. 3547dd7cddfSDavid du Colombier 3557dd7cddfSDavid du Colombier! ifndef FPU_TYPE 3563ff48bf5SDavid du ColombierFPU_TYPE=387 3577dd7cddfSDavid du Colombier! endif 3587dd7cddfSDavid du Colombier 3597dd7cddfSDavid du Colombier!endif 3607dd7cddfSDavid du Colombier 3617dd7cddfSDavid du Colombier# Define the .dev module that implements thread and synchronization 3627dd7cddfSDavid du Colombier# primitives for this platform. Don't change this unless you really know 3637dd7cddfSDavid du Colombier# what you're doing. 3647dd7cddfSDavid du Colombier 3657dd7cddfSDavid du Colombier!ifndef SYNC 3667dd7cddfSDavid du ColombierSYNC=winsync 3677dd7cddfSDavid du Colombier!endif 3687dd7cddfSDavid du Colombier 3697dd7cddfSDavid du Colombier# ------ Devices and features ------ # 3707dd7cddfSDavid du Colombier 3717dd7cddfSDavid du Colombier# Choose the language feature(s) to include. See gs.mak for details. 3727dd7cddfSDavid du Colombier 3737dd7cddfSDavid du Colombier!ifndef FEATURE_DEVS 3743ff48bf5SDavid du ColombierFEATURE_DEVS=$(GLD)psl3lib.dev $(GLD)path1lib.dev $(GLD)dps2lib.dev $(GLD)psl2cs.dev $(GLD)cielib.dev $(GLD)imasklib.dev $(GLD)patlib.dev $(GLD)htxlib.dev $(GLD)roplib.dev $(GLD)devcmap.dev $(GLD)bbox.dev $(GLD)pipe.dev 3757dd7cddfSDavid du Colombier!endif 3767dd7cddfSDavid du Colombier 3777dd7cddfSDavid du Colombier# Choose whether to compile the .ps initialization files into the executable. 3787dd7cddfSDavid du Colombier# See gs.mak for details. 3797dd7cddfSDavid du Colombier 3803ff48bf5SDavid du Colombier!ifndef COMPILE_INITS 3817dd7cddfSDavid du ColombierCOMPILE_INITS=0 3827dd7cddfSDavid du Colombier!endif 3837dd7cddfSDavid du Colombier 3847dd7cddfSDavid du Colombier# Choose whether to store band lists on files or in memory. 3857dd7cddfSDavid du Colombier# The choices are 'file' or 'memory'. 3867dd7cddfSDavid du Colombier 3877dd7cddfSDavid du Colombier!ifndef BAND_LIST_STORAGE 3887dd7cddfSDavid du ColombierBAND_LIST_STORAGE=file 3897dd7cddfSDavid du Colombier!endif 3907dd7cddfSDavid du Colombier 3917dd7cddfSDavid du Colombier# Choose which compression method to use when storing band lists in memory. 392*593dc095SDavid du Colombier# The choices are 'lzw' or 'zlib'. 3937dd7cddfSDavid du Colombier 3947dd7cddfSDavid du Colombier!ifndef BAND_LIST_COMPRESSOR 3957dd7cddfSDavid du ColombierBAND_LIST_COMPRESSOR=zlib 3967dd7cddfSDavid du Colombier!endif 3977dd7cddfSDavid du Colombier 3987dd7cddfSDavid du Colombier# Choose the implementation of file I/O: 'stdio', 'fd', or 'both'. 3997dd7cddfSDavid du Colombier# See gs.mak and sfilefd.c for more details. 4007dd7cddfSDavid du Colombier 4017dd7cddfSDavid du Colombier!ifndef FILE_IMPLEMENTATION 4027dd7cddfSDavid du ColombierFILE_IMPLEMENTATION=stdio 4037dd7cddfSDavid du Colombier!endif 4047dd7cddfSDavid du Colombier 4053ff48bf5SDavid du Colombier# Choose the implementation of stdio: Only '' is allowed for library. 4063ff48bf5SDavid du Colombier# See gs.mak and ziodevs.c/ziodevsc.c for more details. 4073ff48bf5SDavid du Colombier 4083ff48bf5SDavid du ColombierSTDIO_IMPLEMENTATION= 4093ff48bf5SDavid du Colombier 4107dd7cddfSDavid du Colombier# Choose the device(s) to include. See devs.mak for details, 4117dd7cddfSDavid du Colombier# devs.mak and contrib.mak for the list of available devices. 4127dd7cddfSDavid du Colombier!ifndef DEVICE_DEVS 4133ff48bf5SDavid du ColombierDEVICE_DEVS=$(DD)ljet2p.dev $(DD)bbox.dev 4147dd7cddfSDavid du ColombierDEVICE_DEVS1= 4157dd7cddfSDavid du ColombierDEVICE_DEVS2= 4167dd7cddfSDavid du ColombierDEVICE_DEVS3= 4177dd7cddfSDavid du ColombierDEVICE_DEVS4= 4187dd7cddfSDavid du ColombierDEVICE_DEVS5= 4197dd7cddfSDavid du ColombierDEVICE_DEVS6= 4207dd7cddfSDavid du ColombierDEVICE_DEVS7= 4217dd7cddfSDavid du ColombierDEVICE_DEVS8= 4227dd7cddfSDavid du ColombierDEVICE_DEVS9= 4237dd7cddfSDavid du ColombierDEVICE_DEVS10= 4247dd7cddfSDavid du ColombierDEVICE_DEVS11= 4257dd7cddfSDavid du ColombierDEVICE_DEVS12= 4267dd7cddfSDavid du ColombierDEVICE_DEVS13= 4277dd7cddfSDavid du ColombierDEVICE_DEVS14= 4287dd7cddfSDavid du ColombierDEVICE_DEVS15= 4297dd7cddfSDavid du ColombierDEVICE_DEVS16= 4307dd7cddfSDavid du ColombierDEVICE_DEVS17= 4317dd7cddfSDavid du ColombierDEVICE_DEVS18= 4327dd7cddfSDavid du ColombierDEVICE_DEVS19= 4337dd7cddfSDavid du ColombierDEVICE_DEVS20= 4347dd7cddfSDavid du Colombier!endif 4357dd7cddfSDavid du Colombier 4367dd7cddfSDavid du Colombier# ---------------------------- End of options ---------------------------- # 4377dd7cddfSDavid du Colombier 4387dd7cddfSDavid du Colombier# Derive values for FPU_TYPE for non-Intel processors. 4397dd7cddfSDavid du Colombier 4407dd7cddfSDavid du Colombier!if "$(CPU_FAMILY)"=="ppc" 4417dd7cddfSDavid du Colombier! if $(CPU_TYPE)>601 4427dd7cddfSDavid du ColombierFPU_TYPE=2 4437dd7cddfSDavid du Colombier! else 4447dd7cddfSDavid du ColombierFPU_TYPE=1 4457dd7cddfSDavid du Colombier! endif 4467dd7cddfSDavid du Colombier!endif 4477dd7cddfSDavid du Colombier 4487dd7cddfSDavid du Colombier!if "$(CPU_FAMILY)"=="alpha" 4497dd7cddfSDavid du Colombier# *** alpha *** This needs fixing 4507dd7cddfSDavid du ColombierFPU_TYPE=1 4517dd7cddfSDavid du Colombier!endif 4527dd7cddfSDavid du Colombier 4537dd7cddfSDavid du Colombier# Define the name of the makefile -- used in dependencies. 4547dd7cddfSDavid du Colombier 4557dd7cddfSDavid du ColombierMAKEFILE=$(GLSRCDIR)\msvclib.mak 4567dd7cddfSDavid du ColombierTOP_MAKEFILES=$(MAKEFILE) $(GLSRCDIR)\msvccmd.mak $(GLSRCDIR)\msvctail.mak $(GLSRCDIR)\winlib.mak 4577dd7cddfSDavid du Colombier 4587dd7cddfSDavid du Colombier# Define the files to be removed by `make clean'. 4597dd7cddfSDavid du Colombier# nmake expands macros when encountered, not when used, 4607dd7cddfSDavid du Colombier# so this must precede the !include statements. 4617dd7cddfSDavid du Colombier 4623ff48bf5SDavid du ColombierBEGINFILES2=$(GLOBJDIR)\$(GS).ilk $(GLOBJDIR)\$(GS).pdb $(GLOBJDIR)\genarch.ilk $(GLOBJDIR)\genarch.pdb 4637dd7cddfSDavid du Colombier 4647dd7cddfSDavid du Colombier# Define these right away because they modify the behavior of 4657dd7cddfSDavid du Colombier# msvccmd.mak, msvctail.mak & winlib.mak. 4667dd7cddfSDavid du Colombier 4677dd7cddfSDavid du ColombierLIB_ONLY=$(GLOBJDIR)\gslib.obj $(GLOBJDIR)\gsnogc.obj $(GLOBJDIR)\gconfig.obj $(GLOBJDIR)\gscdefs.obj 4687dd7cddfSDavid du ColombierMAKEDLL=0 4697dd7cddfSDavid du ColombierPLATFORM=mslib32_ 4707dd7cddfSDavid du Colombier 4717dd7cddfSDavid du Colombier!include $(GLSRCDIR)\version.mak 4727dd7cddfSDavid du Colombier!include $(GLSRCDIR)\msvccmd.mak 4737dd7cddfSDavid du Colombier!include $(GLSRCDIR)\winlib.mak 4747dd7cddfSDavid du Colombier!include $(GLSRCDIR)\msvctail.mak 4757dd7cddfSDavid du Colombier 4767dd7cddfSDavid du Colombier# -------------------------------- Library -------------------------------- # 4777dd7cddfSDavid du Colombier 4787dd7cddfSDavid du Colombier# The Windows Win32 platform for library 4797dd7cddfSDavid du Colombier 4807dd7cddfSDavid du Colombier# For some reason, C-file dependencies have to come before mslib32__.dev 4817dd7cddfSDavid du Colombier 4827dd7cddfSDavid du Colombier$(GLOBJ)gp_mslib.$(OBJ): $(GLSRC)gp_mslib.c $(AK) 4837dd7cddfSDavid du Colombier $(GLCCWIN) $(GLO_)gp_mslib.$(OBJ) $(C_) $(GLSRC)gp_mslib.c 4847dd7cddfSDavid du Colombier 4857dd7cddfSDavid du Colombiermslib32__=$(GLOBJ)gp_mslib.$(OBJ) 4867dd7cddfSDavid du Colombier 4873ff48bf5SDavid du Colombier$(GLGEN)mslib32_.dev: $(mslib32__) $(ECHOGS_XE) $(GLGEN)mswin32_.dev 4887dd7cddfSDavid du Colombier $(SETMOD) $(GLGEN)mslib32_ $(mslib32__) 4893ff48bf5SDavid du Colombier $(ADDMOD) $(GLGEN)mslib32_ -include $(GLGEN)mswin32_.dev 4907dd7cddfSDavid du Colombier 4917dd7cddfSDavid du Colombier# ----------------------------- Main program ------------------------------ # 4927dd7cddfSDavid du Colombier 4937dd7cddfSDavid du Colombier# The library tester EXE 4947dd7cddfSDavid du Colombier$(GS_XE): $(GS_ALL) $(DEVS_ALL) $(LIB_ONLY) $(LIBCTR) 4957dd7cddfSDavid du Colombier copy $(ld_tr) $(GLGENDIR)\gslib32.tr 4967dd7cddfSDavid du Colombier echo $(GLOBJ)gsnogc.obj >> $(GLGENDIR)\gslib32.tr 4977dd7cddfSDavid du Colombier echo $(GLOBJ)gconfig.obj >> $(GLGENDIR)\gslib32.tr 4987dd7cddfSDavid du Colombier echo $(GLOBJ)gscdefs.obj >> $(GLGENDIR)\gslib32.tr 4997dd7cddfSDavid du Colombier echo /SUBSYSTEM:CONSOLE > $(GLGENDIR)\gslib32.rsp 5007dd7cddfSDavid du Colombier echo /OUT:$(GS_XE) >> $(GLGENDIR)\gslib32.rsp 501*593dc095SDavid du Colombier $(LINK) $(LCT) @$(GLGENDIR)\gslib32.rsp $(GLOBJ)gslib @$(GLGENDIR)\gslib32.tr @$(LIBCTR) $(INTASM) 5027dd7cddfSDavid du Colombier -del $(GLGENDIR)\gslib32.rsp 5037dd7cddfSDavid du Colombier -del $(GLGENDIR)\gslib32.tr 504