1# Copyright (C) 2001-2019 Artifex Software, Inc. 2# All Rights Reserved. 3# 4# This software is provided AS-IS with no warranty, either express or 5# implied. 6# 7# This software is distributed under license and may not be copied, 8# modified or distributed except as expressly authorized under the terms 9# of the license contained in the file LICENSE in this distribution. 10# 11# Refer to licensing information at http://www.artifex.com or contact 12# Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, 13# CA 94945, U.S.A., +1(415)492-9861, for further information. 14# 15# 16# $Id: msvc32.mak 12087 2011-02-01 11:57:26Z robin $ 17# makefile for 32-bit Microsoft Visual C++, Windows NT or Windows 95 platform. 18# 19# All configurable options are surrounded by !ifndef/!endif to allow 20# preconfiguration from within another makefile. 21# 22# Optimization /O2 seems OK with MSVC++ 4.1, but not with 5.0. 23# Created 1997-01-24 by Russell Lang from MSVC++ 2.0 makefile. 24# Enhanced 97-05-15 by JD 25# Common code factored out 1997-05-22 by L. Peter Deutsch. 26# Made pre-configurable by JD 6/4/98 27# Revised to use subdirectories 1998-11-13 by lpd. 28 29# Note: If you are planning to make self-extracting executables, 30# see winint.mak to find out about third-party software you will need. 31 32# If we are building MEMENTO=1, then adjust default debug flags 33!if "$(MEMENTO)"=="1" 34!ifndef DEBUG 35DEBUG=1 36!endif 37!ifndef TDEBUG 38TDEBUG=1 39!endif 40!ifndef DEBUGSYM 41DEBUGSYM=1 42!endif 43!endif 44 45# If we are building PROFILE=1, then adjust default debug flags 46!if "$(PROFILE)"=="1" 47!ifndef DEBUG 48DEBUG=0 49!endif 50!ifndef TDEBUG 51TDEBUG=0 52!endif 53!ifndef DEBUGSYM 54DEBUGSYM=1 55!endif 56!endif 57 58# Pick the target architecture file 59!if "$(TARGET_ARCH_FILE)"=="" 60!ifdef WIN64 61TARGET_ARCH_FILE=$(GLSRCDIR)\..\arch\windows-x64-msvc.h 62!else 63!ifdef ARM 64TARGET_ARCH_FILE=$(GLSRCDIR)\..\arch\windows-arm-msvc.h 65!else 66TARGET_ARCH_FILE=$(GLSRCDIR)\..\arch\windows-x86-msvc.h 67!endif 68!endif 69!endif 70 71# ------------------------------- Options ------------------------------- # 72 73###### This section is the only part of the file you should need to edit. 74 75# ------ Generic options ------ # 76 77# Define the directory for the final executable, and the 78# source, generated intermediate file, and object directories 79# for the graphics library (GL) and the PostScript/PDF interpreter (PS). 80 81!if "$(MEMENTO)"=="1" 82DEFAULT_OBJ_DIR=.\$(PRODUCT_PREFIX)memobj 83!else 84!if "$(PROFILE)"=="1" 85DEFAULT_OBJ_DIR=.\$(PRODUCT_PREFIX)profobj 86!else 87!if "$(DEBUG)"=="1" 88DEFAULT_OBJ_DIR=.\$(PRODUCT_PREFIX)debugobj 89!else 90DEFAULT_OBJ_DIR=.\$(PRODUCT_PREFIX)obj 91!endif 92!endif 93!endif 94!ifdef METRO 95DEFAULT_OBJ_DIR=$(DEFAULT_OBJ_DIR)rt 96!endif 97!ifdef WIN64 98DEFAULT_OBJ_DIR=$(DEFAULT_OBJ_DIR)64 99!endif 100!ifdef XP 101DEFAULT_OBJ_DIR=$(DEFAULT_OBJ_DIR)xp 102!endif 103 104!ifndef AUXDIR 105AUXDIR=$(DEFAULT_OBJ_DIR)\aux_ 106!endif 107 108# Note that 32-bit and 64-bit binaries reside in a common directory 109# since the names are unique 110!ifndef BINDIR 111!if "$(MEMENTO)"=="1" 112BINDIR=.\membin 113!else 114!if "$(DEBUG)"=="1" 115BINDIR=.\debugbin 116!else 117!if "$(DEBUGSYM)"=="1" 118BINDIR=.\profbin 119!else 120BINDIR=.\bin 121!endif 122!endif 123!endif 124!ifdef XP 125BINDIR=$(BINDIR)xp 126!endif 127!endif 128!ifndef GLSRCDIR 129GLSRCDIR=.\base 130!endif 131!ifndef GLGENDIR 132GLGENDIR=$(DEFAULT_OBJ_DIR) 133!endif 134!ifndef DEVSRCDIR 135DEVSRCDIR=.\devices 136!endif 137!ifndef GLOBJDIR 138GLOBJDIR=$(GLGENDIR) 139!endif 140!ifndef DEVGENDIR 141DEVGENDIR=$(GLGENDIR) 142!endif 143!ifndef DEVOBJDIR 144DEVOBJDIR=$(GLOBJDIR) 145!endif 146 147!ifndef PSSRCDIR 148PSSRCDIR=.\psi 149!endif 150!ifndef PSLIBDIR 151PSLIBDIR=.\lib 152!endif 153!ifndef PSRESDIR 154PSRESDIR=.\Resource 155!endif 156!ifndef PSGENDIR 157PSGENDIR=$(GLGENDIR) 158!endif 159!ifndef PSOBJDIR 160PSOBJDIR=$(GLOBJDIR) 161!endif 162!ifndef SBRDIR 163SBRDIR=$(GLOBJDIR) 164!endif 165 166!ifndef EXPATGENDIR 167EXPATGENDIR=$(GLGENDIR) 168!endif 169 170!ifndef EXPATOBJDIR 171EXPATOBJDIR=$(GLOBJDIR) 172!endif 173 174!ifndef JPEGXR_GENDIR 175JPEGXR_GENDIR=$(GLGENDIR) 176!endif 177 178!ifndef JPEGXR_OBJDIR 179JPEGXR_OBJDIR=$(GLOBJDIR) 180!endif 181 182 183!ifndef PCL5SRCDIR 184PCL5SRCDIR=.\pcl\pcl 185!endif 186 187!ifndef PCL5GENDIR 188PCL5GENDIR=$(GLGENDIR) 189!endif 190 191!ifndef PCL5OBJDIR 192PCL5OBJDIR=$(GLOBJDIR) 193!endif 194 195!ifndef PXLSRCDIR 196PXLSRCDIR=.\pcl\pxl 197!endif 198 199!ifndef PXLGENDIR 200PXLGENDIR=$(GLGENDIR) 201!endif 202 203!ifndef PXLOBJDIR 204PXLOBJDIR=$(GLOBJDIR) 205!endif 206 207!ifndef PLSRCDIR 208PLSRCDIR=.\pcl\pl 209!endif 210 211!ifndef PLGENDIR 212PLGENDIR=$(GLGENDIR) 213!endif 214 215!ifndef PLOBJDIR 216PLOBJDIR=$(GLOBJDIR) 217!endif 218 219!ifndef XPSSRCDIR 220XPSSRCDIR=.\xps 221!endif 222 223!ifndef XPSGENDIR 224XPSGENDIR=$(GLGENDIR) 225!endif 226 227!ifndef XPSOBJDIR 228XPSOBJDIR=$(GLOBJDIR) 229!endif 230 231!ifndef GPDLSRCDIR 232GPDLSRCDIR=.\gpdl 233!endif 234!ifndef GPDLGENDIR 235GPDLGENDIR=$(GLGENDIR) 236!endif 237!ifndef GPDLOBJDIR 238GPDLOBJDIR=$(GLOBJDIR) 239!endif 240 241!ifndef URFSRCDIR 242URFSRCDIR=.\urf 243!endif 244!ifndef URFGENDIR 245URFGENDIR=$(GLGENDIR) 246!endif 247!ifndef URFOBJDIR 248URFOBJDIR=$(GLOBJDIR) 249!endif 250 251!ifndef IMGSRCDIR 252IMGSRCDIR=.\gpdl\img 253!endif 254!ifndef IMGGENDIR 255IMGGENDIR=$(GLGENDIR) 256!endif 257!ifndef IMGOBJDIR 258IMGOBJDIR=$(GLOBJDIR) 259!endif 260 261CONTRIBDIR=.\contrib 262 263# Can we build PCL and XPS 264!ifndef BUILD_PCL 265BUILD_PCL=0 266!if exist ("$(PLSRCDIR)\pl.mak") 267BUILD_PCL=1 268!endif 269!endif 270 271!ifndef BUILD_XPS 272BUILD_XPS=0 273!if exist ("$(XPSSRCDIR)\xps.mak") 274BUILD_XPS=1 275!endif 276!endif 277 278!ifndef BUILD_GPDL 279BUILD_GPDL=0 280!if exist ("$(GPDLSRCDIR)\gpdl.mak") 281BUILD_GPDL=1 282!endif 283!endif 284 285PCL_TARGET= 286XPS_TARGET= 287 288!if $(BUILD_PCL) 289PCL_TARGET=gpcl6 290!endif 291 292!if $(BUILD_XPS) 293XPS_TARGET=gxps 294!endif 295 296!if $(BUILD_GPDL) 297GPDL_TARGET=gpdl 298!endif 299 300PCL_XPS_PDL_TARGETS=$(PCL_TARGET) $(XPS_TARGET) $(GPDL_TARGET) 301 302# Define the root directory for Ghostscript installation. 303 304!ifndef AROOTDIR 305AROOTDIR=c:/gs 306!endif 307!ifndef GSROOTDIR 308GSROOTDIR=$(AROOTDIR)/gs$(GS_DOT_VERSION) 309!endif 310 311# Define the directory that will hold documentation at runtime. 312 313!ifndef GS_DOCDIR 314GS_DOCDIR=$(GSROOTDIR)/doc 315!endif 316 317# Define the default directory/ies for the runtime initialization, resource and 318# font files. Separate multiple directories with ';'. 319# Use / to indicate directories, not \. 320# MSVC will not allow \'s here because it sees '\;' CPP-style as an 321# illegal escape. 322 323!ifndef GS_LIB_DEFAULT 324GS_LIB_DEFAULT=$(GSROOTDIR)/Resource/Init;$(GSROOTDIR)/lib;$(GSROOTDIR)/Resource/Font;$(AROOTDIR)/fonts 325!endif 326 327# Define whether or not searching for initialization files should always 328# look in the current directory first. This leads to well-known security 329# and confusion problems, but may be convenient sometimes. 330 331!ifndef SEARCH_HERE_FIRST 332SEARCH_HERE_FIRST=0 333!endif 334 335# Define the name of the interpreter initialization file. 336# (There is no reason to change this.) 337 338!ifndef GS_INIT 339GS_INIT=gs_init.ps 340!endif 341 342# Choose generic configuration options. 343 344# Setting DEBUG=1 includes debugging features in the build: 345# 1. It defines the C preprocessor symbol DEBUG. The latter includes 346# tracing and self-validation code fragments into compilation. 347# Particularly it enables the -Z and -T switches in Ghostscript. 348# 2. It compiles code fragments for C stack overflow checks. 349# Code produced with this option is somewhat larger and runs 350# somewhat slower. 351 352!ifndef DEBUG 353DEBUG=0 354!endif 355 356# Setting TDEBUG=1 disables code optimization in the C compiler and 357# includes symbol table information for the debugger. 358# Code is substantially larger and slower. 359 360# NOTE: The MSVC++ 5.0 compiler produces incorrect output code with TDEBUG=0. 361# Also MSVC 6 must be service pack >= 3 to prevent INTERNAL COMPILER ERROR 362 363# Default to 0 anyway since the execution times are so much better. 364!ifndef TDEBUG 365TDEBUG=0 366!endif 367 368# Setting DEBUGSYM=1 is only useful with TDEBUG=0. 369# This option is for advanced developers. It includes symbol table 370# information for the debugger in an optimized (release) build. 371# NOTE: The debugging information generated for the optimized code may be 372# significantly misleading. For general MSVC users we recommend TDEBUG=1. 373 374!ifndef DEBUGSYM 375DEBUGSYM=0 376!endif 377 378 379# We can compile for a 32-bit or 64-bit target 380# WIN32 and WIN64 are mutually exclusive. WIN32 is the default. 381!if !defined(WIN32) && (!defined(Win64) || !defined(WIN64)) 382WIN32=0 383!endif 384 385# We can build either 32-bit or 64-bit target on a 64-bit platform 386# but the location of the binaries differs. Would be nice if the 387# detection of the platform could be automatic. 388!ifndef BUILD_SYSTEM 389!if "$(PROCESSOR_ARCHITEW6432)"=="AMD64" || "$(PROCESSOR_ARCHITECTURE)"=="AMD64" 390BUILD_SYSTEM=64 391PGMFILES=$(SYSTEMDRIVE)\Program Files 392PGMFILESx86=$(SYSTEMDRIVE)\Program Files (x86) 393!else 394BUILD_SYSTEM=32 395PGMFILES=$(SYSTEMDRIVE)\Program Files 396PGMFILESx86=$(SYSTEMDRIVE)\Program Files 397!endif 398!endif 399 400!ifndef MSWINSDKPATH 401!if exist ("$(PGMFILESx86)\Microsoft SDKs\Windows") 402!if exist ("$(PGMFILESx86)\Microsoft SDKs\Windows\v7.1A") 403MSWINSDKPATH=$(PGMFILESx86)\Microsoft SDKs\Windows\v7.1A 404!else 405!if exist ("$(PGMFILESx86)\Microsoft SDKs\Windows\v7.1") 406MSWINSDKPATH=$(PGMFILESx86)\Microsoft SDKs\Windows\v7.1 407!else 408!if exist ("$(PGMFILESx86)\Microsoft SDKs\Windows\v7.0A") 409MSWINSDKPATH=$(PGMFILESx86)\Microsoft SDKs\Windows\v7.0A 410!else 411!if exist ("$(PGMFILESx86)\Microsoft SDKs\Windows\v7.0") 412MSWINSDKPATH=$(PGMFILESx86)\Microsoft SDKs\Windows\v7.0 413!endif 414!endif 415!endif 416!endif 417!else 418!if exist ("$(PGMFILES)\Microsoft SDKs\Windows") 419!if exist ("$(PGMFILES)\Microsoft SDKs\Windows\v7.1A") 420MSWINSDKPATH=$(PGMFILES)\Microsoft SDKs\Windows\v7.1A 421!else 422!if exist ("$(PGMFILES)\Microsoft SDKs\Windows\v7.1") 423MSWINSDKPATH=$(PGMFILES)\Microsoft SDKs\Windows\v7.1 424!else 425!if exist ("$(PGMFILES)\Microsoft SDKs\Windows\v7.0A") 426MSWINSDKPATH=$(PGMFILES)\Microsoft SDKs\Windows\v7.0A 427!else 428!if exist ("$(PGMFILES)\Microsoft SDKs\Windows\v7.0") 429MSWINSDKPATH=$(PGMFILES)\Microsoft SDKs\Windows\v7.0 430!endif 431!endif 432!endif 433!endif 434!endif 435!endif 436!endif 437 438XPSPRINTCFLAGS= 439XPSPRINT=0 440 441!ifdef MSWINSDKPATH 442!if exist ("$(MSWINSDKPATH)\Include\XpsPrint.h") 443XPSPRINTCFLAGS=/DXPSPRINT=1 /I"$(MSWINSDKPATH)\Include" 444XPSPRINT=1 445!endif 446!endif 447 448# Define the name of the executable file. 449 450!ifndef GS 451!ifdef WIN64 452GS=gswin64 453PCL=gpcl6win64 454XPS=gxpswin64 455GPDL=gpdlwin64 456!else 457!ifdef ARM 458GS=gswinARM 459PCL=gpcl6winARM 460XPS=gxpswinARM 461GPDL=gpdlwinARM 462!else 463GS=gswin32 464PCL=gpcl6win32 465XPS=gxpswin32 466GPDL=gpdlwin32 467!endif 468!endif 469!endif 470!ifndef GSCONSOLE 471GSCONSOLE=$(GS)c 472!endif 473 474!ifndef GSDLL 475!ifdef METRO 476!ifdef WIN64 477GSDLL=gsdll64metro 478!else 479!ifdef ARM 480GSDLL=gsdllARM32metro 481!else 482GSDLL=gsdll32metro 483!endif 484!endif 485!else 486!ifdef WIN64 487GSDLL=gsdll64 488!else 489GSDLL=gsdll32 490!endif 491!endif 492!endif 493 494!ifndef GPCL6DLL 495!ifdef METRO 496!ifdef WIN64 497GPCL6DLL=gpcl6dll64metro 498!else 499!ifdef ARM 500GPCL6DLL=gpcl6dllARM32metro 501!else 502GPCL6DLL=gpcl6dll32metro 503!endif 504!endif 505!else 506!ifdef WIN64 507GPCL6DLL=gpcl6dll64 508!else 509GPCL6DLL=gpcl6dll32 510!endif 511!endif 512!endif 513 514!ifndef GXPSDLL 515!ifdef METRO 516!ifdef WIN64 517GXPSDLL=gxpsdll64metro 518!else 519!ifdef ARM 520GXPSDLL=gxpsdllARM32metro 521!else 522GXPSDLL=gxpsdll32metro 523!endif 524!endif 525!else 526!ifdef WIN64 527GXPSDLL=gxpsdll64 528!else 529GXPSDLL=gxpsdll32 530!endif 531!endif 532!endif 533 534!ifndef GPDLDLL 535!ifdef METRO 536!ifdef WIN64 537GPDLDLL=gpdldll64metro 538!else 539!ifdef ARM 540GPDLDLL=gpdldllARM32metro 541!else 542GPDLDLL=gpdldll32metro 543!endif 544!endif 545!else 546!ifdef WIN64 547GPDLDLL=gpdldll64 548!else 549GPDLDLL=gpdldll32 550!endif 551!endif 552!endif 553 554# To build two small executables and a large DLL use MAKEDLL=1 555# To build two large executables use MAKEDLL=0 556 557!ifndef MAKEDLL 558!if "$(PROFILE)"=="1" 559MAKEDLL=0 560!else 561MAKEDLL=1 562!endif 563!endif 564 565# Should we build in the cups device.... 566!ifdef WITH_CUPS 567!if "$(WITH_CUPS)"!="0" 568WITH_CUPS=1 569!else 570WITH_CUPS=0 571!endif 572!else 573WITH_CUPS=0 574!endif 575 576# Should we build URF... 577!ifdef WITH_URF 578!if "$(WITH_URF)"!="0" 579WITH_URF=1 580!else 581WITH_URF=0 582!endif 583!else 584!if exist ("$(URFSRCDIR)") 585WITH_URF=1 586!else 587WITH_URF=0 588!endif 589!endif 590!if "$(WITH_URF)"=="1" 591ENABLE_URF=$(D_)URF_INCLUDED$(_D) 592GPDL_URF_TOP_OBJ=$(GPDLOBJ)/$(GPDL_URF_TOP_OBJ_FILE) 593URF_INCLUDE=$(I_)$(URFSRCDIR)$(_I) 594URF_DEV=$(GLD)urfd.dev 595SURFX_H=$(URFSRCDIR)$(D)surfx.h 596!endif 597 598# Should we build using CAL.... 599CALSRCDIR=cal 600!ifdef WITH_CAL 601!if "$(WITH_CAL)"!="0" 602WITH_CAL=1 603!else 604WITH_CAL=0 605!endif 606!else 607!if exist ("$(CALSRCDIR)") 608WITH_CAL=1 609!else 610WITH_CAL=0 611!endif 612!endif 613 614# We can't build cups libraries in a Metro friendly way, 615# so if building for Metro, disable cups regardless of the 616# request 617!ifdef METRO 618WITH_CUPS=0 619!endif 620 621# Define the directory where the FreeType2 library sources are stored. 622# See freetype.mak for more information. 623 624!ifdef UFST_BRIDGE 625!if "$(UFST_BRIDGE)"=="1" 626FT_BRIDGE=0 627!endif 628!endif 629 630!ifndef FT_BRIDGE 631FT_BRIDGE=1 632!endif 633 634!ifndef FTSRCDIR 635FTSRCDIR=freetype 636!endif 637!ifndef FT_CFLAGS 638FT_CFLAGS=-I$(FTSRCDIR)\include 639!endif 640 641!ifdef BITSTREAM_BRIDGE 642FT_BRIDGE=0 643!endif 644 645# Define the directory where the IJG JPEG library sources are stored, 646# and the major version of the library that is stored there. 647# You may need to change this if the IJG library version changes. 648# See jpeg.mak for more information. 649 650!ifndef JSRCDIR 651JSRCDIR=jpeg 652!endif 653 654# Define the directory where the PNG library sources are stored, 655# and the version of the library that is stored there. 656# You may need to change this if the libpng version changes. 657# See png.mak for more information. 658 659!ifndef PNGSRCDIR 660PNGSRCDIR=libpng 661!endif 662 663!ifndef TIFFSRCDIR 664TIFFSRCDIR=tiff$(D) 665TIFFCONFDIR=$(TIFFSRCDIR) 666TIFFCONFIG_SUFFIX=.vc 667TIFFPLATFORM=win32 668TIFF_CFLAGS=-DJPEG_SUPPORT -DOJPEG_SUPPORT -DJPEG_LIB_MK1_OR_12BIT=0 669ENABLE_TIFF=$(D_)TIFF_INCLUDED$(_D) 670!endif 671 672# Define the directory where the zlib sources are stored. 673# See zlib.mak for more information. 674 675!ifndef ZSRCDIR 676ZSRCDIR=.\zlib 677!endif 678 679# Define which jbig2 library to use 680!if !defined(JBIG2_LIB) && (!defined(NO_LURATECH) || "$(NO_LURATECH)" != "1") 681!if exist("luratech\ldf_jb2") 682JBIG2_LIB=luratech 683!endif 684!endif 685 686!ifndef JBIG2_LIB 687JBIG2_LIB=jbig2dec 688!endif 689 690!if "$(JBIG2_LIB)" == "luratech" || "$(JBIG2_LIB)" == "ldf_jb2" 691# Set defaults for using the Luratech JB2 implementation 692!ifndef JBIG2SRCDIR 693# CSDK source code location 694JBIG2SRCDIR=luratech\ldf_jb2 695!endif 696!ifndef JBIG2_CFLAGS 697# required compiler flags 698!ifdef WIN64 699JBIG2_CFLAGS=-DUSE_LDF_JB2 -DWIN64 700!else 701JBIG2_CFLAGS=-DUSE_LDF_JB2 -DWIN32 702!endif 703!endif 704!else 705# Use jbig2dec by default. See jbig2.mak for more information. 706!ifndef JBIG2SRCDIR 707# location of included jbig2dec library source 708JBIG2SRCDIR=jbig2dec 709!endif 710!endif 711 712# Alternatively, you can build a separate DLL 713# and define SHARE_JBIG2=1 in src/winlib.mak 714 715# Define which jpeg2k library to use 716!if !defined(JPX_LIB) && (!defined(NO_LURATECH) || "$(NO_LURATECH)" != "1") 717!if exist("luratech\lwf_jp2") 718JPX_LIB=luratech 719!endif 720!endif 721 722!ifndef JPX_LIB 723JPX_LIB=openjpeg 724!endif 725 726# Alternatively, you can build a separate DLL 727# and define SHARE_JPX=1 in src/winlib.mak 728 729# Define the directory where the lcms2mt source is stored. 730# See lcms2mt.mak for more information 731SHARE_LCMS=0 732!ifndef LCMS2MTSRCDIR 733LCMS2MTSRCDIR=lcms2mt 734!endif 735 736# Define the directory where the lcms2 source is stored. 737# See lcms2.mak for more information 738!ifndef LCMS2SRCDIR 739LCMS2SRCDIR=lcms2 740!endif 741 742# Define the directory where the ijs source is stored, 743# and the process forking method to use for the server. 744# See ijs.mak for more information. 745 746!ifndef IJSSRCDIR 747SHARE_IJS=0 748IJS_NAME= 749IJSSRCDIR=ijs 750IJSEXECTYPE=win 751!endif 752 753# Define the directory where the CUPS library sources are stored, 754 755!ifndef LCUPSSRCDIR 756SHARE_LCUPS=0 757LCUPS_NAME= 758LCUPSSRCDIR=cups 759LCUPSBUILDTYPE=win 760CUPS_CC=$(CC) $(CFLAGS) -DWIN32 761!endif 762 763!ifndef LCUPSISRCDIR 764SHARE_LCUPSI=0 765LCUPSI_NAME= 766LCUPSISRCDIR=cups 767CUPS_CC=$(CC) $(CFLAGS) -DWIN32 -DHAVE_BOOLEAN 768!endif 769 770!ifndef JPEGXR_SRCDIR 771JPEGXR_SRCDIR=.\jpegxr 772!endif 773 774!ifndef SHARE_JPEGXR 775SHARE_JPEGXR=0 776!endif 777 778!ifndef JPEGXR_CFLAGS 779JPEGXR_CFLAGS=/TP /DNDEBUG 780!endif 781 782!ifndef EXPATSRCDIR 783EXPATSRCDIR=.\expat 784!endif 785 786!ifndef SHARE_EXPAT 787SHARE_EXPAT=0 788!endif 789 790!ifndef EXPAT_CFLAGS 791EXPAT_CFLAGS=/DWIN32 792!endif 793 794# Define any other compilation flags. 795 796# support XCFLAGS for parity with the unix makefiles 797!ifndef XCFLAGS 798XCFLAGS= 799!endif 800 801!ifndef CFLAGS 802!if !defined(DEBUG) || "$(DEBUG)"=="0" 803CFLAGS=/DNDEBUG 804!else 805CFLAGS= 806!endif 807!endif 808 809!ifdef DEVSTUDIO 810CFLAGS=$(CFLAGS) /FC 811!endif 812 813!ifdef XP 814CFLAGS=$(CFLAGS) /D_USING_V110_SDK71_ 815SUBSUBSYS=,"5.01" 816!endif 817 818!ifdef CLUSTER 819CFLAGS=$(CFLAGS) -DCLUSTER 820!endif 821 822!if "$(MEMENTO)"=="1" 823CFLAGS=$(CFLAGS) -DMEMENTO 824!endif 825 826!ifdef METRO 827# Ideally the TIF_PLATFORM_CONSOLE define should only be for libtiff, 828# but we aren't set up to do that easily 829CFLAGS=$(CFLAGS) -DMETRO -DWINAPI_FAMILY=WINAPI_PARTITION_APP -DTIF_PLATFORM_CONSOLE 830# WinRT doesn't allow ExitProcess() so we have to suborn it here. 831# it shouldn't matter since we actually rely on setjmp()/longjmp() for error handling in libtiff 832PNG_CFLAGS=/DExitProcess=exit 833!endif 834 835CFLAGS=$(CFLAGS) $(XCFLAGS) 836 837# 1 --> Use 64 bits for gx_color_index. This is required only for 838# non standard devices or DeviceN process color model devices. 839USE_LARGE_COLOR_INDEX=0 840 841!if $(USE_LARGE_COLOR_INDEX) == 1 842# Definitions to force gx_color_index to 64 bits 843LARGEST_UINTEGER_TYPE=unsigned __int64 844GX_COLOR_INDEX_TYPE=$(LARGEST_UINTEGER_TYPE) 845 846CFLAGS=$(CFLAGS) /DGX_COLOR_INDEX_TYPE="$(GX_COLOR_INDEX_TYPE)" 847!endif 848 849# -W3 generates too much noise. 850!ifndef WARNOPT 851WARNOPT=-W2 852!endif 853 854# 855# Do not edit the next group of lines. 856 857#!include $(COMMONDIR)\msvcdefs.mak 858#!include $(COMMONDIR)\pcdefs.mak 859#!include $(COMMONDIR)\generic.mak 860!include $(GLSRCDIR)\version.mak 861# The following is a hack to get around the special treatment of \ at 862# the end of a line. 863NUL= 864D_=-D 865DD=$(GLGENDIR)\$(NUL) 866GLD=$(GLGENDIR)\$(NUL) 867PSD=$(PSGENDIR)\$(NUL) 868 869!ifdef SBR 870SBRFLAGS=/FR$(SBRDIR)\$(NUL) 871!endif 872 873# ------ Platform-specific options ------ # 874 875# Define which major version of MSVC is being used 876# (currently, 4, 5, 6, 7, and 8 are supported). 877# Define the minor version of MSVC, currently only 878# used for Microsoft Visual Studio .NET 2003 (7.1) 879 880#MSVC_VERSION=6 881#MSVC_MINOR_VERSION=0 882 883# Make a guess at the version of MSVC in use 884# This will not work if service packs change the version numbers. 885 886!if defined(_NMAKE_VER) && !defined(MSVC_VERSION) 887!if "$(_NMAKE_VER)" == "162" 888MSVC_VERSION=5 889!endif 890!if "$(_NMAKE_VER)" == "6.00.8168.0" 891# VC 6 892MSVC_VERSION=6 893!endif 894!if "$(_NMAKE_VER)" == "7.00.9466" 895MSVC_VERSION=7 896!endif 897!if "$(_NMAKE_VER)" == "7.00.9955" 898MSVC_VERSION=7 899!endif 900!if "$(_NMAKE_VER)" == "7.10.3077" 901MSVC_VERSION=7 902MSVC_MINOR_VERSION=1 903!endif 904!if "$(_NMAKE_VER)" == "8.00.40607.16" 905# VS2005 906MSVC_VERSION=8 907!endif 908!if "$(_NMAKE_VER)" == "8.00.50727.42" 909# VS2005 910MSVC_VERSION=8 911!endif 912!if "$(_NMAKE_VER)" == "8.00.50727.762" 913# VS2005 914MSVC_VERSION=8 915!endif 916!if "$(_NMAKE_VER)" == "9.00.21022.08" 917# VS2008 918MSVC_VERSION=9 919!endif 920!if "$(_NMAKE_VER)" == "9.00.30729.01" 921# VS2008 922MSVC_VERSION=9 923!endif 924!if "$(_NMAKE_VER)" == "10.00.30319.01" 925# VS2010 926MSVC_VERSION=10 927!endif 928!if "$(_NMAKE_VER)" == "11.00.50522.1" 929# VS2012 930MSVC_VERSION=11 931!endif 932!if "$(_NMAKE_VER)" == "11.00.50727.1" 933# VS2012 934MSVC_VERSION=11 935!endif 936!if "$(_NMAKE_VER)" == "11.00.60315.1" 937# VS2012 938MSVC_VERSION=11 939!endif 940!if "$(_NMAKE_VER)" == "11.00.60610.1" 941# VS2012 942MSVC_VERSION=11 943!endif 944!if "$(_NMAKE_VER)" == "12.00.21005.1" 945# VS 2013 946MSVC_VERSION=12 947!endif 948!if "$(_NMAKE_VER)" == "14.00.23506.0" 949# VS2015 950MSVC_VERSION=14 951!endif 952!if "$(_NMAKE_VER)" == "14.00.24210.0" 953# VS2015 954MSVC_VERSION=14 955!endif 956!if "$(_NMAKE_VER)" == "14.16.27034.0" 957# VS2017 or VS2019 (Toolset v141) 958MSVC_VERSION=15 959MS_TOOLSET_VERSION=14.16.27034 960!endif 961!if "$(_NMAKE_VER)" == "14.24.28314.0" 962# VS2019 (Toolset v142) 963MSVC_VERSION=16 964MS_TOOLSET_VERSION=14.24.28314 965!endif 966!if "$(_NMAKE_VER)" == "14.24.28315.0" 967# VS2019 (Toolset v142 - update) 968MSVC_VERSION=16 969MS_TOOLSET_VERSION=14.24.28315 970!endif 971!if "$(_NMAKE_VER)" == "14.24.28316.0" 972# VS2019 (Toolset v142 - update) 973MSVC_VERSION=16 974MS_TOOLSET_VERSION=14.24.28316 975!endif 976!endif 977 978!ifndef MSVC_VERSION 979!MESSAGE Could not determine MSVC_VERSION! Guessing at an ancient one. 980!MESSAGE Unknown nmake version: $(_NMAKE_VER) 981MSVC_VERSION=6 982!endif 983!ifndef MSVC_MINOR_VERSION 984MSVC_MINOR_VERSION=0 985!endif 986 987# Define the drive, directory, and compiler name for the Microsoft C files. 988# COMPDIR contains the compiler and linker (normally \msdev\bin). 989# MSINCDIR contains the include files (normally \msdev\include). 990# LIBDIR contains the library files (normally \msdev\lib). 991# COMP is the full C compiler path name (normally \msdev\bin\cl). 992# COMPCPP is the full C++ compiler path name (normally \msdev\bin\cl). 993# COMPAUX is the compiler name for DOS utilities (normally \msdev\bin\cl). 994# RCOMP is the resource compiler name (normallly \msdev\bin\rc). 995# LINK is the full linker path name (normally \msdev\bin\link). 996# Note that when MSINCDIR and LIBDIR are used, they always get a '\' appended, 997# so if you want to use the current directory, use an explicit '.'. 998 999!if $(MSVC_VERSION) == 4 1000! ifndef DEVSTUDIO 1001DEVSTUDIO=c:\msdev 1002! endif 1003COMPBASE=$(DEVSTUDIO) 1004SHAREDBASE=$(DEVSTUDIO) 1005!endif 1006 1007!if $(MSVC_VERSION) == 5 1008! ifndef DEVSTUDIO 1009DEVSTUDIO=C:\Program Files\Devstudio 1010! endif 1011!if "$(DEVSTUDIO)"=="" 1012COMPBASE= 1013SHAREDBASE= 1014!else 1015COMPBASE=$(DEVSTUDIO)\VC 1016SHAREDBASE=$(DEVSTUDIO)\SharedIDE 1017!endif 1018!endif 1019 1020!if $(MSVC_VERSION) == 6 1021! ifndef DEVSTUDIO 1022DEVSTUDIO=C:\Program Files\Microsoft Visual Studio 1023! endif 1024!if "$(DEVSTUDIO)"=="" 1025COMPBASE= 1026SHAREDBASE= 1027!else 1028COMPBASE=$(DEVSTUDIO)\VC98 1029SHAREDBASE=$(DEVSTUDIO)\Common\MSDev98 1030!endif 1031!endif 1032 1033!if $(MSVC_VERSION) == 7 1034! ifndef DEVSTUDIO 1035!if $(MSVC_MINOR_VERSION) == 0 1036DEVSTUDIO=C:\Program Files\Microsoft Visual Studio .NET 1037!else 1038DEVSTUDIO=C:\Program Files\Microsoft Visual Studio .NET 2003 1039!endif 1040! endif 1041!if "$(DEVSTUDIO)"=="" 1042COMPBASE= 1043SHAREDBASE= 1044!else 1045COMPBASE=$(DEVSTUDIO)\Vc7 1046SHAREDBASE=$(DEVSTUDIO)\Vc7 1047!endif 1048!endif 1049 1050!if $(MSVC_VERSION) == 8 1051! ifndef DEVSTUDIO 1052!if $(BUILD_SYSTEM) == 64 1053DEVSTUDIO=C:\Program Files (x86)\Microsoft Visual Studio 8 1054!else 1055DEVSTUDIO=C:\Program Files\Microsoft Visual Studio 8 1056!endif 1057! endif 1058!if "$(DEVSTUDIO)"=="" 1059COMPBASE= 1060SHAREDBASE= 1061!else 1062COMPBASE=$(DEVSTUDIO)\VC 1063SHAREDBASE=$(DEVSTUDIO)\VC 1064!ifdef WIN64 1065COMPDIR64=$(COMPBASE)\bin\amd64 1066LINKLIBPATH=/LIBPATH:"$(COMPBASE)\lib\amd64" /LIBPATH:"$(COMPBASE)\PlatformSDK\Lib\AMD64" 1067!endif 1068!endif 1069!endif 1070 1071!if $(MSVC_VERSION) == 9 1072! ifndef DEVSTUDIO 1073!if $(BUILD_SYSTEM) == 64 1074DEVSTUDIO=C:\Program Files (x86)\Microsoft Visual Studio 9.0 1075!else 1076DEVSTUDIO=C:\Program Files\Microsoft Visual Studio 9.0 1077!endif 1078! endif 1079!if "$(DEVSTUDIO)"=="" 1080COMPBASE= 1081SHAREDBASE= 1082!else 1083# There are at least 4 different values: 1084# "v6.0"=Vista, "v6.0A"=Visual Studio 2008, 1085# "v6.1"=Windows Server 2008, "v7.0"=Windows 7 1086! ifdef MSSDK 1087RCDIR=$(MSSDK)\bin 1088! else 1089RCDIR=C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin 1090! endif 1091COMPBASE=$(DEVSTUDIO)\VC 1092SHAREDBASE=$(DEVSTUDIO)\VC 1093!ifdef WIN64 1094COMPDIR64=$(COMPBASE)\bin\amd64 1095LINKLIBPATH=/LIBPATH:"$(COMPBASE)\lib\amd64" /LIBPATH:"$(COMPBASE)\PlatformSDK\Lib\AMD64" 1096!endif 1097!endif 1098!endif 1099 1100!if $(MSVC_VERSION) == 10 1101! ifndef DEVSTUDIO 1102!if $(BUILD_SYSTEM) == 64 1103DEVSTUDIO=C:\Program Files (x86)\Microsoft Visual Studio 10.0 1104!else 1105DEVSTUDIO=C:\Program Files\Microsoft Visual Studio 10.0 1106!endif 1107! endif 1108!if "$(DEVSTUDIO)"=="" 1109COMPBASE= 1110SHAREDBASE= 1111!else 1112# There are at least 4 different values: 1113# "v6.0"=Vista, "v6.0A"=Visual Studio 2008, 1114# "v6.1"=Windows Server 2008, "v7.0"=Windows 7 1115! ifdef MSSDK 1116! ifdef WIN64 1117RCDIR=$(MSSDK)\bin\x64 1118! else 1119RCDIR=$(MSSDK)\bin 1120! endif 1121! else 1122!ifdef WIN64 1123RCDIR=C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0\bin 1124!else 1125RCDIR=C:\Program Files\Microsoft SDKs\Windows\v7.0\bin 1126!endif 1127! endif 1128COMPBASE=$(DEVSTUDIO)\VC 1129SHAREDBASE=$(DEVSTUDIO)\VC 1130!ifdef WIN64 1131!if $(BUILD_SYSTEM) == 64 1132COMPDIR64=$(COMPBASE)\bin\amd64 1133LINKLIBPATH=/LIBPATH:"$(MSSDK)\lib\x64" /LIBPATH:"$(COMPBASE)\lib\amd64" 1134!else 1135COMPDIR64=$(COMPBASE)\bin\x86_amd64 1136LINKLIBPATH=/LIBPATH:"$(COMPBASE)\lib\amd64" /LIBPATH:"$(COMPBASE)\PlatformSDK\Lib\x64" 1137!endif 1138!endif 1139!endif 1140!endif 1141 1142!if $(MSVC_VERSION) == 11 1143! ifndef DEVSTUDIO 1144!if $(BUILD_SYSTEM) == 64 1145DEVSTUDIO=C:\Program Files (x86)\Microsoft Visual Studio 11.0 1146!else 1147DEVSTUDIO=C:\Program Files\Microsoft Visual Studio 11.0 1148!endif 1149! endif 1150!if "$(DEVSTUDIO)"=="" 1151COMPBASE= 1152SHAREDBASE= 1153!else 1154# There are at least 4 different values: 1155# "v6.0"=Vista, "v6.0A"=Visual Studio 2008, 1156# "v6.1"=Windows Server 2008, "v7.0"=Windows 7 1157! ifdef MSSDK 1158! ifdef WIN64 1159RCDIR=$(MSSDK)\bin\x64 1160! else 1161RCDIR=$(MSSDK)\bin 1162! endif 1163! else 1164!if $(BUILD_SYSTEM) == 64 1165RCDIR=C:\Program Files (x86)\Windows Kits\8.0\bin\x64 1166!else 1167RCDIR=C:\Program Files\Windows Kits\8.0\bin\x86 1168!endif 1169! endif 1170COMPBASE=$(DEVSTUDIO)\VC 1171SHAREDBASE=$(DEVSTUDIO)\VC 1172!ifdef WIN64 1173!if $(BUILD_SYSTEM) == 64 1174COMPDIR64=$(COMPBASE)\bin\x86_amd64 1175LINKLIBPATH=/LIBPATH:"$(MSSDK)\lib\x64" /LIBPATH:"$(COMPBASE)\lib\amd64" 1176!else 1177COMPDIR64=$(COMPBASE)\bin\x86_amd64 1178LINKLIBPATH=/LIBPATH:"$(COMPBASE)\lib\amd64" /LIBPATH:"$(COMPBASE)\PlatformSDK\Lib\x64" 1179!endif 1180!endif 1181!endif 1182!endif 1183 1184!if $(MSVC_VERSION) == 12 1185! ifndef DEVSTUDIO 1186! if $(BUILD_SYSTEM) == 64 1187DEVSTUDIO=C:\Program Files (x86)\Microsoft Visual Studio 12.0 1188! else 1189DEVSTUDIO=C:\Program Files\Microsoft Visual Studio 12.0 1190! endif 1191! endif 1192! if "$(DEVSTUDIO)"=="" 1193COMPBASE= 1194SHAREDBASE= 1195! else 1196# There are at least 4 different values: 1197# "v6.0"=Vista, "v6.0A"=Visual Studio 2008, 1198# "v6.1"=Windows Server 2008, "v7.0"=Windows 7 1199! ifdef MSSDK 1200! ifdef WIN64 1201RCDIR=$(MSSDK)\bin\x64 1202! else 1203RCDIR=$(MSSDK)\bin 1204! endif 1205! else 1206! if $(BUILD_SYSTEM) == 64 1207RCDIR=C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin 1208! else 1209RCDIR=C:\Program Files\Microsoft SDKs\Windows\v7.1A\Bin 1210! endif 1211! endif 1212COMPBASE=$(DEVSTUDIO)\VC 1213SHAREDBASE=$(DEVSTUDIO)\VC 1214! ifdef WIN64 1215! if $(BUILD_SYSTEM) == 64 1216COMPDIR64=$(COMPBASE)\bin\x86_amd64 1217LINKLIBPATH=/LIBPATH:"$(COMPBASE)\lib\amd64" 1218! else 1219COMPDIR64=$(COMPBASE)\bin\x86_amd64 1220LINKLIBPATH=/LIBPATH:"$(COMPBASE)\lib\amd64" /LIBPATH:"$(COMPBASE)\PlatformSDK\Lib\x64" 1221! endif 1222! endif 1223! endif 1224!endif 1225 1226!if $(MSVC_VERSION) == 14 1227! ifndef DEVSTUDIO 1228! if $(BUILD_SYSTEM) == 64 1229DEVSTUDIO=C:\Program Files (x86)\Microsoft Visual Studio 14.0 1230! else 1231DEVSTUDIO=C:\Program Files\Microsoft Visual Studio 14.0 1232! endif 1233! endif 1234! if "$(DEVSTUDIO)"=="" 1235COMPBASE= 1236SHAREDBASE= 1237! else 1238# There are at least 4 different values: 1239# "v6.0"=Vista, "v6.0A"=Visual Studio 2008, 1240# "v6.1"=Windows Server 2008, "v7.0"=Windows 7 1241! ifdef MSSDK 1242! ifdef WIN64 1243RCDIR=$(MSSDK)\bin\x64 1244! else 1245RCDIR=$(MSSDK)\bin 1246! endif 1247! else 1248! if $(BUILD_SYSTEM) == 64 1249RCDIR=C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\Bin 1250! else 1251RCDIR=C:\Program Files\Microsoft SDKs\Windows\v10.0A\Bin 1252! endif 1253! endif 1254COMPBASE=$(DEVSTUDIO)\VC 1255SHAREDBASE=$(DEVSTUDIO)\VC 1256! ifdef WIN64 1257! if $(BUILD_SYSTEM) == 64 1258COMPDIR64=$(COMPBASE)\bin\x86_amd64 1259LINKLIBPATH=/LIBPATH:"$(COMPBASE)\lib\amd64" 1260! else 1261COMPDIR64=$(COMPBASE)\bin\x86_amd64 1262LINKLIBPATH=/LIBPATH:"$(COMPBASE)\lib\amd64" /LIBPATH:"$(COMPBASE)\PlatformSDK\Lib\x64" 1263! endif 1264! endif 1265! endif 1266!endif 1267 1268!if $(MSVC_VERSION) == 15 1269! ifndef DEVSTUDIO 1270DEVSTUDIO=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\$(MS_TOOLSET_VERSION) 1271! endif 1272! if "$(DEVSTUDIO)"=="" 1273COMPBASE= 1274SHAREDBASE= 1275! else 1276! if $(BUILD_SYSTEM) == 64 1277DEVSTUDIO_HOST=Hostx64 1278! else 1279DEVSTUDIO_HOST=Hostx86 1280! endif 1281! ifdef WIN64 1282DEVSTUDIO_TARGET=x64 1283! else 1284DEVSTUDIO_TARGET=x86 1285! endif 1286COMPDIR=$(DEVSTUDIO)\bin\$(DEVSTUDIO_HOST)\$(DEVSTUDIO_TARGET) 1287RCDIR= 1288LINKLIBPATH=/LIBPATH:"$(DEVSTUDIO)\lib\$(DEVSTUDIO_TARGET)" 1289! endif 1290!endif 1291 1292!if $(MSVC_VERSION) == 16 1293! ifndef DEVSTUDIO 1294! if exist("C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional") 1295DEVSTUDIO_VARIANT="Professional" 1296! else 1297DEVSTUDIO_VARIANT="Community" 1298! endif 1299DEVSTUDIO=C:\Program Files (x86)\Microsoft Visual Studio\2019\$(DEVSTUDIO_VARIANT)\VC\Tools\MSVC\$(MS_TOOLSET_VERSION) 1300! endif 1301! if "$(DEVSTUDIO)"=="" 1302COMPBASE= 1303SHAREDBASE= 1304! else 1305! if $(BUILD_SYSTEM) == 64 1306DEVSTUDIO_HOST=Hostx64 1307! else 1308DEVSTUDIO_HOST=Hostx86 1309! endif 1310! ifdef WIN64 1311DEVSTUDIO_TARGET=x64 1312! else 1313DEVSTUDIO_TARGET=x86 1314! endif 1315COMPDIR=$(DEVSTUDIO)\bin\$(DEVSTUDIO_HOST)\$(DEVSTUDIO_TARGET) 1316RCDIR= 1317LINKLIBPATH=/LIBPATH:"$(DEVSTUDIO)\lib\$(DEVSTUDIO_TARGET)" 1318! endif 1319!endif 1320 1321!if "$(ARM)"=="1" 1322VCINSTDIR=$(VS110COMNTOOLS)..\..\VC\ 1323 1324!ifndef WINSDKVER 1325WINSDKVER=8.0 1326!endif 1327 1328!ifndef WINSDKDIR 1329WINSDKDIR=$(VS110COMNTOOLS)..\..\..\Windows Kits\$(WINSDKVER)\ 1330!endif 1331 1332COMPAUX__="$(VCINSTDIR)\bin\cl.exe" 1333COMPAUXCFLAGS=/I"$(VCINSTDIR)\INCLUDE" /I"$(VCINSTDIR)\ATLMFC\INCLUDE" \ 1334/I"$(WINSDKDIR)\include\shared" /I"$(WINSDKDIR)\include\um" \ 1335/I"$(WINDSKDIR)include\winrt" 1336 1337COMPAUXLDFLAGS=/LIBPATH:"$(VCINSTDIR)\LIB" \ 1338/LIBPATH:"$(VCINSTDIR)\ATLMFC\LIB" \ 1339/LIBPATH:"$(WINSDKDIR)\lib\win8\um\x86" 1340 1341COMPAUX=$(COMPAUX__) $(COMPAUXCFLAGS) 1342 1343!else 1344 1345COMPAUXLDFLAGS="" 1346 1347!endif 1348 1349# Some environments don't want to specify the path names for the tools at all. 1350# Typical definitions for such an environment would be: 1351# MSINCDIR= LIBDIR= COMP=cl COMPAUX=cl RCOMP=rc LINK=link 1352# COMPDIR, LINKDIR, and RCDIR are irrelevant, since they are only used to 1353# define COMP, LINK, and RCOMP respectively, but we allow them to be 1354# overridden anyway for completeness. 1355!ifndef COMPDIR 1356!if "$(COMPBASE)"=="" 1357COMPDIR= 1358!else 1359!ifdef WIN64 1360COMPDIR=$(COMPDIR64) 1361!else 1362COMPDIR=$(COMPBASE)\bin 1363!endif 1364!endif 1365!endif 1366 1367!ifndef LINKDIR 1368!if "$(COMPBASE)"=="" 1369LINKDIR= 1370!else 1371!ifdef WIN64 1372LINKDIR=$(COMPDIR64) 1373!else 1374LINKDIR=$(COMPBASE)\bin 1375!endif 1376!endif 1377!endif 1378 1379!ifndef RCDIR 1380!if "$(SHAREDBASE)"=="" 1381RCDIR= 1382!else 1383RCDIR=$(SHAREDBASE)\bin 1384!endif 1385!endif 1386 1387!ifndef MSINCDIR 1388!if "$(COMPBASE)"=="" 1389MSINCDIR= 1390!else 1391MSINCDIR=$(COMPBASE)\include 1392!endif 1393!endif 1394 1395!ifndef LIBDIR 1396!if "$(COMPBASE)"=="" 1397LIBDIR= 1398!else 1399!ifdef WIN64 1400LIBDIR=$(COMPBASE)\lib\amd64 1401!else 1402LIBDIR=$(COMPBASE)\lib 1403!endif 1404!endif 1405!endif 1406 1407!ifndef COMP 1408!if "$(COMPDIR)"=="" 1409COMP=cl 1410!else 1411COMP="$(COMPDIR)\cl" 1412!endif 1413!endif 1414!ifndef COMPCPP 1415COMPCPP=$(COMP) 1416!endif 1417!ifndef COMPAUX 1418!ifdef WIN64 1419COMPAUX=$(COMP) 1420!else 1421COMPAUX=$(COMP) 1422!endif 1423!endif 1424 1425!ifndef RCOMP 1426!if "$(RCDIR)"=="" 1427RCOMP=rc 1428!else 1429RCOMP="$(RCDIR)\rc" 1430!endif 1431!endif 1432 1433!ifndef LINK 1434!if "$(LINKDIR)"=="" 1435LINK=link 1436!else 1437LINK="$(LINKDIR)\link" 1438!endif 1439!endif 1440 1441# nmake does not have a form of .BEFORE or .FIRST which can be used 1442# to specify actions before anything else is done. If LIB and INCLUDE 1443# are not defined then we want to define them before we link or 1444# compile. Here is a kludge which allows us to to do what we want. 1445# nmake does evaluate preprocessor directives when they are encountered. 1446# So the desired set statements are put into dummy preprocessor 1447# directives. 1448!ifndef INCLUDE 1449!if "$(MSINCDIR)"!="" 1450!if [set INCLUDE=$(MSINCDIR)]==0 1451!endif 1452!endif 1453!endif 1454!ifndef LIB 1455!if "$(LIBDIR)"!="" 1456!if [set LIB=$(LIBDIR)]==0 1457!endif 1458!endif 1459!endif 1460 1461!ifndef LINKLIBPATH 1462LINKLIBPATH= 1463!endif 1464 1465# Define the processor architecture. (i386, ppc, alpha) 1466 1467!ifndef CPU_FAMILY 1468CPU_FAMILY=i386 1469#CPU_FAMILY=ppc 1470#CPU_FAMILY=alpha # not supported yet - we need someone to tweak 1471!endif 1472 1473# Define the processor (CPU) type. Allowable values depend on the family: 1474# i386: 386, 486, 586 1475# ppc: 601, 604, 620 1476# alpha: not currently used. 1477 1478!ifndef CPU_TYPE 1479CPU_TYPE=486 1480#CPU_TYPE=601 1481!endif 1482 1483# Define special features of CPUs 1484 1485# We'll assume that if you have an x86 machine, you've got a modern 1486# enough one to have SSE2 instructions. If you don't, then predefine 1487# DONT_HAVE_SSE2 when calling this makefile 1488!ifndef ARM 1489!if "$(CPU_FAMILY)" == "i386" 1490!ifndef DONT_HAVE_SSE2 1491!ifndef HAVE_SSE2 1492!message ************************************************************** 1493!message * Assuming that target has SSE2 instructions available. If * 1494!message * this is NOT the case, define DONT_HAVE_SSE2 when building. * 1495!message ************************************************************** 1496!endif 1497HAVE_SSE2=1 1498CFLAGS=$(CFLAGS) /DHAVE_SSE2 1499# add "/D__SSE__" here, but causes crashes just now 1500JPX_SSE_CFLAGS= 1501!endif 1502!endif 1503!endif 1504 1505# Define the .dev module that implements thread and synchronization 1506# primitives for this platform. Don't change this unless you really know 1507# what you're doing. 1508 1509!ifndef SYNC 1510SYNC=winsync 1511!endif 1512 1513# Luratech jp2 flags depend on the compiler version 1514# 1515!if "$(JPX_LIB)" == "luratech" || "$(JPX_LIB)" == "lwf_jp2" 1516# Set defaults for using the Luratech JP2 implementation 1517!ifndef JPXSRCDIR 1518# CSDK source code location 1519JPXSRCDIR=luratech\lwf_jp2 1520!endif 1521!ifndef JPX_CFLAGS 1522# required compiler flags 1523!ifdef WIN64 1524JPX_CFLAGS=-DUSE_LWF_JP2 -DWIN64 -DNO_ASSEMBLY 1525!else 1526JPX_CFLAGS=-DUSE_LWF_JP2 -DWIN32 -DNO_ASSEMBLY 1527!endif 1528!endif 1529!endif 1530 1531# OpenJPEG compiler flags 1532# 1533!if "$(JPX_LIB)" == "openjpeg" 1534!ifndef JPXSRCDIR 1535JPXSRCDIR=openjpeg 1536!endif 1537!ifndef JPX_CFLAGS 1538!ifdef WIN64 1539JPX_CFLAGS=-DMUTEX_pthread=0 -DUSE_OPENJPEG_JP2 -DUSE_JPIP $(JPX_SSE_CFLAGS) -DOPJ_STATIC -DWIN64 1540!else 1541JPX_CFLAGS=-DMUTEX_pthread=0 -DUSE_OPENJPEG_JP2 -DUSE_JPIP $(JPX_SSE_CFLAGS) -DOPJ_STATIC -DWIN32 1542!endif 1543!else 1544JPX_CFLAGS = $JPX_CFLAGS -DUSE_JPIP -DUSE_OPENJPEG_JP2 -DOPJ_STATIC 1545!endif 1546!endif 1547 1548# ------ Devices and features ------ # 1549 1550# Choose the language feature(s) to include. See gs.mak for details. 1551 1552!ifndef FEATURE_DEVS 1553# Choose the language feature(s) to include. See gs.mak for details. 1554 1555# if it's included, $(PSD)gs_pdfwr.dev should always be one of the last in the list 1556PSI_FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev $(PSD)epsf.dev $(PSD)ttfont.dev \ 1557 $(PSD)jbig2.dev $(PSD)jpx.dev $(PSD)fapi_ps.dev $(GLD)winutf8.dev $(PSD)gs_pdfwr.dev 1558 1559 1560PCL_FEATURE_DEVS=$(PLOBJDIR)/pl.dev $(PLOBJDIR)/pjl.dev $(PXLOBJDIR)/pxl.dev $(PCL5OBJDIR)/pcl5c.dev \ 1561 $(PCL5OBJDIR)/hpgl2c.dev 1562 1563XPS_FEATURE_DEVS=$(XPSOBJDIR)/pl.dev $(XPSOBJDIR)/xps.dev 1564 1565FEATURE_DEVS=$(GLD)pipe.dev $(GLD)gsnogc.dev $(GLD)htxlib.dev $(GLD)psl3lib.dev $(GLD)psl2lib.dev \ 1566 $(GLD)dps2lib.dev $(GLD)path1lib.dev $(GLD)patlib.dev $(GLD)psl2cs.dev $(GLD)rld.dev $(GLD)gxfapiu$(UFST_BRIDGE).dev\ 1567 $(GLD)ttflib.dev $(GLD)cielib.dev $(GLD)pipe.dev $(GLD)htxlib.dev $(GLD)sdct.dev $(GLD)libpng.dev\ 1568 $(GLD)seprlib.dev $(GLD)translib.dev $(GLD)cidlib.dev $(GLD)psf0lib.dev $(GLD)psf1lib.dev\ 1569 $(GLD)psf2lib.dev $(GLD)lzwd.dev $(GLD)sicclib.dev $(GLD)mshandle.dev $(GLD)mspoll.dev \ 1570 $(GLD)ramfs.dev $(GLD)sjpx.dev $(GLD)sjbig2.dev \ 1571 $(GLD)pwgd.dev $(GLD)siscale.dev $(URF_DEV) 1572 1573 1574!ifndef METRO 1575FEATURE_DEVS=$(FEATURE_DEVS) $(PSD)msprinter.dev $(GLD)pipe.dev 1576!endif 1577!endif 1578 1579# Choose whether to compile the .ps initialization files into the executable. 1580# See gs.mak for details. 1581 1582!ifndef COMPILE_INITS 1583COMPILE_INITS=1 1584!endif 1585 1586# Choose whether to store band lists on files or in memory. 1587# The choices are 'file' or 'memory'. 1588 1589!ifndef BAND_LIST_STORAGE 1590BAND_LIST_STORAGE=file 1591!endif 1592 1593# Choose which compression method to use when storing band lists in memory. 1594# The choices are 'lzw' or 'zlib'. 1595 1596!ifndef BAND_LIST_COMPRESSOR 1597BAND_LIST_COMPRESSOR=zlib 1598!endif 1599 1600# Choose the implementation of file I/O: 'stdio', 'fd', or 'both'. 1601# See gs.mak and sfxfd.c for more details. 1602 1603!ifndef FILE_IMPLEMENTATION 1604FILE_IMPLEMENTATION=stdio 1605!endif 1606 1607# Choose the device(s) to include. See devs.mak for details, 1608# devs.mak and contrib.mak for the list of available devices. 1609 1610!ifndef DEVICE_DEVS 1611!ifdef METRO 1612DEVICE_DEVS= 1613!else 1614DEVICE_DEVS=$(DD)display.dev $(DD)mswinpr2.dev $(DD)ijs.dev 1615!endif 1616DEVICE_DEVS2=$(DD)epson.dev $(DD)eps9high.dev $(DD)eps9mid.dev $(DD)epsonc.dev $(DD)ibmpro.dev 1617DEVICE_DEVS3=$(DD)deskjet.dev $(DD)djet500.dev $(DD)laserjet.dev $(DD)ljetplus.dev $(DD)ljet2p.dev 1618DEVICE_DEVS4=$(DD)cdeskjet.dev $(DD)cdjcolor.dev $(DD)cdjmono.dev $(DD)cdj550.dev 1619DEVICE_DEVS5=$(DD)uniprint.dev $(DD)djet500c.dev $(DD)declj250.dev $(DD)lj250.dev 1620DEVICE_DEVS6=$(DD)st800.dev $(DD)stcolor.dev $(DD)bj10e.dev $(DD)bj200.dev 1621DEVICE_DEVS7=$(DD)t4693d2.dev $(DD)t4693d4.dev $(DD)t4693d8.dev $(DD)tek4696.dev 1622DEVICE_DEVS8=$(DD)pcxmono.dev $(DD)pcxgray.dev $(DD)pcx16.dev $(DD)pcx256.dev $(DD)pcx24b.dev $(DD)pcxcmyk.dev 1623DEVICE_DEVS9=$(DD)pbm.dev $(DD)pbmraw.dev $(DD)pgm.dev $(DD)pgmraw.dev $(DD)pgnm.dev $(DD)pgnmraw.dev $(DD)pkmraw.dev 1624DEVICE_DEVS10=$(DD)tiffcrle.dev $(DD)tiffg3.dev $(DD)tiffg32d.dev $(DD)tiffg4.dev $(DD)tifflzw.dev $(DD)tiffpack.dev 1625DEVICE_DEVS11=$(DD)bmpmono.dev $(DD)bmpgray.dev $(DD)bmp16.dev $(DD)bmp256.dev $(DD)bmp16m.dev $(DD)tiff12nc.dev $(DD)tiff24nc.dev $(DD)tiff48nc.dev $(DD)tiffgray.dev $(DD)tiff32nc.dev $(DD)tiff64nc.dev $(DD)tiffsep.dev $(DD)tiffsep1.dev $(DD)tiffscaled.dev $(DD)tiffscaled8.dev $(DD)tiffscaled24.dev $(DD)tiffscaled32.dev $(DD)tiffscaled4.dev 1626DEVICE_DEVS12=$(DD)bit.dev $(DD)bitrgb.dev $(DD)bitcmyk.dev $(DD)bitrgbtags.dev $(DD)chameleon.dev 1627DEVICE_DEVS13=$(DD)pngmono.dev $(DD)pngmonod.dev $(DD)pnggray.dev $(DD)png16.dev $(DD)png256.dev $(DD)png16m.dev $(DD)pngalpha.dev $(DD)fpng.dev $(DD)psdcmykog.dev 1628DEVICE_DEVS14=$(DD)jpeg.dev $(DD)jpeggray.dev $(DD)jpegcmyk.dev $(DD)pdfimage8.dev $(DD)pdfimage24.dev $(DD)pdfimage32.dev $(DD)PCLm.dev 1629DEVICE_DEVS15=$(DD)pdfwrite.dev $(DD)ps2write.dev $(DD)eps2write.dev $(DD)txtwrite.dev $(DD)pxlmono.dev $(DD)pxlcolor.dev $(DD)xpswrite.dev $(DD)inkcov.dev $(DD)ink_cov.dev 1630DEVICE_DEVS16=$(DD)bbox.dev $(DD)plib.dev $(DD)plibg.dev $(DD)plibm.dev $(DD)plibc.dev $(DD)plibk.dev $(DD)plan.dev $(DD)plang.dev $(DD)planm.dev $(DD)planc.dev $(DD)plank.dev $(DD)planr.dev 1631!if "$(WITH_CUPS)" == "1" 1632DEVICE_DEVS16=$(DEVICE_DEVS16) $(DD)cups.dev 1633!endif 1634!if "$(WITH_URF)" == "1" 1635DEVICE_DEVS16=$(DEVICE_DEVS16) $(DD)urfgray.dev $(DD)urfrgb.dev $(DD)urfcmyk.dev 1636!endif 1637# Overflow for DEVS3,4,5,6,9 1638DEVICE_DEVS17=$(DD)ljet3.dev $(DD)ljet3d.dev $(DD)ljet4.dev $(DD)ljet4d.dev 1639DEVICE_DEVS18=$(DD)pj.dev $(DD)pjxl.dev $(DD)pjxl300.dev $(DD)jetp3852.dev $(DD)r4081.dev 1640DEVICE_DEVS19=$(DD)lbp8.dev $(DD)m8510.dev $(DD)necp6.dev $(DD)bjc600.dev $(DD)bjc800.dev 1641DEVICE_DEVS20=$(DD)pnm.dev $(DD)pnmraw.dev $(DD)ppm.dev $(DD)ppmraw.dev $(DD)pamcmyk32.dev $(DD)pamcmyk4.dev $(DD)pnmcmyk.dev $(DD)pam.dev 1642DEVICE_DEVS21=$(DD)spotcmyk.dev $(DD)devicen.dev $(DD)bmpsep1.dev $(DD)bmpsep8.dev $(DD)bmp16m.dev $(DD)bmp32b.dev $(DD)psdcmyk.dev $(DD)psdrgb.dev $(DD)psdcmyk16.dev $(DD)psdrgb16.dev 1643!endif 1644CONTRIB_DEVS=$(DD)pcl3.dev $(DD)hpdjplus.dev $(DD)hpdjportable.dev $(DD)hpdj310.dev $(DD)hpdj320.dev $(DD)hpdj340.dev $(DD)hpdj400.dev $(DD)hpdj500.dev $(DD)hpdj500c.dev $(DD)hpdj510.dev $(DD)hpdj520.dev $(DD)hpdj540.dev $(DD)hpdj550c.dev $(DD)hpdj560c.dev $(DD)hpdj600.dev $(DD)hpdj660c.dev $(DD)hpdj670c.dev $(DD)hpdj680c.dev $(DD)hpdj690c.dev $(DD)hpdj850c.dev $(DD)hpdj855c.dev $(DD)hpdj870c.dev $(DD)hpdj890c.dev $(DD)hpdj1120c.dev $(DD)cdj670.dev $(DD)cdj850.dev $(DD)cdj880.dev $(DD)cdj890.dev $(DD)cdj970.dev $(DD)cdj1600.dev $(DD)cdnj500.dev $(DD)chp2200.dev $(DD)lips3.dev $(DD)lxm3200.dev $(DD)lex2050.dev $(DD)lxm3200.dev $(DD)lex5700.dev $(DD)lex7000.dev $(DD)oki4w.dev $(DD)gdi.dev $(DD)samsunggdi.dev $(DD)dl2100.dev $(DD)la50.dev $(DD)la70.dev $(DD)la75.dev $(DD)la75plus.dev $(DD)ln03.dev $(DD)xes.dev $(DD)md2k.dev $(DD)md5k.dev $(DD)lips4.dev $(DD)bj10v.dev $(DD)bj10vh.dev $(DD)md50Mono.dev $(DD)md50Eco.dev $(DD)md1xMono.dev $(DD)lp2000.dev $(DD)escpage.dev $(DD)npdl.dev $(DD)rpdl.dev $(DD)fmpr.dev $(DD)fmlbp.dev $(DD)jj100.dev $(DD)lbp310.dev $(DD)lbp320.dev $(DD)mj700v2c.dev $(DD)mj500c.dev $(DD)mj6000c.dev $(DD)mj8000c.dev $(DD)pr201.dev $(DD)pr150.dev $(DD)pr1000.dev $(DD)pr1000_4.dev $(DD)lips2p.dev $(DD)bjc880j.dev $(DD)bjcmono.dev $(DD)bjcgray.dev $(DD)bjccmyk.dev $(DD)bjccolor.dev 1645 1646!if "$(WITH_CONTRIB)" == "1" 1647DEVICE_DEVS16=$(DEVICE_DEVS16) $(CONTRIB_DEVS) 1648!endif 1649 1650# FAPI compilation options : 1651UFST_CFLAGS=-DMSVC 1652 1653BITSTREAM_CFLAGS= 1654 1655# ---------------------------- End of options ---------------------------- # 1656 1657# Define the name of the makefile -- used in dependencies. 1658 1659MAKEFILE=$(PSSRCDIR)\msvc.mak 1660TOP_MAKEFILES=$(MAKEFILE) $(GLSRCDIR)\msvccmd.mak $(GLSRCDIR)\msvctail.mak $(GLSRCDIR)\winlib.mak $(PSSRCDIR)\winint.mak 1661 1662# Define the files to be removed by `make clean'. 1663# nmake expands macros when encountered, not when used, 1664# so this must precede the !include statements. 1665 1666BEGINFILES2=$(GLGENDIR)\lib.rsp\ 1667 $(GLOBJDIR)\*.exp $(GLOBJDIR)\*.ilk $(GLOBJDIR)\*.pdb $(GLOBJDIR)\*.lib\ 1668 $(BINDIR)\*.exp $(BINDIR)\*.ilk $(BINDIR)\*.pdb $(BINDIR)\*.lib obj.pdb\ 1669 obj.idb $(GLOBJDIR)\gs.pch $(SBRDIR)\*.sbr $(GLOBJDIR)\cups\*.h 1670 1671!ifdef BSCFILE 1672BEGINFILES2=$(BEGINFILES2) $(BSCFILE) 1673!endif 1674 1675!include $(GLSRCDIR)\msvccmd.mak 1676# *romfs.mak must precede lib.mak 1677!include $(PSSRCDIR)\psromfs.mak 1678 1679!if $(BUILD_PCL) 1680!include $(PLSRCDIR)\plromfs.mak 1681!endif 1682!if $(BUILD_XPS) 1683!include $(XPSSRCDIR)\xpsromfs.mak 1684!endif 1685 1686!include $(GLSRCDIR)\winlib.mak 1687 1688!if $(BUILD_PCL) 1689!include $(PLSRCDIR)\pl.mak 1690!include $(PCL5SRCDIR)\pcl.mak 1691!include $(PCL5SRCDIR)\pcl_top.mak 1692!include $(PXLSRCDIR)\pxl.mak 1693!endif 1694 1695!if $(BUILD_XPS) 1696!include $(XPSSRCDIR)\xps.mak 1697!endif 1698 1699!if $(BUILD_GPDL) 1700!include $(GPDLSRCDIR)\gpdl.mak 1701!endif 1702 1703!include $(GLSRCDIR)\msvctail.mak 1704!include $(PSSRCDIR)\winint.mak 1705# ----------------------------- Main program ------------------------------ # 1706 1707GSCONSOLE_XE=$(BINDIR)\$(GSCONSOLE).exe 1708GSDLL_DLL=$(BINDIR)\$(GSDLL).dll 1709GSDLL_OBJS=$(PSOBJ)gsdll.$(OBJ) $(GLOBJ)gp_msdll.$(OBJ) 1710 1711GPCL6DLL_DLL=$(BINDIR)\$(GPCL6DLL).dll 1712GXPSDLL_DLL=$(BINDIR)\$(GXPSDLL).dll 1713GPDLDLL_DLL=$(BINDIR)\$(GPDLDLL).dll 1714 1715INT_ARCHIVE_SOME=$(GLOBJ)gconfig.$(OBJ) $(GLOBJ)gscdefs.$(OBJ) 1716INT_ARCHIVE_ALL=$(PSOBJ)imainarg.$(OBJ) $(PSOBJ)imain.$(OBJ) $(GLOBJ)iconfig.$(OBJ) \ 1717 $(INT_ARCHIVE_SOME) 1718 1719!if $(TDEBUG) != 0 1720$(PSGEN)lib.rsp: $(TOP_MAKEFILES) 1721 echo /NODEFAULTLIB:LIBC.lib > $(PSGEN)lib.rsp 1722 echo /NODEFAULTLIB:LIBCMT.lib >> $(PSGEN)lib.rsp 1723!ifdef METRO 1724 echo kernel32.lib runtimeobject.lib rpcrt4.lib >> $(PSGEN)lib.rsp 1725!else 1726 echo LIBCMTD.lib >> $(PSGEN)lib.rsp 1727!endif 1728!else 1729$(PSGEN)lib.rsp: $(TOP_MAKEFILES) 1730 echo /NODEFAULTLIB:LIBC.lib > $(PSGEN)lib.rsp 1731 echo /NODEFAULTLIB:LIBCMTD.lib >> $(PSGEN)lib.rsp 1732!ifdef METRO 1733 echo kernel32.lib runtimeobject.lib rpcrt4.lib >> $(PSGEN)lib.rsp 1734!else 1735 echo LIBCMT.lib >> $(PSGEN)lib.rsp 1736!endif 1737!endif 1738 1739# a bit naff - find some way to combine above and this.... 1740!if $(TDEBUG) != 0 1741$(PCLGEN)pcllib.rsp: $(TOP_MAKEFILES) 1742 echo /NODEFAULTLIB:LIBC.lib > $(PCLGEN)pcllib.rsp 1743 echo /NODEFAULTLIB:LIBCMT.lib >> $(PCLGEN)pcllib.rsp 1744!ifdef METRO 1745 echo kernel32.lib runtimeobject.lib rpcrt4.lib >> $(PCLGEN)pcllib.rsp 1746!else 1747 echo LIBCMTD.lib >> $(PCLGEN)pcllib.rsp 1748!endif 1749!else 1750$(PCLGEN)pcllib.rsp: $(TOP_MAKEFILES) 1751 echo /NODEFAULTLIB:LIBC.lib > $(PCLGEN)pcllib.rsp 1752 echo /NODEFAULTLIB:LIBCMTD.lib >> $(PCLGEN)pcllib.rsp 1753!ifdef METRO 1754 echo kernel32.lib runtimeobject.lib rpcrt4.lib >> $(PCLGEN)pcllib.rsp 1755!else 1756 echo LIBCMT.lib >> $(PCLGEN)pcllib.rsp 1757!endif 1758!endif 1759 1760!if $(TDEBUG) != 0 1761 1762$(XPSGEN)xpslib.rsp: $(TOP_MAKEFILES) 1763 echo /NODEFAULTLIB:LIBC.lib > $(XPSGEN)xpslib.rsp 1764 echo /NODEFAULTLIB:LIBCMT.lib >> $(XPSGEN)xpslib.rsp 1765!ifdef METRO 1766 echo kernel32.lib runtimeobject.lib rpcrt4.lib >> $(XPSGEN)xpslib.rsp 1767!else 1768 echo LIBCMTD.lib >> $(XPSGEN)xpslib.rsp 1769!endif 1770!else 1771$(XPSGEN)xpslib.rsp: $(TOP_MAKEFILES) 1772 echo /NODEFAULTLIB:LIBC.lib > $(XPSGEN)xpslib.rsp 1773 echo /NODEFAULTLIB:LIBCMTD.lib >> $(XPSGEN)xpslib.rsp 1774!ifdef METRO 1775 echo kernel32.lib runtimeobject.lib rpcrt4.lib >> $(XPSGEN)xpslib.rsp 1776!else 1777 echo LIBCMT.lib >> $(XPSGEN)xpslib.rsp 1778!endif 1779!endif 1780 1781!if $(TDEBUG) != 0 1782 1783$(GPDLGEN)gpdllib.rsp: $(TOP_MAKEFILES) 1784 echo /NODEFAULTLIB:LIBC.lib > $(XPSGEN)gpdllib.rsp 1785 echo /NODEFAULTLIB:LIBCMT.lib >> $(XPSGEN)gpdllib.rsp 1786!ifdef METRO 1787 echo kernel32.lib runtimeobject.lib rpcrt4.lib >> $(XPSGEN)gpdllib.rsp 1788!else 1789 echo LIBCMTD.lib >> $(XPSGEN)gpdllib.rsp 1790!endif 1791!else 1792$(GPDLGEN)gpdllib.rsp: $(TOP_MAKEFILES) 1793 echo /NODEFAULTLIB:LIBC.lib > $(XPSGEN)gpdllib.rsp 1794 echo /NODEFAULTLIB:LIBCMTD.lib >> $(XPSGEN)gpdllib.rsp 1795!ifdef METRO 1796 echo kernel32.lib runtimeobject.lib rpcrt4.lib >> $(XPSGEN)gpdllib.rsp 1797!else 1798 echo LIBCMT.lib >> $(XPSGEN)gpdllib.rsp 1799!endif 1800!endif 1801 1802 1803!if $(MAKEDLL) 1804# The graphical small EXE loader 1805!ifdef METRO 1806# For METRO build only the dll 1807$(GS_XE): $(GSDLL_DLL) 1808 1809!else 1810$(GS_XE): $(GSDLL_DLL) $(DWOBJ) $(GSCONSOLE_XE) $(GLOBJ)gp_wutf8.$(OBJ) $(TOP_MAKEFILES) 1811 echo /SUBSYSTEM:WINDOWS$(SUBSUBSYS) > $(PSGEN)gswin.rsp 1812!if "$(PROFILE)"=="1" 1813 echo /Profile >> $(PSGEN)gswin.rsp 1814!endif 1815!ifdef WIN64 1816 echo /DEF:$(PSSRCDIR)\dwmain64.def /OUT:$(GS_XE) >> $(PSGEN)gswin.rsp 1817!else 1818 echo /DEF:$(PSSRCDIR)\dwmain32.def /OUT:$(GS_XE) >> $(PSGEN)gswin.rsp 1819!endif 1820 $(LINK) $(LCT) @$(PSGEN)gswin.rsp $(DWOBJ) $(LINKLIBPATH) @$(LIBCTR) $(GS_OBJ).res $(GLOBJ)gp_wutf8.$(OBJ) 1821 del $(PSGEN)gswin.rsp 1822!endif 1823 1824# The console mode small EXE loader 1825$(GSCONSOLE_XE): $(OBJC) $(GS_OBJ).res $(PSSRCDIR)\dw64c.def $(PSSRCDIR)\dw32c.def $(GLOBJ)gp_wutf8.$(OBJ) $(TOP_MAKEFILES) 1826 echo /SUBSYSTEM:CONSOLE$(SUBSUBSYS) > $(PSGEN)gswin.rsp 1827!if "$(PROFILE)"=="1" 1828 echo /Profile >> $(PSGEN)gswin.rsp 1829!endif 1830!ifdef WIN64 1831 echo /DEF:$(PSSRCDIR)\dw64c.def /OUT:$(GSCONSOLE_XE) >> $(PSGEN)gswin.rsp 1832!else 1833 echo /DEF:$(PSSRCDIR)\dw32c.def /OUT:$(GSCONSOLE_XE) >> $(PSGEN)gswin.rsp 1834!endif 1835 $(LINK) $(LCT) @$(PSGEN)gswin.rsp $(OBJC) $(LINKLIBPATH) @$(LIBCTR) $(GS_OBJ).res $(GLOBJ)gp_wutf8.$(OBJ) 1836 1837# The big DLL 1838$(GSDLL_DLL): $(ECHOGS_XE) $(gs_tr) $(GS_ALL) $(DEVS_ALL) $(GSDLL_OBJS) $(GSDLL_OBJ).res $(PSGEN)lib.rsp \ 1839 $(PSOBJ)gsromfs$(COMPILE_INITS).$(OBJ) $(TOP_MAKEFILES) 1840 echo Linking $(GSDLL) $(GSDLL_DLL) $(METRO) 1841 echo /DLL /DEF:$(PSSRCDIR)\$(GSDLL).def /OUT:$(GSDLL_DLL) > $(PSGEN)gswin.rsp 1842!if "$(PROFILE)"=="1" 1843 echo /Profile >> $(PSGEN)gswin.rsp 1844!endif 1845 $(LINK) $(LCT) @$(PSGEN)gswin.rsp $(GSDLL_OBJS) @$(gsld_tr) $(PSOBJ)gsromfs$(COMPILE_INITS).$(OBJ) @$(PSGEN)lib.rsp $(LINKLIBPATH) @$(LIBCTR) $(GSDLL_OBJ).res 1846 del $(PSGEN)gswin.rsp 1847 1848$(GPCL6DLL_DLL): $(ECHOGS_XE) $(GSDLL_OBJ).res $(LIBCTR) $(LIB_ALL) $(PCL_DEVS_ALL) $(PCLGEN)pcllib.rsp \ 1849 $(PCLOBJ)pclromfs$(COMPILE_INITS).$(OBJ) $(ld_tr) $(pcl_tr) $(MAIN_OBJ) $(TOP_OBJ) \ 1850 $(XOBJS) $(INT_ARCHIVE_SOME) $(TOP_MAKEFILES) 1851 echo Linking $(GPCL6DLL) $(GPCL6DLL_DLL) $(METRO) 1852 copy $(pclld_tr) $(PCLGEN)gpclwin.tr 1853 echo $(MAIN_OBJ) $(TOP_OBJ) $(INT_ARCHIVE_SOME) $(XOBJS) >> $(PCLGEN)gpclwin.tr 1854 echo $(PCLOBJ)pclromfs$(COMPILE_INITS).$(OBJ) >> $(PCLGEN)gpclwin.tr 1855 echo /DLL /DEF:$(PLSRCDIR)\$(GPCL6DLL).def /OUT:$(GPCL6DLL_DLL) > $(PCLGEN)gpclwin.rsp 1856!if "$(PROFILE)"=="1" 1857 echo /Profile >> $(PSGEN)gpclwin.rsp 1858!endif 1859 $(LINK) $(LCT) @$(PCLGEN)gpclwin.rsp $(GPCL6DLL_OBJS) @$(PCLGEN)gpclwin.tr @$(PSGEN)pcllib.rsp $(LINKLIBPATH) @$(LIBCTR) $(GSDLL_OBJ).res 1860 del $(PCLGEN)gpclwin.rsp 1861 1862$(GPCL_XE): $(GPCL6DLL_DLL) $(DWMAINOBJS) $(GS_OBJ).res $(TOP_MAKEFILES) 1863 echo /SUBSYSTEM:CONSOLE$(SUBSUBSYS) > $(PCLGEN)gpclwin.rsp 1864!if "$(PROFILE)"=="1" 1865 echo /Profile >> $(PCLGEN)gpclwin.rsp 1866!endif 1867!ifdef WIN64 1868 echo /OUT:$(GPCL_XE) >> $(PCLGEN)gpclwin.rsp 1869!else 1870 echo /OUT:$(GPCL_XE) >> $(PCLGEN)gpclwin.rsp 1871!endif 1872 $(LINK) $(LCT) @$(PCLGEN)gpclwin.rsp $(DWMAINOBJS) $(BINDIR)\$(GPCL6DLL).lib $(LINKLIBPATH) @$(LIBCTR) $(GS_OBJ).res 1873 del $(PXLGEN)gpclwin.rsp 1874 1875 1876$(GXPSDLL_DLL): $(ECHOGS_XE) $(GSDLL_OBJ).res $(LIBCTR) $(LIB_ALL) $(XPS_DEVS_ALL) $(XPSGEN)xpslib.rsp \ 1877 $(XPSOBJ)xpsromfs$(COMPILE_INITS).$(OBJ) $(ld_tr) $(xps_tr) $(MAIN_OBJ) $(XPS_TOP_OBJS) \ 1878 $(XOBJS) $(INT_ARCHIVE_SOME) $(TOP_MAKEFILES) 1879 echo Linking $(GXPSDLL) $(GXPSDLL_DLL) $(METRO) 1880 copy $(xpsld_tr) $(XPSGEN)gxpswin.tr 1881 echo $(MAIN_OBJ) $(XPS_TOP_OBJS) $(INT_ARCHIVE_SOME) $(XOBJS) >> $(XPSGEN)gxpswin.tr 1882 echo $(PCLOBJ)xpsromfs$(COMPILE_INITS).$(OBJ) >> $(XPSGEN)gxpswin.tr 1883 echo /DLL /DEF:$(PLSRCDIR)\$(GXPSDLL).def /OUT:$(GXPSDLL_DLL) > $(XPSGEN)gxpswin.rsp 1884!if "$(PROFILE)"=="1" 1885 echo /Profile >> $(XPSGEN)gxpswin.rsp 1886!endif 1887 $(LINK) $(LCT) @$(XPSGEN)gxpswin.rsp $(GXPSDLL_OBJS) @$(XPSGEN)gxpswin.tr @$(XPSGEN)xpslib.rsp $(LINKLIBPATH) @$(LIBCTR) $(GSDLL_OBJ).res 1888 del $(PCLGEN)gxpswin.rsp 1889 1890$(GXPS_XE): $(GXPSDLL_DLL) $(DWMAINOBJS) $(GS_OBJ).res $(TOP_MAKEFILES) 1891 echo /SUBSYSTEM:CONSOLE$(SUBSUBSYS) > $(XPSGEN)gxpswin.rsp 1892!if "$(PROFILE)"=="1" 1893 echo /Profile >> $(XPSGEN)gxpswin.rsp 1894!endif 1895!ifdef WIN64 1896 echo /OUT:$(GXPS_XE) >> $(XPSGEN)gxpswin.rsp 1897!else 1898 echo /OUT:$(GXPS_XE) >> $(XPSGEN)gxpswin.rsp 1899!endif 1900 $(LINK) $(LCT) @$(XPSGEN)gxpswin.rsp $(DWMAINOBJS) $(BINDIR)\$(GXPSDLL).lib $(LINKLIBPATH) @$(LIBCTR) $(GS_OBJ).res 1901 del $(XPSGEN)gxpswin.rsp 1902 1903 1904 1905$(GPDLDLL_DLL): $(ECHOGS_XE) $(GSDLL_OBJ).res $(LIBCTR) $(LIB_ALL) $(PCL_DEVS_ALL) $(XPS_DEVS_ALL) $(GS_ALL) \ 1906 $(GPDLGEN)gpdllib.rsp \ 1907 $(GPDLOBJ)pdlromfs$(COMPILE_INITS).$(OBJ) \ 1908 $(GPDLOBJ)pdlromfs$(COMPILE_INITS)c0.$(OBJ) \ 1909 $(GPDLOBJ)pdlromfs$(COMPILE_INITS)c1.$(OBJ) \ 1910 $(GPDLOBJ)pdlromfs$(COMPILE_INITS)c2.$(OBJ) \ 1911 $(GPDLOBJ)pdlromfs$(COMPILE_INITS)c3.$(OBJ) \ 1912 $(ld_tr) $(gpdl_tr) $(MAIN_OBJ) $(XPS_TOP_OBJS) \ 1913 $(GPDL_PSI_TOP_OBJS) $(PCL_PXL_TOP_OBJS) $(PSI_TOP_OBJ) $(XPS_TOP_OBJ) \ 1914 $(REALMAIN_OBJ) $(MAIN_OBJ) $(XOBJS) $(INT_ARCHIVE_SOME) $(TOP_MAKEFILES) 1915 echo Linking $(GPDLDLL) $(GPDLDLL_DLL) $(METRO) 1916 copy $(gpdlld_tr) $(GPDLGEN)gpdlwin.tr 1917 echo $(MAIN_OBJ) $(GPDL_PSI_TOP_OBJS) $(PCL_PXL_TOP_OBJS) $(PSI_TOP_OBJ) $(XPS_TOP_OBJ) $(XOBJS) >> $(GPDLGEN)gpdlwin.tr 1918 echo $(PCLOBJ)pdlromfs$(COMPILE_INITS).$(OBJ) >> $(GPDLGEN)gpdlwin.tr 1919 echo $(PCLOBJ)pdlromfs$(COMPILE_INITS)c0.$(OBJ) >> $(GPDLGEN)gpdlwin.tr 1920 echo $(PCLOBJ)pdlromfs$(COMPILE_INITS)c1.$(OBJ) >> $(GPDLGEN)gpdlwin.tr 1921 echo $(PCLOBJ)pdlromfs$(COMPILE_INITS)c2.$(OBJ) >> $(GPDLGEN)gpdlwin.tr 1922 echo $(PCLOBJ)pdlromfs$(COMPILE_INITS)c3.$(OBJ) >> $(GPDLGEN)gpdlwin.tr 1923 echo /DLL /DEF:$(PLSRCDIR)\$(GPDLDLL).def /OUT:$(GPDLDLL_DLL) > $(GPDLGEN)gpdlwin.rsp 1924!if "$(PROFILE)"=="1" 1925 echo /Profile >> $(GPDLGEN)gpdlwin.rsp 1926!endif 1927 $(LINK) $(LCT) @$(GPDLGEN)gpdlwin.rsp $(GPDLDLL_OBJS) @$(GPDLGEN)gpdlwin.tr @$(GPDLGEN)gpdllib.rsp $(LINKLIBPATH) @$(LIBCTR) $(GSDLL_OBJ).res 1928 del $(GPDLGEN)gpdlwin.rsp 1929 1930$(GPDL_XE): $(GPDLDLL_DLL) $(DWMAINOBJS) $(GS_OBJ).res $(TOP_MAKEFILES) 1931 echo /SUBSYSTEM:CONSOLE$(SUBSUBSYS) > $(GPDLGEN)gpdlwin.rsp 1932!if "$(PROFILE)"=="1" 1933 echo /Profile >> $(XPSGEN)gpdlwin.rsp 1934!endif 1935!ifdef WIN64 1936 echo /OUT:$(GPDL_XE) >> $(GPDLGEN)gpdlwin.rsp 1937!else 1938 echo /OUT:$(GPDL_XE) >> $(GPDLGEN)gpdlwin.rsp 1939!endif 1940 $(LINK) $(LCT) @$(GPDLGEN)gpdlwin.rsp $(DWMAINOBJS) $(BINDIR)\$(GPDLDLL).lib $(LINKLIBPATH) @$(LIBCTR) $(GS_OBJ).res 1941 del $(GPDLGEN)gpdlwin.rsp 1942 1943 1944!else 1945# The big graphical EXE 1946$(GS_XE): $(GSCONSOLE_XE) $(GS_ALL) $(DEVS_ALL) $(GSDLL_OBJS) $(DWOBJNO) $(GSDLL_OBJ).res $(PSSRCDIR)\dwmain32.def\ 1947 $(ld_tr) $(gs_tr) $(PSSRCDIR)\dwmain64.def $(PSGEN)lib.rsp $(PSOBJ)gsromfs$(COMPILE_INITS).$(OBJ) \ 1948 $(TOP_MAKEFILES) 1949 copy $(gsld_tr) $(PSGEN)gswin.tr 1950 echo $(PSOBJ)gsromfs$(COMPILE_INITS).$(OBJ) >> $(PSGEN)gswin.tr 1951 echo $(PSOBJ)dwnodll.obj >> $(PSGEN)gswin.tr 1952 echo $(GLOBJ)dwimg.obj >> $(PSGEN)gswin.tr 1953 echo $(PSOBJ)dwmain.obj >> $(PSGEN)gswin.tr 1954 echo $(GLOBJ)dwtext.obj >> $(PSGEN)gswin.tr 1955 echo $(GLOBJ)dwreg.obj >> $(PSGEN)gswin.tr 1956!ifdef WIN64 1957 echo /DEF:$(PSSRCDIR)\dwmain64.def /OUT:$(GS_XE) > $(PSGEN)gswin.rsp 1958!else 1959 echo /DEF:$(PSSRCDIR)\dwmain32.def /OUT:$(GS_XE) > $(PSGEN)gswin.rsp 1960!endif 1961!if "$(PROFILE)"=="1" 1962 echo /Profile >> $(PSGEN)gswin.rsp 1963!endif 1964 $(LINK) $(LCT) @$(PSGEN)gswin.rsp $(GLOBJ)gsdll @$(PSGEN)gswin.tr $(LINKLIBPATH) @$(LIBCTR) @$(PSGEN)lib.rsp $(GSDLL_OBJ).res $(DWTRACE) 1965 del $(PSGEN)gswin.tr 1966 del $(PSGEN)gswin.rsp 1967 1968# The big console mode EXE 1969$(GSCONSOLE_XE): $(ECHOGS_XE) $(gs_tr) $(GS_ALL) $(DEVS_ALL) $(GSDLL_OBJS) $(OBJCNO) $(GS_OBJ).res $(PSSRCDIR)\dw64c.def $(PSSRCDIR)\dw32c.def \ 1970 $(PSGEN)lib.rsp $(PSOBJ)gsromfs$(COMPILE_INITS).$(OBJ) $(TOP_MAKEFILES) 1971 copy $(gsld_tr) $(PSGEN)gswin.tr 1972 echo $(PSOBJ)gsromfs$(COMPILE_INITS).$(OBJ) >> $(PSGEN)gswin.tr 1973 echo $(PSOBJ)dwnodllc.obj >> $(PSGEN)gswin.tr 1974 echo $(GLOBJ)dwimg.obj >> $(PSGEN)gswin.tr 1975 echo $(PSOBJ)dwmainc.obj >> $(PSGEN)gswin.tr 1976 echo $(PSOBJ)dwreg.obj >> $(PSGEN)gswin.tr 1977 echo /SUBSYSTEM:CONSOLE$(SUBSUBSYS) > $(PSGEN)gswin.rsp 1978!ifdef WIN64 1979 echo /DEF:$(PSSRCDIR)\dw64c.def /OUT:$(GSCONSOLE_XE) >> $(PSGEN)gswin.rsp 1980!else 1981 echo /DEF:$(PSSRCDIR)\dw32c.def /OUT:$(GSCONSOLE_XE) >> $(PSGEN)gswin.rsp 1982!endif 1983 $(LINK) $(LCT) @$(PSGEN)gswin.rsp $(GLOBJ)gsdll @$(PSGEN)gswin.tr $(LINKLIBPATH) @$(LIBCTR) @$(PSGEN)lib.rsp $(GS_OBJ).res $(DWTRACE) 1984 del $(PSGEN)gswin.rsp 1985 del $(PSGEN)gswin.tr 1986 1987 1988$(GPCL_XE): $(ECHOGS_XE) $(LIBCTR) $(LIB_ALL) $(WINMAINOBJS) $(PCL_DEVS_ALL) $(PCLGEN)pcllib.rsp \ 1989 $(PCLOBJ)pclromfs$(COMPILE_INITS).$(OBJ) \ 1990 $(ld_tr) $(pcl_tr) $(MAIN_OBJ) $(TOP_OBJ) $(XOBJS) $(INT_ARCHIVE_SOME) \ 1991 $(TOP_MAKEFILES) 1992 copy $(pclld_tr) $(PCLGEN)gpclwin.tr 1993 echo $(WINMAINOBJS) $(MAIN_OBJ) $(TOP_OBJ) $(INT_ARCHIVE_SOME) $(XOBJS) >> $(PCLGEN)gpclwin.tr 1994 echo $(PCLOBJ)pclromfs$(COMPILE_INITS).$(OBJ) >> $(PCLGEN)gpclwin.tr 1995 echo /SUBSYSTEM:CONSOLE$(SUBSUBSYS) > $(PCLGEN)pclwin.rsp 1996 echo /OUT:$(GPCL_XE) >> $(PCLGEN)pclwin.rsp 1997 $(LINK) $(LCT) @$(PCLGEN)pclwin.rsp @$(PCLGEN)gpclwin.tr $(LINKLIBPATH) @$(LIBCTR) @$(PCLGEN)pcllib.rsp 1998 del $(PCLGEN)pclwin.rsp 1999 del $(PCLGEN)gpclwin.tr 2000 2001$(GXPS_XE): $(ECHOGS_XE) $(LIBCTR) $(LIB_ALL) $(WINMAINOBJS) $(XPS_DEVS_ALL) $(XPSGEN)xpslib.rsp \ 2002 $(XPS_TOP_OBJS) $(XPSOBJ)xpsromfs$(COMPILE_INITS).$(OBJ) \ 2003 $(ld_tr) $(xps_tr) $(MAIN_OBJ) $(XOBJS) $(INT_ARCHIVE_SOME) \ 2004 $(TOP_MAKEFILES) 2005 copy $(xpsld_tr) $(XPSGEN)gxpswin.tr 2006 echo $(WINMAINOBJS) $(MAIN_OBJ) $(XPS_TOP_OBJS) $(INT_ARCHIVE_SOME) $(XOBJS) >> $(XPSGEN)gxpswin.tr 2007 echo $(PCLOBJ)xpsromfs$(COMPILE_INITS).$(OBJ) >> $(XPSGEN)gxpswin.tr 2008 echo /SUBSYSTEM:CONSOLE$(SUBSUBSYS) > $(XPSGEN)xpswin.rsp 2009 echo /OUT:$(GXPS_XE) >> $(XPSGEN)xpswin.rsp 2010 $(LINK) $(LCT) @$(XPSGEN)xpswin.rsp @$(XPSGEN)gxpswin.tr $(LINKLIBPATH) @$(LIBCTR) @$(XPSGEN)xpslib.rsp 2011 del $(XPSGEN)xpswin.rsp 2012 del $(XPSGEN)gxpswin.tr 2013 2014$(GPDL_XE): $(ECHOGS_XE) $(ld_tr) $(gpdl_tr) $(LIBCTR) $(LIB_ALL) $(WINMAINOBJS) $(XPS_DEVS_ALL) $(PCL_DEVS_ALL) $(GS_ALL) \ 2015 $(GPDLGEN)gpdllib.rsp $(GPDLOBJ)pdlromfs$(COMPILE_INITS).$(OBJ) \ 2016 $(GPDL_PSI_TOP_OBJS) $(PCL_PXL_TOP_OBJS) $(PSI_TOP_OBJ) $(XPS_TOP_OBJ) \ 2017 $(MAIN_OBJ) $(XOBJS) $(INT_ARCHIVE_SOME) \ 2018 $(TOP_MAKEFILES) 2019 copy $(gpdlld_tr) $(GPDLGEN)gpdlwin.tr 2020 echo $(WINMAINOBJS) $(MAIN_OBJ) $(GPDL_PSI_TOP_OBJS) $(PCL_PXL_TOP_OBJS) $(PSI_TOP_OBJ) $(XPS_TOP_OBJ) $(XOBJS) >> $(GPDLGEN)gpdlwin.tr 2021 echo $(PCLOBJ)pdlromfs$(COMPILE_INITS).$(OBJ) >> $(GPDLGEN)gpdlwin.tr 2022 echo /SUBSYSTEM:CONSOLE$(SUBSUBSYS) > $(GPDLGEN)gpdlwin.rsp 2023 echo /OUT:$(GPDL_XE) >> $(GPDLGEN)gpdlwin.rsp 2024 $(LINK) $(LCT) @$(GPDLGEN)gpdlwin.rsp @$(GPDLGEN)gpdlwin.tr $(LINKLIBPATH) @$(LIBCTR) @$(GPDLGEN)gpdllib.rsp 2025 del $(GPDLGEN)gpdlwin.rsp 2026 del $(GPDLGEN)gpdlwin.tr 2027!endif 2028 2029# ---------------------- Debug targets ---------------------- # 2030# Simply set some definitions and call ourselves back # 2031 2032!ifdef WIN64 2033WINDEFS=WIN64= BUILD_SYSTEM="$(BUILD_SYSTEM)" PGMFILES="$(PGMFILES)" PGMFILESx86="$(PGMFILESx86)" 2034!else 2035WINDEFS=BUILD_SYSTEM="$(BUILD_SYSTEM)" PGMFILES="$(PGMFILES)" PGMFILESx86="$(PGMFILESx86)" 2036!endif 2037 2038RECURSIVEDEFS=$(WINDEFS) 2039!ifdef XP 2040RECURSIVEDEFS=XP=$(XP) $(RECURSIVEDEFS) 2041!endif 2042!ifdef DEVSTUDIO 2043RECURSIVEDEFS=DEVSTUDIO="$(DEVSTUDIO)" $(RECURSIVEDEFS) 2044!endif 2045 2046DEBUGDEFS=DEBUG=1 TDEBUG=1 $(RECURSIVEDEFS) 2047 2048debug: 2049 nmake -f $(MAKEFILE) $(DEBUGDEFS) FT_BRIDGE=$(FT_BRIDGE) 2050 2051gsdebug: 2052 nmake -f $(MAKEFILE) $(DEBUGDEFS) FT_BRIDGE=$(FT_BRIDGE) gs 2053 2054gpcl6debug: 2055 nmake -f $(MAKEFILE) $(DEBUGDEFS) FT_BRIDGE=$(FT_BRIDGE) gpcl6 2056 2057gxpsdebug: 2058 nmake -f $(MAKEFILE) $(DEBUGDEFS) FT_BRIDGE=$(FT_BRIDGE) gxps 2059 2060gpdldebug: 2061 nmake -f $(MAKEFILE) $(DEBUGDEFS) FT_BRIDGE=$(FT_BRIDGE) gpdl 2062 2063debugclean: 2064 nmake -f $(MAKEFILE) $(DEBUGDEFS) FT_BRIDGE=$(FT_BRIDGE) clean 2065 2066debugbsc: 2067 nmake -f $(MAKEFILE) $(DEBUGDEFS) FT_BRIDGE=$(FT_BRIDGE) bsc 2068 2069# --------------------- Memento targets --------------------- # 2070# Simply set some definitions and call ourselves back # 2071 2072MEMENTODEFS=$(DEBUGDEFS) MEMENTO=1 2073 2074memento-target: 2075 nmake -f $(MAKEFILE) $(MEMENTODEFS) FT_BRIDGE=$(FT_BRIDGE) 2076 2077gsmemento: 2078 nmake -f $(MAKEFILE) $(MEMENTODEFS) FT_BRIDGE=$(FT_BRIDGE) gs 2079 2080gpcl6memento: 2081 nmake -f $(MAKEFILE) $(MEMENTODEFS) FT_BRIDGE=$(FT_BRIDGE) gpcl6 2082 2083gxpsmemento: 2084 nmake -f $(MAKEFILE) $(MEMENTODEFS) FT_BRIDGE=$(FT_BRIDGE) gxps 2085 2086gpdlmemento: 2087 nmake -f $(MAKEFILE) $(MEMENTODEFS) FT_BRIDGE=$(FT_BRIDGE) gpdl 2088 2089mementoclean: 2090 nmake -f $(MAKEFILE) $(MEMENTODEFS) FT_BRIDGE=$(FT_BRIDGE) clean 2091 2092mementobsc: 2093 nmake -f $(MAKEFILE) $(MEMENTODEFS) FT_BRIDGE=$(FT_BRIDGE) bsc 2094 2095# --------------------- Profile targets --------------------- # 2096# Simply set some definitions and call ourselves back # 2097 2098PROFILEDEFS=$(RECURSIVEDEFS) PROFILE=1 2099 2100profile: 2101profile-target: 2102 nmake -f $(MAKEFILE) $(PROFILEDEFS) FT_BRIDGE=$(FT_BRIDGE) 2103 2104gsprofile: 2105 nmake -f $(MAKEFILE) $(PROFILEDEFS) FT_BRIDGE=$(FT_BRIDGE) gs 2106 2107gpcl6profile: 2108 nmake -f $(MAKEFILE) $(PROFILEDEFS) FT_BRIDGE=$(FT_BRIDGE) gpcl6 2109 2110gxpsprofile: 2111 nmake -f $(MAKEFILE) $(PROFILEDEFS) FT_BRIDGE=$(FT_BRIDGE) gxps 2112 2113gpdlprofile: 2114 nmake -f $(MAKEFILE) $(PROFILEDEFS) FT_BRIDGE=$(FT_BRIDGE) gpdl 2115 2116profileclean: 2117 nmake -f $(MAKEFILE) $(PROFILEDEFS) FT_BRIDGE=$(FT_BRIDGE) clean 2118 2119profilebsc: 2120 nmake -f $(MAKEFILE) $(PROFILEDEFS) FT_BRIDGE=$(FT_BRIDGE) bsc 2121 2122 2123 2124# ---------------------- UFST targets ---------------------- # 2125# Simply set some definitions and call ourselves back # 2126 2127!ifndef UFST_ROOT 2128UFST_ROOT=.\ufst 2129!endif 2130 2131UFST_ROMFS_ARGS=-b \ 2132 -P $(UFST_ROOT)/fontdata/mtfonts/pcl45/mt3/ -d fontdata/mtfonts/pcl45/mt3/ pcl___xj.fco plug__xi.fco wd____xh.fco \ 2133 -P $(UFST_ROOT)/fontdata/mtfonts/pclps2/mt3/ -d fontdata/mtfonts/pclps2/mt3/ pclp2_xj.fco \ 2134 -c -P $(PSSRCDIR)/../lib/ -d Resource/Init/ FAPIconfig-FCO 2135 2136UFSTROMFONTDIR=\\\"%%%%%rom%%%%%fontdata/\\\" 2137UFSTDISCFONTDIR="$(UFST_ROOT)/fontdata" 2138 2139UFSTBASEDEFS=UFST_BRIDGE=1 FT_BRIDGE=1 UFST_ROOT="$(UFST_ROOT)" UFST_ROMFS_ARGS="$(UFST_ROMFS_ARGS)" UFSTFONTDIR="$(UFSTFONTDIR)" UFSTROMFONTDIR="$(UFSTROMFONTDIR)" 2140 2141!ifdef WIN64 2142UFSTDEBUGDEFS=BINDIR=.\ufstdebugbin GLGENDIR=.\ufstdebugobj64 GLOBJDIR=.\ufstdebugobj64 DEBUG=1 TDEBUG=1 2143 2144UFSTDEFS=BINDIR=.\ufstbin GLGENDIR=.\ufstobj64 GLOBJDIR=.\ufstobj64 2145!else 2146UFSTDEBUGDEFS=BINDIR=.\ufstdebugbin GLGENDIR=.\ufstdebugobj DEBUG=1 TDEBUG=1 2147 2148UFSTDEFS=BINDIR=.\ufstbin GLGENDIR=.\ufstobj GLOBJDIR=.\ufstobj 2149!endif 2150 2151ufst-lib: 2152# Could make this call a makefile in the ufst code? 2153# cd $(UFST_ROOT)\rts\lib 2154# nmake -f makefile.artifex fco_lib.a if_lib.a psi_lib.a tt_lib.a 2155 2156ufst-debug: ufst-lib 2157 nmake -f $(MAKEFILE) $(RECURSIVEDEFS) $(UFSTBASEDEFS) $(UFSTDEBUGDEFS) UFST_CFLAGS="$(UFST_CFLAGS)" 2158 2159ufst-debugclean: ufst-lib 2160 nmake -f $(MAKEFILE) $(RECURSIVEDEFS) $(UFSTBASEDEFS) $(UFSTDEBUGDEFS) UFST_CFLAGS="$(UFST_CFLAGS)" clean 2161 2162ufst-debugbsc: ufst-lib 2163 nmake -f $(MAKEFILE) $(RECURSIVEDEFS) $(UFSTBASEDEFS) $(UFSTDEBUGDEFS) UFST_CFLAGS="$(UFST_CFLAGS)" bsc 2164 2165ufst: ufst-lib 2166 nmake -f $(MAKEFILE) $(RECURSIVEDEFS) $(UFSTBASEDEFS) $(UFSTDEFS) UFST_CFLAGS="$(UFST_CFLAGS)" 2167 2168ufst-clean: ufst-lib 2169 nmake -f $(MAKEFILE) $(RECURSIVEDEFS) $(UFSTBASEDEFS) $(UFSTDEFS) UFST_CFLAGS="$(UFST_CFLAGS)" clean 2170 2171ufst-bsc: ufst-lib 2172 nmake -f $(MAKEFILE) $(RECURSIVEDEFS) $(UFSTBASEDEFS) $(UFSTDEFS) UFST_CFLAGS="$(UFST_CFLAGS)" bsc 2173 2174#----------------------- Individual Product Targets --------------------# 2175gs:$(GS_XE) $(GSCONSOLE_XE) 2176 $(NO_OP) 2177 2178gpcl6:$(GPCL_XE) 2179 $(NO_OP) 2180 2181gxps:$(GXPS_XE) 2182 $(NO_OP) 2183 2184gpdl:$(GPDL_XE) 2185 $(NO_OP) 2186 2187 2188# ---------------------- Browse information step ---------------------- # 2189 2190bsc: 2191 bscmake /o $(SBRDIR)\ghostscript.bsc /v $(GLOBJDIR)\*.sbr 2192 2193# end of makefile 2194