1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274
|
# Copyright (C) 2001-2023 Artifex Software, Inc.
# All Rights Reserved.
#
# This software is provided AS-IS with no warranty, either express or
# implied.
#
# This software is distributed under license and may not be copied,
# modified or distributed except as expressly authorized under the terms
# of the license contained in the file LICENSE in this distribution.
#
# Refer to licensing information at http://www.artifex.com or contact
# Artifex Software, Inc., 39 Mesa Street, Suite 108A, San Francisco,
# CA 94129, USA, for further information.
#
# The !ifndef-laden style of this makefile is designed to facilitate "deriving"
# your own make file from it by setting your own custom options, then !including
# this file. In its current form, this file will compile using default options
# and locations.
#
# This file only defines the portions of the MSVC makefile that are different
# between the present language switcher vs. the standard pcl6 makefile which
# is !included near the bottom. All other settings default to the base makefile.
# Define the name of this makefile.
MAKEFILE=$(MAKEFILE) ..\language_switch\pspcl6_msvc.mak
# PLPLATFORM indicates should be set to 'ps' for language switch
# builds and null otherwise.
!ifndef PLPLATFORM
PLPLATFORM=ps
!endif
# If we are building MEMENTO=1, then adjust default debug flags
!if "$(MEMENTO)"=="1"
!ifndef DEBUG
DEBUG=1
!endif
!ifndef TDEBUG
TDEBUG=1
!endif
!ifndef DEBUGSYM
DEBUGSYM=1
!endif
!endif
# If we are building PROFILE=1, then adjust default debug flags
!if "$(PROFILE)"=="1"
!ifndef DEBUG
DEBUG=0
!endif
!ifndef TDEBUG
TDEBUG=0
!endif
!ifndef DEBUGSYM
DEBUGSYM=1
!endif
!endif
# The build process will put all of its output in this directory:
!ifndef GENDIR
!if "$(MEMENTO)"=="1"
GENDIR=.\memobj
!else
!if "$(PROFILE)"=="1"
GENDIR=.\profobj
!else
!if "$(DEBUG)"=="1"
GENDIR=.\debugobj
!else
GENDIR=.\obj
!endif
!endif
!endif
!ifdef WIN64
GENDIR=$(GENDIR)64
!endif
!endif
# The sources are taken from these directories:
!ifndef APPSRCDIR
APPSRCDIR=.
!endif
!ifndef GLSRCDIR
GLSRCDIR=..\gs\base
!endif
!ifndef PSSRCDIR
PSSRCDIR=..\gs\psi
!endif
!ifndef PSISRCDIR
PSISRCDIR=..\psi
!endif
!ifndef MAINSRCDIR
MAINSRCDIR=..\main
!endif
!ifndef PSLIBDIR
PSLIBDIR=..\gs\lib
!endif
!ifndef FTSRCDIR
FTSRCDIR=..\gs\freetype
!endif
# Path for including gs/Resource into romfs (replaces the gs default) :
!ifndef PSRESDIR
PSRESDIR=..\gs\Resource
!endif
# If you want to build the individual packages in their own directories,
# you can define this here, although normally you won't need to do this:
!ifndef GLGENDIR
GLGENDIR=$(GENDIR)
!endif
!ifndef PCLOBJDIR
PCLOBJDIR=$(GENDIR)
!endif
!ifndef PXLOBJDIR
PXLOBJDIR=$(GENDIR)
!endif
!ifndef PSGENDIR
PSGENDIR=$(GENDIR)
!endif
!ifndef PSOBJDIR
PSOBJDIR=$(GENDIR)
!endif
!ifndef GLGENDIR
GLGENDIR=$(GENDIR)
!endif
!ifndef GLOBJDIR
GLOBJDIR=$(GENDIR)
!endif
!ifndef PSIGENDIR
PSIGENDIR=$(GENDIR)
!endif
!ifndef PSIOBJDIR
PSIOBJDIR=$(GENDIR)
!endif
!ifndef DD
DD=$(GLGENDIR)
!endif
# Executable path\name w/o the .EXE extension
!if "$(UNSUPPORTED)"=="1"
!ifndef TARGET_XE
TARGET_XE=$(GENDIR)\pspcl6
!endif
!else
all:
@echo ******* NOTE: the language_switch build is a proof of concept and is, therefore, unsupported.
@echo ******* If you wish to try it, add UNSUPPORTED=1 to your nmake command line.
!endif
!ifndef PSI_TOP_OBJ
PSI_TOP_OBJ=$(PSIOBJDIR)\psitop.$(OBJ)
!endif
# Banding options
!ifndef BAND_LIST_STORAGE
BAND_LIST_STORAGE=file
!endif
!ifndef COMPILE_INITS
COMPILE_INITS=1
!endif
!ifndef FT_BRIDGE
FT_BRIDGE=1
!endif
SHARE_FT=0
!ifndef FTSRCDIR
FTSRCDIR=$(GLSRCDIR)/../freetype
!endif
!ifndef FT_CFLAGS
FT_CFLAGS=-I$(FTSRCDIR)/include
!endif
FT_LIBS=""
!ifndef APP_CCC
APP_CCC=$(CC_) -I..\pl -I..\gs\base -I.\obj $(C_)
!endif
# Default major version of MSVC to use;
# this should generally be the latest version.
!ifndef MSVC_VERSION
MSVC_VERSION=9
!endif
D=\\
DD=$(GLGENDIR)
# Define whether to compile in UFST. Note that freetype will/must be disabled.
# FAPI/UFST depends on UFST_BRIDGE being undefined - hence the construct below.
# (i.e. use "UFST_BRIDGE=1" or *not to define UFST_BRIDGE to anything*)
!ifndef UFST_BRIDGE
UFST_BRIDGE=
!endif
!ifndef UFST_ROOT
UFST_ROOT=$(GLSRCDIR)/../ufst
!endif
UFST_LIB_EXT=.a
UFST_ROMFS_ARGS=-b \
-P $(UFST_ROOT)/fontdata/mtfonts/pcl45/mt3/ -d fontdata/mtfonts/pcl45/mt3/ pcl___xj.fco plug__xi.fco wd____xh.fco \
-P $(UFST_ROOT)/fontdata/mtfonts/pclps2/mt3/ -d fontdata/mtfonts/pclps2/mt3/ pclp2_xj.fco \
-c -P $(PSSRCDIR)/../lib/ -d Resource/Init/ FAPIconfig-FCO
UFSTROMFONTDIR=\"%rom%fontdata/\"
UFSTDISCFONTDIR=\"$(UFST_ROOT)/fontdata/\"
UFST_CFLAGS=
# Assorted definitions. Some of these should probably be factored out....
# We use -O0 for debugging, because optimization confuses gdb.
# Note that the omission of -Dconst= rules out the use of gcc versions
# between 2.7.0 and 2.7.2 inclusive. (2.7.2.1 is OK.)
!ifndef XCFLAGS
XCFLAGS=/DPSI_INCLUDED
!endif
!ifndef PSICFLAGS
PSICFLAGS=/DPSI_INCLUDED
!endif
# #define xxx_BIND is in std.h
# putting compile time bindings here will have the side effect of having different options
# based on application build. PSI_INCLUDED is and example of this.
!ifndef EXPERIMENT_CFLAGS
EXPERIMENT_CFLAGS=
!endif
!ifndef BSCFILE
BSCFILE=$(GENDIR)\language_switch.bsc
!endif
# Language and configuration. These are actually platform-independent,
# but we define them here just to keep all parameters in one place.
!ifndef TARGET_DEVS
TARGET_DEVS=$(PXLOBJDIR)\pxl.dev $(PCLOBJDIR)\pcl5c.dev $(PCLOBJDIR)\hpgl2c.dev
!endif
!ifndef FEATURE_DEVS
FEATURE_CORE = \
$(DD)\psl3.dev \
$(DD)\pdf.dev \
$(DD)\htxlib.dev \
$(DD)\ttfont.dev \
$(DD)\gsnogc.dev \
$(DD)\msprinter.dev
!ifndef METRO
FEATURE_CORE = $(FEATURE_CORE) $(DD)\pipe.dev
!endif
FEATURE_DEVS = $(FEATURE_CORE)
!endif
!if "$(COMPILE_INITS)" == "1"
!include $(PSSRCDIR)\psromfs.mak
!endif
!include $(MAINSRCDIR)\pcl6_msvc.mak
# Subsystems
!include $(PSISRCDIR)\psi.mak
|