$ ! Copyright (C) 1989, 1992, 1993 Aladdin Enterprises. All rights reserved. $ ! $ ! This file is part of Ghostscript. $ ! $ ! Ghostscript is distributed in the hope that it will be useful, but $ ! WITHOUT ANY WARRANTY. No author or distributor accepts responsibility $ ! to anyone for the consequences of using it or for whether it serves any $ ! particular purpose or works at all, unless he says so in writing. Refer $ ! to the Ghostscript General Public License for full details. $ ! $ ! Everyone is granted permission to copy, modify and redistribute $ ! Ghostscript, but only under the conditions described in the Ghostscript $ ! General Public License. A copy of this license is supposed to have been $ ! given to you along with Ghostscript so you can know your rights and $ ! responsibilities. It should be in a file named COPYING. Among other $ ! things, the copyright notice and this notice must be preserved on all $ ! copies. $ ! $ ! $ ! "makefile" for Ghostscript, VMS / VMS C / DECwindows (X11) configuration. $ ! $ ! $ ! Execute this command file while in the Ghostscript directory! $ ! $ ! $ ! To build a debugging configuration, issue the command: $ ! $ ! $ @VMS-CC.MAK DEBUG $ ! $ ! Do not abbreviate "DEBUG". To specify an alternate directory for $ ! GS_LIB_DEFAULT, issue the command: $ ! $ ! $ @VMS-CC.MAK directory $ ! $ ! with "directory" a fully qualified directory name. "directory" cannot $ ! be DEBUG (otherwise it will be confused with the DEBUG switch). Both $ ! the DEBUG switch and a directory name may be specified on the same $ ! command line and in either order. $ ! $ CDEF = "" $ LDEF = "" $ ! $ GS_INIT = "GS_INIT.PS" $ GS_LIB_DEFAULT = F$ENVIRONMENT("DEFAULT") $ IF P1 .NES. "" .AND. P1 .NES. "DEBUG" THEN GS_LIB_DEFAULT = P1 $ IF P2 .NES. "" .AND. P2 .NES. "DEBUG" THEN GS_LIB_DEFAULT = P2 $ ! $ IF P1 .NES. "DEBUG" .AND. P2 .NES. "DEBUG" THEN GOTO NODEBUG $ CDEF = "/DEFINE=(""DEBUG"")/NOOPTIMIZE/DEBUG" $ LDEF = "/DEBUG" $ ! $ NODEBUG: $ ! $ ! Give ourself a healthy search list for C include files $ ! $ DEFINE C$INCLUDE 'F$ENVIRONMENT("DEFAULT"),DECW$INCLUDE,SYS$LIBRARY $ DEFINE VAXC$INCLUDE C$INCLUDE $ DEFINE SYS SYS$LIBRARY $ ! $ ! Compile genarch.c and then run it to create the arch.h header file $ ! $ CC/NOLIST/OBJECT=GENARCH.OBJ GENARCH.C $ LINK/NOMAP/EXE=GENARCH.EXE GENARCH,SYS$INPUT/OPT SYS$SHARE:VAXCRTL/SHARE $ GENARCH = "$" + F$ENVIRONMENT("DEFAULT") + "GENARCH.EXE" $ GENARCH ARCH.H $ DELETE GENARCH.EXE.*,GENARCH.OBJ.* $ PURGE ARCH.H $ ! $ ! $ ! Create a minimal gconfig.h. To add devices, look in DEVS.MAK to find $ ! the files that comprise the driver, and add them to the compilation $ ! and linking lists below. Then add a line below the CREATE of the form $ ! device__(gs_the-device-name_device) $ ! e.g. $ ! device__(gs_bj10e_device) $ ! To incorporate compiled fonts, add the line $ ! oper__(ccfonts_op_defs) $ ! Also add the name ICCFONT and the names of the compiled fonts $ ! to the compilation and linking lists. $ ! $ ! $ CREATE GCONFIG.H #include "gsconfig.h" device__(gs_x11_device) $ ! $ ! $ ! Create gconfigf.h similarly. This is only used for compiled fonts. $ ! For each compiled font XYZ, add a line of the form $ ! font_("0.font_XYZ",gsf_XYZ,zf_XYZ) $ ! If you defined a "short name" for the font (see fonts.doc), $ ! that is what you should use for XYZ. $ ! $ ! $ CREATE GCONFIGF.H $ ! $ ! $ ! Create an empty object library $ ! $ LIBRARY/CREATE GS.OLB $ ! $ ! $ ! Create a list of modules to compile and store in the object library $ ! $ CREATE MODULES.LIS GDEVMEM1 GDEVMEM2 GDEVMEM3 GP_NOFB GP_VMS GSCHAR GSCHAR0 GSCIE GSCOLOR GSCOLOR2 GSCOORD GSDEVICE GSDPS1 GSFILE GSFONT GSHT GSIMAGE GSIMAGE1 GSIMAGE2 GSIMPATH GSLINE GSMATRIX GSMISC GSPAINT GSPATH GSPATH2 GSSTATE GSTDEV GSTYPE1 GSUTIL GXCCACHE GXCCMAN GXCLIST GXCLREAD GXCMAP GXCPATH GXDITHER GXDRAW GXFILL GXHINT1 GXHINT2 GXHT GXPATH GXPATH2 GXPCOPY GXSTROKE IALLOC IBNUM ICCFONT IDEBUG IDICT IDPARAM IINIT INAME INTERP ISAVE ISCAN ISCAN2 IUTIL SBITS SCFD SCFDTAB SCFE SCFTAB SDCTD SDCTE SFILTER SFILTER2 SLZWD SLZWE STREAM ZARITH ZARRAY ZBSEQ ZCHAR ZCHAR2 ZCIE ZCOLOR ZCOLOR2 ZCONTROL ZCSPACE2 ZDEVICE ZDICT ZDPS1 ZFILE ZFILEDEV ZFILEIO ZFILTER ZFILTER2 ZFONT ZFONT0 ZFONT1 ZFONT2 ZGENERIC ZGSTATE ZHT ZHT2 ZIMAGE2 ZMATH ZMATRIX ZMISC ZMISC2 ZPACKED ZPAINT ZPATH ZPATH2 ZPROPS ZRELBIT ZSTACK ZSTRING ZTYPE ZUPATH ZVMEM ZVMEM2 $ ! $ ! $ ! NOW COMPILE AWAY! $ ! $ OPEN/READ MODULE_LIST MODULES.LIS $ ! $ COMPILE_LOOP: $ READ/END=END_COMPILE MODULE_LIST MODULE $ CC'CDEF/NOLIST/OBJECT='MODULE'.OBJ 'MODULE'.C $ LIBRARY/INSERT GS.OLB 'MODULE'.OBJ $ DELETE 'MODULE'.OBJ.* $ GOTO COMPILE_LOOP $ ! $ END_COMPILE: $ CLOSE MODULE_LIST $ DELETE MODULES.LIS.* $ ! $ ! $ ! Is the DECwindows environment about? Must be installed in order to $ ! build the executable program gs.exe. $ ! $ IF F$SEARCH("SYS$SHARE:DECW$XLIBSHR.EXE") .NES. "" THEN GOTO CHECK2 $ WRITE SYS$OUTPUT "DECwindows user environment not installed;" $ WRITE SYS$OUTPUT "unable to build executable programs." $ GOTO DONE $ ! $ CHECK2: $ IF F$TRNLNM("DECW$INCLUDE") .NES. "" THEN GOTO BUILD_EXES $ WRITE SYS$OUTPUT "You must invoke @DECW$STARTUP before using this" $ WRITE SYS$OUTPUT "command procedure to build the executable programs." $ GOTO DONE $ ! $ ! Build the executables $ ! $ BUILD_EXES: $ ! $ DEFINE X11 DECW$INCLUDE $ ! $ LIBDEF = """GS_LIB_DEFAULT=""""" + ''GS_LIB_DEFAULT' + """""""" $ INIDEF = """GS_INIT=""""" + ''GS_INIT' + """""""" $ CC'CDEF/NOLIST/DEFINE=('LIBDEF','INIDEF')/OBJECT=GCONFIG.OBJ GCONFIG.C $ ! $ CC'CDEF/NOLIST/OBJECT=GDEVXINI.OBJ GDEVXINI.C $ ! $ CC'CDEF/NOLIST/OBJECT=GDEVX.OBJ GDEVX.C $ ! $ CC'CDEF/NOLIST/OBJECT=GDEVXXF.OBJ GDEVXXF.C $ ! $ CC'CDEF/NOLIST/OBJECT=GSMAIN.OBJ GSMAIN.C $ ! $ CC'CDEF/NOLIST/OBJECT=GS.OBJ GS.C $ LINK'LDEF/NOMAP/EXE=GS.EXE GS,GSMAIN,GDEVX,GDEVXINI,GDEVXXF,GCONFIG,- GS/LIB/INCLUDE=(GDEVMEM1,GDEVMEM2,GDEVMEM3,GXCLIST,GXCLREAD,- ZARITH,ZARRAY,ZBSEQ,ZCHAR,ZCOLOR,ZCOLOR2,ZCONTROL,ZDEVICE,ZDPS1,- ZDICT,ZFILE,ZFILEDEV,ZFILEIO,ZFILTER,ZFILTER2,ZFONT,ZFONT0,ZFONT1,ZFONT2,- ZGENERIC,ZGSTATE,ZHT,ZIMAGE2,ZMATH,ZMATRIX,ZMISC,- ZPACKED,ZPAINT,ZPATH,ZPATH2,- ZPROPS,ZRELBIT,ZSTACK,ZSTRING,ZTYPE,ZUPATH,ZVMEM),SYS$INPUT/OPT SYS$SHARE:DECW$DWTLIBSHR/SHARE,SYS$SHARE:DECW$XLIBSHR.EXE/SHARE $ ! $ DELETE GDEVX.OBJ.*,GDEVXINI.OBJ.*,GDEVXXF.OBJ.*,GSMAIN.OBJ.*,GS.OBJ.*,- GCONFIG.OBJ.* $ ! $ DEASSIGN X11 $ ! $ DONE: $ ! $ DEASSIGN C$INCLUDE $ DEASSIGN VAXC$INCLUDE $ DEASSIGN SYS $ ! $ ! ALL DONE