1# Copyright (C) 1997, 2000 Aladdin Enterprises. All rights reserved. 2# 3# This software is provided AS-IS with no warranty, either express or 4# implied. 5# 6# This software is distributed under license and may not be copied, 7# modified or distributed except as expressly authorized under the terms 8# of the license contained in the file LICENSE in this distribution. 9# 10# For more information about licensing, please refer to 11# http://www.ghostscript.com/licensing/. For information on 12# commercial licensing, go to http://www.artifex.com/licensing/ or 13# contact Artifex Software, Inc., 101 Lucas Valley Road #110, 14# San Rafael, CA 94903, U.S.A., +1(415)492-9861. 15 16# $Id: openvms.mmk,v 1.31 2004/12/10 23:48:48 giles Exp $ 17# makefile for OpenVMS VAX and Alpha using MMK 18# 19# Please contact Jim Dunham (dunham@omtool.com) if you have questions. 20# Addapted for MMK by Jouk Jansen (joukj@hrem.stm.tudelft.nl) 21# Support for VAX C on OpenVMS was removed in release 6.01 by Aladdin: 22# DEC C is now used on both VAX and Alpha platforms. 23# 24# ------------------------------- Options ------------------------------- # 25 26###### This section is the only part of the file you should need to edit. 27 28# on the make command line specify: 29# mmk/descrip=[.src]openvms.mmk/macro=("DECWINDOWS1_2={0,1}") 30 31# Define the directory for the final executable, and the 32# source, generated intermediate file, and object directories 33# for the graphics library (GL) and the PostScript/PDF interpreter (PS). 34 35BINDIR=[.bin] 36GLSRCDIR=[.src] 37GLGENDIR=[.obj] 38GLOBJDIR=[.obj] 39PSSRCDIR=[.src] 40PSGENDIR=[.obj] 41PSOBJDIR=[.obj] 42PSLIBDIR=[.lib] 43# Because of OpenVMS syntactic problems, the following redundant definitions 44# are necessary. If you are using more than one GENDIR and/or OBJDIR, 45# you will have to edit the code below that creates these directories. 46BIN_DIR=BIN.DIR 47OBJ_DIR=OBJ.DIR 48 49# create directories 50.first 51 if f$search("$(BIN_DIR)") .eqs. "" then create/directory/log $(BINDIR) 52 if f$search("$(OBJ_DIR)") .eqs. "" then create/directory/log $(GLOBJDIR) 53 54# Do not edit the next group of lines. 55 56#.include $(COMMONDIR)vmscdefs.mak 57#.include $(COMMONDIR)vmsdefs.mak 58#.include $(COMMONDIR)generic.mak 59.include $(GLSRCDIR)version.mak 60DD=$(GLGENDIR) 61GLD=$(GLGENDIR) 62PSD=$(PSGENDIR) 63 64# ------ Generic options ------ # 65 66# Define the directory that will hold documentation at runtime. 67 68GS_DOCDIR=GS_DOC 69#GS_DOCDIR=SYS$COMMON:[GS] 70 71# Define the default directory/ies for the runtime 72# initialization and font files. Separate multiple directories with ,. 73 74GS_LIB_DEFAULT=GS_LIB 75#GS_LIB_DEFAULT=SYS$COMMON:[GS],SYS$COMMON:[GS.FONT] 76 77# Define whether or not searching for initialization files should always 78# look in the current directory first. This leads to well-known security 79# and confusion problems, but users insist on it. 80# NOTE: this also affects searching for files named on the command line: 81# see the "File searching" section of Use.htm for full details. 82# Because of this, setting SEARCH_HERE_FIRST to 0 is not recommended. 83 84SEARCH_HERE_FIRST=1 85 86# Define the name of the interpreter initialization file. 87# (There is no reason to change this.) 88 89GS_INIT=GS_INIT.PS 90 91# Choose generic configuration options. 92 93# Setting DEBUG=1 includes debugging features in the code 94 95DEBUG=0 96 97# Setting TDEBUG=1 includes symbol table information for the debugger, 98# and also enables stack tracing on failure. 99 100TDEBUG= 101 102# Setting CDEBUG=1 enables 'C' compiler debugging and turns off optimization 103# Code is substantially slower and larger. 104 105CDEBUG= 106 107# Define the name of the executable file. 108 109GS=GS 110 111# Define the name of a pre-built executable that can be invoked at build 112# time. Currently, this is only needed for compiled fonts. The usual 113# alternatives are: 114# - the standard name of Ghostscript on your system (typically `gs'): 115BUILD_TIME_GS=GS 116# - the name of the executable you are building now. If you choose this 117# option, then you must build the executable first without compiled fonts, 118# and then again with compiled fonts. 119#BUILD_TIME_GS=$(BINDIR)$(GS) -I$(PSLIBDIR) 120 121# Define the directory where the IJG JPEG library sources are stored, 122# and the major version of the library that is stored there. 123# You may need to change this if the IJG library version changes. 124# See jpeg.mak for more information. 125 126.ifdef SYSLIB 127JSRCDIR=sys$library: 128.else 129JSRCDIR=[--.jpeg-6b] 130.endif 131JVERSION=6 132 133# Define the directory where the PNG library sources are stored, 134# and the version of the library that is stored there. 135# You may need to change this if the libpng version changes. 136# See libpng.mak for more information. 137 138.ifdef SYSLIB 139PSRCDIR=sys$library: 140.else 141PSRCDIR=[--.libpng-1_2_8] 142.endif 143PVERSION=10208 144 145# Define the directory where the zlib sources are stored. 146# See zlib.mak for more information. 147 148.ifdef SYSLIB 149ZSRCDIR=sys$library: 150.else 151ZSRCDIR=[--.zlib-1_2_1] 152.endif 153 154# Define the directory where the jbig2dec library sources are stored. 155# See jbig2.mak for more information 156.ifdef SYSLIB 157JBIG2SRCDIR=sys$library: 158.else 159JBIG2SRCDIR=[--.jbig2dec-0_7] 160.endif 161 162# Define the directory where the icclib source are stored. 163# See icclib.mak for more information 164 165ICCSRCDIR=[.icclib] 166 167# IJS has not been ported to OpenVMS. If you do the port, 168# you'll need to set these values. You'll also need to 169# include the ijs.mak makefile (right after icclib.mak). 170# 171# Define the directory where the ijs source is stored, 172# and the process forking method to use for the server. 173# See ijs.mak for more information. 174 175#IJSSRCDIR=[.ijs] 176#IJSEXECTYPE=unix 177 178# Note that built-in third-party libraries aren't available. 179 180SHARE_JPEG=0 181SHARE_LIBPNG=0 182SHARE_ZLIB=0 183SHARE_JBIG2=0 184 185# Define the path to X11 include files 186 187X_INCLUDE=DECW$INCLUDE 188 189# ------ Platform-specific options ------ # 190 191# Define the drive, directory, and compiler name for the 'C' compiler. 192# COMP is the full compiler path name. 193 194.ifdef DEBUG 195SW_DEBUG=/DEBUG/NOOPTIMIZE 196.else 197# This should include /OPTIMIZE, but some OpenVMS compilers have an 198# optimizer bug that causes them to generate incorrect code for gdevpsfx.c, 199# so we must disable optimization. (Eventually we will check for the bug 200# in genarch and enable optimization if it is safe.) 201#SW_DEBUG=/NODEBUG/OPTIMIZE 202SW_DEBUG=/NODEBUG/NOOPTIMIZE 203.endif 204 205SW_PLATFORM=/DECC/PREFIX=ALL/NESTED_INCLUDE=PRIMARY/name=(as_is,short)/nowarn 206 207# Define any other compilation flags. 208# Including defines for A4 paper size 209 210.ifdef A4_PAPER 211SW_PAPER=/DEFINE=("A4","HAVE_MKSTEMP") 212.else 213SW_PAPER=/DEFINE=("HAVE_MKSTEMP") 214.endif 215 216.ifdef IEEE 217SW_IEEE=/float=ieee 218.else 219SW_IEEE= 220.endif 221 222COMP=CC$(SW_DEBUG)$(SW_PLATFORM)$(SW_PAPER)$(SW_IEEE) 223 224# LINK is the full linker path name 225 226.ifdef TDEBUG 227LINKER=LINK/DEBUG/TRACEBACK 228.else 229LINKER=LINK/NODEBUG/NOTRACEBACK 230.endif 231 232# INCDIR contains the include files 233INCDIR= 234 235# LIBDIR contains the library files 236LIBDIR= 237 238# Define the .dev module that implements thread and synchronization 239# primitives for this platform. Don't change this unless you really know 240# what you're doing. 241 242SYNC=posync 243 244# ------ Devices and features ------ # 245 246# Choose the device(s) to include. See devs.mak for details, 247# devs.mak and contrib.mak for the list of available devices. 248 249DEVICE_DEVS=$(DD)x11.dev $(DD)x11alpha.dev $(DD)x11cmyk.dev $(DD)x11gray2.dev $(DD)x11gray4.dev $(DD)x11mono.dev 250DEVICE_DEVS1= 251DEVICE_DEVS2= 252DEVICE_DEVS3=$(DD)deskjet.dev $(DD)djet500.dev $(DD)laserjet.dev $(DD)ljetplus.dev $(DD)ljet2p.dev $(DD)ljet3.dev $(DD)ljet3d.dev $(DD)ljet4.dev $(DD)ljet4d.dev 253DEVICE_DEVS4=$(DD)cdeskjet.dev $(DD)cdjcolor.dev $(DD)cdjmono.dev $(DD)cdj550.dev $(DD)pj.dev $(DD)pjxl.dev $(DD)pjxl300.dev 254DEVICE_DEVS5=$(DD)uniprint.dev 255DEVICE_DEVS6=$(DD)bj10e.dev $(DD)bj200.dev $(DD)bjc600.dev $(DD)bjc800.dev 256DEVICE_DEVS7=$(DD)faxg3.dev $(DD)faxg32d.dev $(DD)faxg4.dev 257DEVICE_DEVS8=$(DD)pcxmono.dev $(DD)pcxgray.dev $(DD)pcx16.dev $(DD)pcx256.dev $(DD)pcx24b.dev $(DD)pcxcmyk.dev 258DEVICE_DEVS9=$(DD)pbm.dev $(DD)pbmraw.dev $(DD)pgm.dev $(DD)pgmraw.dev $(DD)pgnm.dev $(DD)pgnmraw.dev 259DEVICE_DEVS10=$(DD)tiffcrle.dev $(DD)tiffg3.dev $(DD)tiffg32d.dev $(DD)tiffg4.dev $(DD)tifflzw.dev $(DD)tiffpack.dev 260DEVICE_DEVS11=$(DD)tiff12nc.dev $(DD)tiff24nc.dev 261DEVICE_DEVS12=$(DD)psmono.dev $(DD)psgray.dev $(DD)psrgb.dev $(DD)bit.dev $(DD)bitrgb.dev $(DD)bitcmyk.dev 262DEVICE_DEVS13=$(DD)pngmono.dev $(DD)pnggray.dev $(DD)png16.dev $(DD)png256.dev $(DD)png16m.dev $(DD)pngalpha.dev 263DEVICE_DEVS14=$(DD)jpeg.dev $(DD)jpeggray.dev 264DEVICE_DEVS15=$(DD)pdfwrite.dev $(DD)pswrite.dev $(DD)epswrite.dev $(DD)pxlmono.dev $(DD)pxlcolor.dev 265DEVICE_DEVS16=$(DD)bbox.dev 266# Overflow from DEVS9 267DEVICE_DEVS17=$(DD)pnm.dev $(DD)pnmraw.dev $(DD)ppm.dev $(DD)ppmraw.dev $(DD)pkm.dev $(DD)pkmraw.dev $(DD)pksm.dev $(DD)pksmraw.dev 268DEVICE_DEVS18= 269DEVICE_DEVS19= 270DEVICE_DEVS20= 271DEVICE_DEVS21= 272DEVICE_DEVS21= 273 274# Choose the language feature(s) to include. See gs.mak for details. 275 276FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev $(PSD)dpsnext.dev $(PSD)ttfont.dev $(PSD)epsf.dev $(PSD)fapi.dev $(PSD)jbig2.dev 277 278# Choose whether to compile the .ps initialization files into the executable. 279# See gs.mak for details. 280 281COMPILE_INITS=0 282 283# Choose whether to store band lists on files or in memory. 284# The choices are 'file' or 'memory'. 285 286BAND_LIST_STORAGE=file 287 288# Choose which compression method to use when storing band lists in memory. 289# The choices are 'lzw' or 'zlib'. 290 291BAND_LIST_COMPRESSOR=zlib 292 293# Choose the implementation of file I/O: 'stdio', 'fd', or 'both'. 294# See gs.mak and sfxfd.c for more details. 295 296FILE_IMPLEMENTATION=stdio 297 298# Choose the implementation of stdio: '' for file I/O and 'c' for callouts 299# See gs.mak and ziodevs.c/ziodevsc.c for more details. 300 301STDIO_IMPLEMENTATION=c 302 303# Define the name table capacity size of 2^(16+n). 304 305EXTEND_NAMES=0 306 307# Define whether the system constants are writable. 308 309SYSTEM_CONSTANTS_ARE_WRITABLE=0 310 311# Define the platform name. 312 313PLATFORM=openvms_ 314 315# Define the name of the makefile -- used in dependencies. 316 317MAKEFILE=$(GLSRCDIR)openvms.mmk 318TOP_MAKEFILES=$(MAKEFILE) 319 320# Define the platform options 321 322PLATOPT= 323 324# Patch a couple of PC-specific things that aren't relevant to OpenVMS builds, 325# but that cause `make' to produce warnings. 326 327PCFBASM= 328 329# It is very unlikely that anyone would want to edit the remaining 330# symbols, but we describe them here for completeness: 331 332# Define the suffix for command files (e.g., null or .bat). 333 334CMD= 335 336# Define the directory separator character (\ for MS-DOS, / for Unix, 337# nothing for OpenVMS). 338 339D= 340 341# Define the brackets for passing preprocessor definitions to the C compiler. 342NULL= 343 344D_=/DEFINE=" 345_D_=$(NULL)= 346_D=" 347 348# Define the syntax of search paths for the C compiler. 349# The OpenVMS compilers uses /INCLUDE=(dir1, dir2, ...dirn), 350# and only a single /INCLUDE switch is allowed in the command line. 351 352I_=/INCLUDE=( 353II=, 354_I=) 355 356# Define the string for specifying the output file from the C compiler. 357 358O_=/OBJECT= 359 360# Define the quoting string for mixed-case arguments. 361# (OpenVMS is the only platform where this isn't an empty string.) 362 363Q=" 364 365# Define the extension for executable files (e.g., null or .exe). 366 367XE=.exe 368 369# Define the extension for executable files for the auxiliary programs 370# (e.g., null or .exe). 371 372XEAUX=.exe 373 374# Define the list of files that `make clean' removes. 375 376BEGINFILES=$(GLSRCDIR)OPENVMS.OPT $(GLSRCDIR)OPENVMS.COM 377 378# Define the C invocation for auxiliary programs (echogs, genarch). 379# We don't need to define this separately. 380 381CCAUX= 382 383# Define the C invocation for normal compilation. 384 385CC=$(COMP) 386 387# Define the Link invocation. 388 389LINK=$(LINKER)/EXE=$@ $+,$(GLSRCDIR)OPENVMS.OPT/OPTION 390 391# Define the auxiliary program dependency. We don't need this. 392 393AK= 394 395# Define the syntax for command, object, and executable files. 396 397OBJ=obj 398 399# Define the prefix for image invocations. 400 401EXP=MCR $(NULL) 402 403# Define the prefix for shell invocations. 404 405SH= 406 407# Define generic commands. 408 409CP_=@$(GLSRCDIR)COPY_ONE 410 411# Define the command for deleting (a) file(s) (including wild cards) 412 413RM_=@$(GLSRCDIR)RM_ONE 414 415# Define the command for deleting multiple files / patterns. 416 417RMN_=@$(GLSRCDIR)RM_ALL 418 419# Define the arguments for genconf. 420 421CONFILES=-p %s 422CONFLDTR=-o 423 424# Define the generic compilation rules. 425 426.suffixes : .c .obj .exe 427 428.obj.exe : 429 $(LINK) 430 431# ---------------------------- End of options ---------------------------- # 432 433# Define various incantations of the 'c' compiler. 434 435CC_=$(COMP) 436CC_INT=$(CC_) 437CC_NO_WARN=$(CC_) 438 439# ------------------- Include the generic makefiles ---------------------- # 440 441all : macro [.lib]Fontmap. $(GS_XE) 442 443#.include $(COMMONDIR)/ansidefs.mak 444#.include $(COMMONDIR)/vmsdefs.mak 445#.include $(COMMONDIR)/generic.mak 446.include $(GLSRCDIR)gs.mak 447.include $(GLSRCDIR)lib.mak 448.include $(PSSRCDIR)int.mak 449.include $(PSSRCDIR)cfonts.mak 450.include $(GLSRCDIR)jpeg.mak 451# zlib.mak must precede libpng.mak 452.include $(GLSRCDIR)zlib.mak 453.include $(GLSRCDIR)libpng.mak 454JBIG2_EXTRA_OBJS=$(JBIG2OBJDIR)$(D)snprintf.$(OBJ) 455.include $(GLSRCDIR)jbig2.mak 456.include $(GLSRCDIR)icclib.mak 457.include $(GLSRCDIR)devs.mak 458.include $(GLSRCDIR)contrib.mak 459 460 461# ----------------------------- Main program ------------------------------ 462 463macro : 464.ifdef A4_PAPER 465 @ a4p = 1 466.else 467 @ a4p = 0 468.endif 469.ifdef IEEE 470 @ i3e = 1 471.else 472 @ i3e = 0 473.endif 474.ifdef SYSLIB 475 @ dsl = 1 476.else 477 @ dsl = 0 478.endif 479 @ decc = f$search("SYS$SYSTEM:DECC$COMPILER.EXE").nes."" 480 @ decw12 = f$search("SYS$SHARE:DECW$XTLIBSHRR5.EXE").nes."" 481 @ macro = "" 482 @ if dsl.or.a4p.or.decc.or.decw12 then macro = "/MACRO=(" 483 @ if decw12 then macro = macro + "DECWINDOWS1_2=1," 484 @ if a4p then macro = macro + "A4_PAPER=1," 485 @ if dsl then macro = macro + "SYSLIB=1," 486 @ if i3e then macro = macro + "IEEE=1," 487 @ if macro.nes."" then macro = f$extract(0,f$length(macro)-1,macro)+ ")" 488 $(MMS)$(MMSQUALIFIERS)'macro' $(GS_XE) 489 490$(GS_XE) : openvms $(GLGEN)arch.h $(GLOBJDIR)gs.$(OBJ) $(INT_ALL) $(LIB_ALL) 491 $(LINKER)/EXE=$@ $(GLOBJDIR)gs.$(OBJ),$(ld_tr)/OPTIONS,$(GLSRCDIR)OPENVMS.OPT/OPTION 492 @ Write Sys$Output "Build of GhostScript is complete!" 493 494# OpenVMS.dev 495 496openvms__=$(GLOBJ)gp_getnv.$(OBJ) $(GLOBJ)gp_vms.$(OBJ) $(GLOBJ)gp_stdia.$(OBJ) 497$(GLGEN)openvms_.dev : $(openvms__) $(GLGEN)nosync.dev 498 $(SETMOD) $(GLGEN)openvms_ $(openvms__) -include $(GLGEN)nosync 499 500$(ECHOGS_XE) : $(GLOBJDIR)echogs.$(OBJ) 501$(GENARCH_XE) : $(GLOBJDIR)genarch.$(OBJ) 502$(GENCONF_XE) : $(GLOBJDIR)genconf.$(OBJ) 503$(GENDEV_XE) : $(GLOBJDIR)gendev.$(OBJ) 504$(GENHT_XE) : $(GLOBJDIR)genht.$(OBJ) 505$(GENINIT_XE) : $(GLOBJDIR)geninit.$(OBJ) 506 507$(GLOBJDIR)echogs.$(OBJ) : $(GLSRCDIR)echogs.c 508$(GLOBJDIR)genarch.$(OBJ) : $(GLSRCDIR)genarch.c $(GENARCH_DEPS) 509$(GLOBJDIR)genconf.$(OBJ) : $(GLSRCDIR)genconf.c $(GENCONF_DEPS) 510$(GLOBJDIR)gendev.$(OBJ) : $(GLSRCDIR)gendev.c $(GENDEV_DEPS) 511# ****** NEED TO ADD $(GENHT_CFLAGS) HERE ****** 512$(GLOBJDIR)genht.$(OBJ) : $(GLSRCDIR)genht.c $(GENHT_DEPS) 513$(GLOBJDIR)geninit.$(OBJ) : $(GLSRCDIR)geninit.c $(GENINIT_DEPS) 514 515$(GLOBJ)gp_vms.$(OBJ) : $(GLSRC)gp_vms.c $(string__h) $(memory__h) $(gx_h) $(gp_h) $(gpmisc_h) $(gsstruct_h) 516 $(CC_)/include=($(GLGENDIR),$(GLSRCDIR))/obj=$(GLOBJ)gp_vms.$(OBJ) $(GLSRC)gp_vms.c 517 518$(GLOBJ)gp_stdia.$(OBJ) : $(GLSRC)gp_stdia.c $(AK) $(stdio__h) $(time__h) $(unistd__h) $(gx_h) $(gp_h) 519 $(CC_)/incl=$(GLOBJ)/obj=$(GLOBJ)gp_stdia.$(OBJ) $(GLSRC)gp_stdia.c 520 521# Preliminary definitions 522 523openvms : $(GLSRCDIR)openvms.com $(GLSRCDIR)openvms.opt 524 @$(GLSRCDIR)OPENVMS 525 526$(GLSRCDIR)openvms.com : $(GLSRCDIR)append_l.com 527 @$(GLSRCDIR)APPEND_L $@ "$ DEFINE/JOB X11 $(X_INCLUDE)" 528 @$(GLSRCDIR)APPEND_L $@ "$ DEFINE/JOB GS_LIB ''F$ENVIRONMENT(""DEFAULT"")'" 529 @$(GLSRCDIR)APPEND_L $@ "$ DEFINE/JOB GS_DOC ''F$ENVIRONMENT(""DEFAULT"")'" 530 @$(GLSRCDIR)APPEND_L $@ "$ DEFINE/JOB DECC$USER_INCLUDE ''F$ENVIRONMENT(""DEFAULT"")', DECW$INCLUDE, DECC$LIBRARY_INCLUDE, SYS$LIBRARY" 531 @$(GLSRCDIR)APPEND_L $@ "$ DEFINE/JOB DECC$SYSTEM_INCLUDE ''F$ENVIRONMENT(""DEFAULT"")', DECW$INCLUDE, DECC$LIBRARY_INCLUDE, SYS$LIBRARY" 532 @$(GLSRCDIR)APPEND_L $@ "$ DEFINE/JOB SYS "DECC$LIBRARY_INCLUDE,SYS$LIBRARY" 533 534$(GLSRCDIR)openvms.opt : 535.ifdef DECWINDOWS1_2 536 @$(GLSRCDIR)APPEND_L $@ "SYS$SHARE:DECW$XMLIBSHR12.EXE/SHARE" 537 @$(GLSRCDIR)APPEND_L $@ "SYS$SHARE:DECW$XTLIBSHRR5.EXE/SHARE" 538 @$(GLSRCDIR)APPEND_L $@ "SYS$SHARE:DECW$XLIBSHR.EXE/SHARE" 539.else 540 @$(GLSRCDIR)APPEND_L $@ "SYS$SHARE:DECW$XMLIBSHR.EXE/SHARE" 541 @$(GLSRCDIR)APPEND_L $@ "SYS$SHARE:DECW$XTSHR.EXE/SHARE" 542 @$(GLSRCDIR)APPEND_L $@ "SYS$SHARE:DECW$XLIBSHR.EXE/SHARE" 543.endif 544 @$(GLSRCDIR)APPEND_L $@ ""Ident="""""GS $(GS_DOT_VERSION)""""" 545 546# The platform-specific makefiles must also include rules for creating 547# certain dynamically generated files: 548# gconfig_.h - this indicates the presence or absence of 549# certain system header files that are located in different 550# places on different systems. (It could be generated by 551# the GNU `configure' program.) 552# gconfigv.h - this indicates the status of certain machine- 553# and configuration-specific features derived from definitions 554# in the platform-specific makefile. 555 556$(gconfig__h) : $(TOP_MAKEFILES) $(ECHOGS_XE) 557 $(EXP)$(ECHOGS_XE) -w $(gconfig__h) -x 23 define "HAVE_SYS_TIME_H" 558 559$(gconfigv_h) : $(TOP_MAKEFILES) $(ECHOGS_XE) 560 $(EXP)$(ECHOGS_XE) -w $(gconfigv_h) -x 23 define "USE_ASM" 0 561 $(EXP)$(ECHOGS_XE) -a $(gconfigv_h) -x 23 define "USE_FPU" 1 562 $(EXP)$(ECHOGS_XE) -a $(gconfigv_h) -x 23 define "EXTEND_NAMES" 0$(EXTEND_NAMES) 563 $(EXP)$(ECHOGS_XE) -a $(gconfigv_h) -x 23 define "SYSTEM_CONSTANTS_ARE_WRITABLE" 0$(SYSTEM_CONSTANTS_ARE_WRITABLE) 564