$! "makeetex.com" % underscore removed 15-APR-1996 17:16:34 /PT
$!                % lowercased  7-OCT-1996 14:27:39 /PT
$!		  % naming conventions changed -ditto-
$!		  % directory structure changed for V2  10-MAR-1998 12:51:57 /PT
$ on error then goto exit
$ on control_y then goto exit
$!
$! Echoing is switched off 
$!
$ old_verify = f$verify (0)
$!
$! Set compiling options depending on the system architecture
$!
$
$ define CHANGEFILE "etex_vms.ch"
$ if f$getsyi("HW_MODEL") .ge. 1024
$  then
$    arch_name = "Alpha"
$    ARCH_PREF = "AXP_"
$    PCFLAGS = "/noopt/check=all/float=g_float/list/debug"
$    write sys$output "Creating e-TeX for AXP/VMS"
$  else
$    arch_name = "VAX"
$    ARCH_PREF = "VAX_"
$    PCFLAGS = "/noopt/check=all/g_float/list/debug"
$    write sys$output "Creating e-TeX for VAX/VMS"
$  endif
$
$ if "''p1'" .nes. "" then goto 'p1'
$
$ tex_1:
$ webmerge:
$ on warning then goto err_tex
$ create etex_tmp.tmp
$ set file /version=1 etex_tmp.tmp ! the scratch file used by "webmerge"
$ write sys$output "Merging changefiles..."
$ write sys$output ""
$ tex makeetex ! generate merged change-file
$
$ tangle:
$
$!
$! Call Tangle to generate eTEX.PAS
$!
$ on warning then goto err_tangle
$ write sys$output "Tangling ""[e]tex.web"""
$ write sys$output ""
$ tangle
[--.knuth]tex.web
CHANGEFILE
etex.pas
etex.pool
$ on error then goto exit
$
$ compile:
$ pascal:
$
$!
$! Compile source
$!
$ on warning then goto err_pascal
$ write sys$output "Compiling ""etex.pas"""
$ write sys$output ""
$ pascal 'PCFLAGS' /obj=.'ARCH_PREF'obj etex
$ 
$ cld:
$ cli:
$ set_command:
$
$!
$! (Re)compile the internal command table
$!
$ on warning then goto err_cld
$ write sys$output "Compiling ""etex_cli.cld"""
$ write sys$output ""
$ set command/object=.'ARCH_PREF'obj etex_cli.cld
$
$ link:
$
$!
$! Link
$!
$ on warning then goto err_link
$ write sys$output "Linking ""etex"""
$ write sys$output ""
$ link /nodebug /exe=etex.'ARCH_PREF'exe etex.'ARCH_PREF'obj,etex_cli.'ARCH_PREF'obj
$!
$! Do keep the compiled command table:
$!
$! delete/noconfirm/nolog etex_cli.'ARCH_PREF'obj;*
$
$ weave:
$
$! Weave the listing only if successful
$!
$! Call Weave to generate eTEX.TeX
$!
$ on warning then goto err_Weave
$ write sys$output "Weaving ""[e]tex.web"""
$ write sys$output ""
$ Weave
[--.knuth]tex.web
CHANGEFILE
etex.tex
$
$ dump:
$ etex:
$ symbols:
$ on warning then goto err_etex
$
$! Set up the necessary symbol(s) and logical name(s)
$
$ write sys$output "Defining necessary symbols and logical names"
$ write sys$output ""
$ etex == "sys$disk:[]etex.''ARCH_PREF'exe"
$ etex == "$" + f$parse(etex)
$ here = f$parse("sys$disk:[]",,,"DEVICE") + -
	 f$parse("sys$disk:[]",,,"DIRECTORY")
$ define /job etex_inputs sys$disk:[],[-],[-.src],tex_inputs:
$ define /job etex_font_metrics sys$disk:[],tex_font_metrics:
$ define /job etex_formats sys$disk:[],'here',tex_formats:
$ if "''p2'" .eqs. "ONLY" then exit
$
$! Build the "etex" format 
$ write sys$output "Creating the (extended-mode) ""etex"" format"
$ write sys$output ""
$ etex /init /noformat *"etex.src \dump"
$
$! Now try to "etex etex"
$ write sys$output "e-TeXing ""etex.tex"""
$ write sys$output ""
$ eTeX "\hfuzz = 27 pt \input eTeX"
$
$ exit: 
$ verify = old_verify
$ exit
$
$! error messages:
$
$
$ err_tex:
$ write sys$output "Error while generating merged changfile"
$ goto exit
$
$ err_pascal:
$ write sys$output "Error compiling "etex.pas")
$ goto exit
$
$ err_link:
$ write sys$output "Error during link phase"
$ goto exit
$
$ err_cld:
$ write sys$output "Error compiling CLD tables"
$ goto exit
$
$err_tangle:
$ write sys$output "Error tangling ""[e]tex.web"""
$ goto exit
$
$err_weave:
$ write sys$output "Error tangling ""[e]tex.web"""
$ goto exit
$
$ err_etex:
$ write sys$output "e-TeX ERROR: something horrible happened while"
$ write sys$output "e-TeXxing eTeX :-("
$ goto exit