Blame vms/descrip.mms

Packit Service f629e6
# Descrip.MMS -- Makefile for building GNU awk on VMS.
Packit Service f629e6
#
Packit Service f629e6
# usage:
Packit Service f629e6
#  $ MMS /Description=[.vms]Descrip.MMS gawk
Packit Service f629e6
#	possibly add `/Macro=("GNUC=1")' to compile with GNU C,
Packit Service f629e6
#	or add `/Macro=("GNUC=1","DO_GNUC_SETUP=1")' to compile with GNU C
Packit Service f629e6
#	on a system where GCC is not installed as a defined command,
Packit Service f629e6
#	or add `/Macro=("VAXC=1")' to compile with VAX C,
Packit Service f629e6
#	or add `/Macro=("VAXC=1","CC=cc/VAXC")' to compile with VAX C on
Packit Service f629e6
#	a system which has DEC C installed as the default compiler.
Packit Service f629e6
#
Packit Service f629e6
# gawk.exe :
Packit Service f629e6
#	This is the default target.  DEC C has become the default compiler.
Packit Service f629e6
#
Packit Service f629e6
# awkgram.c :
Packit Service f629e6
#	If you don't have bison but do have VMS POSIX or DEC/Shell,
Packit Service f629e6
#	change the PARSER and PASERINIT macros to use yacc.  If you don't
Packit Service f629e6
#	have either yacc or bison, you'll have to make sure that the
Packit Service f629e6
#	distributed version of "awkgram.c" has its modification date later
Packit Service f629e6
#	than the date of "awkgram.y", so that MMS won't try to build that
Packit Service f629e6
#	target.  If you use bison and it is already defined system-wide,
Packit Service f629e6
#	comment out the PARSERINIT definition.
Packit Service f629e6
#
Packit Service f629e6
# command.c :
Packit Service f629e6
#	Similar to awkgram.c; built from command.y with yacc or bison.
Packit Service f629e6
#
Packit Service f629e6
# install.help :
Packit Service f629e6
#	You can make the target 'install.help' to load the VMS help text
Packit Service f629e6
#	into a help library.  Modify the HELPLIB macro if you don't want
Packit Service f629e6
#	to put entry into the regular VMS library.  (If you use an alternate
Packit Service f629e6
#	help library, it must already exist; this target won't create it.)
Packit Service f629e6
#
Packit Service f629e6
# gawk.dvi :
Packit Service f629e6
#	If you have TeX, you can make the target 'gawk.dvi' to process
Packit Service f629e6
#	_The_GAWK_Manual_ from gawk.texi.  You'll need to use a device
Packit Service f629e6
#	specific post-processor on gawk.dvi in order to get printable data.
Packit Service f629e6
#	The full output is approximately 325 pages.
Packit Service f629e6
#
Packit Service f629e6
Packit Service f629e6
# location of various source files, relative to the 'main' directory
Packit Service f629e6
SUPPORT = [.support]
Packit Service f629e6
VMSDIR	= [.vms]
Packit Service f629e6
DOCDIR	= [.doc]
Packit Service f629e6
MISSNGD	= [.missing_d]
Packit Service f629e6
MAKEFILE = $(VMSDIR)Descrip.MMS
Packit Service f629e6
Packit Service f629e6
# debugging &c		!'ccflags' is an escape to allow external compile flags
Packit Service f629e6
#CCFLAGS = /noOpt/Debug
Packit Service f629e6
Packit Service f629e6
# a comma separated list of macros to define
Packit Service f629e6
# Do not specify _POSIX_EXIT here, other tricks are used for this.
Packit Service f629e6
CDEFS	= "GAWK","HAVE_CONFIG_H"
Packit Service f629e6
Packit Service f629e6
.ifdef GNUC
Packit Service f629e6
# assumes VAX
Packit Service f629e6
CC	= gcc
Packit Service f629e6
CFLAGS	= /Incl=([],$(VMSDIR))/Obj=[]/Def=($(CDEFS)) $(CCFLAGS)
Packit Service f629e6
LIBS	= gnu_cc:[000000]gcclib.olb/Library,sys$library:vaxcrtl.olb/Library
Packit Service f629e6
.ifdef DO_GNUC_SETUP
Packit Service f629e6
# in case GCC command verb needs to be manually defined
Packit Service f629e6
.first
Packit Service f629e6
	set command gnu_cc:[000000]gcc
Packit Service f629e6
.endif	!DO_GNUC_SETUP
Packit Service f629e6
.else	!!GNUC
Packit Service f629e6
.ifdef VAXC
Packit Service f629e6
# always VAX; versions of VAX C older than V3.2 won't work
Packit Service f629e6
CC	= cc
Packit Service f629e6
CFLAGS	= /Incl=[]/Obj=[]/Opt=noInline/Def=($(CDEFS)) $(CCFLAGS)
Packit Service f629e6
LIBS	= sys$share:vaxcrtl.exe/Shareable
Packit Service f629e6
.else	!!VAXC
Packit Service f629e6
# neither GNUC nor VAXC, assume DECC (same for either VAX or Alpha)
Packit Service f629e6
.ifdef __VAX__
Packit Service f629e6
CFLOAT  =
Packit Service f629e6
.else
Packit Service f629e6
CFLOAT	= /float=ieee/ieee_mode=denorm_results
Packit Service f629e6
.endif
Packit Service f629e6
CNAME	= /NAME=(AS_IS,SHORT)
Packit Service f629e6
CC	= cc/DECC/Prefix=All/NESTED_INCLUDE=NONE$(CFLOAT)
Packit Service f629e6
CINC1   = [],[.VMS],$(SUPPORT)
Packit Service f629e6
CFLAGS	= /Incl=($(CINC1))/Obj=[]/Def=($(CDEFS))$(CNAME) $(CCFLAGS)
Packit Service f629e6
CEFLAGS = /Incl=($(CINC1),[.missing_d],[.extension])$(CNAME) $(CCFLAGS)
Packit Service f629e6
LIBS	=	# DECC$SHR instead of VAXCRTL, no special link option needed
Packit Service f629e6
.endif	!VAXC
Packit Service f629e6
.endif	!GNUC
Packit Service f629e6
Packit Service f629e6
Packit Service f629e6
PARSER	= bison
Packit Service f629e6
PARSERINIT = set command gnu_bison:[000000]bison
Packit Service f629e6
#PARSER	= yacc
Packit Service f629e6
#PARSERINIT = yacc := posix/run/path=posix """/bin/yacc"
Packit Service f629e6
#PARSERINIT = yacc := $shell$exe:yacc
Packit Service f629e6
Packit Service f629e6
# this is used for optional target 'install.help'
Packit Service f629e6
HELPLIB = sys$help:helplib.hlb
Packit Service f629e6
#HELPLIB = sys$help:local.hlb
Packit Service f629e6
Packit Service f629e6
#
Packit Service f629e6
########  nothing below this line should need to be changed  ########
Packit Service f629e6
#
Packit Service f629e6
Packit Service f629e6
ECHO = write sys$output
Packit Service f629e6
NOOP = continue
Packit Service f629e6
Packit Service f629e6
# object files
Packit Service f629e6
GAWKOBJ = eval.obj,profile.obj
Packit Service f629e6
AWKOBJ1 = array.obj,awkgram.obj,builtin.obj,cint_array.obj,\
Packit Service f629e6
	command.obj,debug.obj,dfa.obj,ext.obj,field.obj,\
Packit Service f629e6
	floatcomp.obj,gawkapi.obj,gawkmisc.obj,getopt.obj,getopt1.obj
Packit Service f629e6
Packit Service f629e6
AWKOBJ2 = int_array.obj,io.obj,localeinfo.obj,main.obj,mpfr.obj,msg.obj,\
Packit Service f629e6
	node.obj,random.obj,re.obj,regex.obj,replace.obj,\
Packit Service f629e6
	str_array.obj,symbol.obj,version.obj
Packit Service f629e6
Packit Service f629e6
AWKOBJS = $(AWKOBJ1),$(AWKOBJ2)
Packit Service f629e6
Packit Service f629e6
# VMSOBJS
Packit Service f629e6
#	VMS specific stuff
Packit Service f629e6
VMSCODE = vms_misc.obj,vms_popen.obj,vms_fwrite.obj,vms_args.obj,\
Packit Service f629e6
	vms_gawk.obj,vms_cli.obj,vms_crtl_init.obj
Packit Service f629e6
VMSCMD	= gawk_cmd.obj			# built from .cld file
Packit Service f629e6
VMSOBJS = $(VMSCODE),$(VMSCMD)
Packit Service f629e6
Packit Service f629e6
DOCS= $(DOCDIR)gawk.1,$(DOCDIR)gawk.texi,$(DOCDIR)texinfo.tex
Packit Service f629e6
Packit Service f629e6
# generic target
Packit Service f629e6
all : gawk gawk_debug
Packit Service f629e6
      @	$(NOOP)
Packit Service f629e6
Packit Service f629e6
# dummy target to allow building "gawk" in addition to explicit "gawk.exe"
Packit Service f629e6
gawk : gawk.exe
Packit Service f629e6
      @	$(ECHO) "$< is upto date"
Packit Service f629e6
Packit Service f629e6
gawk_debug : gawk_debug.exe
Packit Service f629e6
      @	$(ECHO) "$< is upto date"
Packit Service f629e6
Packit Service f629e6
# rules to build gawk
Packit Service f629e6
gawk.exe : $(GAWKOBJ) $(AWKOBJS) $(VMSOBJS) gawk.opt
Packit Service f629e6
	$(LINK) $(LINKFLAGS)/EXE=$(MMS$TARGET) gawk.opt/options
Packit Service f629e6
Packit Service f629e6
gawk_debug.exe : $(GAWKOBJ) $(AWKOBJS) $(VMSOBJS) gawk.opt
Packit Service f629e6
	$(LINK) $(LINKFLAGS)/DEBUG/EXE=$(MMS$TARGET) gawk.opt/options
Packit Service f629e6
Packit Service f629e6
gawk.opt : $(MAKEFILE) config.h         # create linker options file
Packit Service f629e6
      @	open/write opt sys$disk:[]gawk.opt	! ~ 'cat <<close >gawk.opt'
Packit Service f629e6
      @	write opt "! GAWK -- GNU awk"
Packit Service f629e6
      @ write opt "$(GAWKOBJ)"
Packit Service f629e6
      @ write opt "$(AWKOBJ1)"
Packit Service f629e6
      @ write opt "$(AWKOBJ2)"
Packit Service f629e6
      @ write opt "$(VMSOBJS)"
Packit Service f629e6
      @ write opt "psect_attr=environ,noshr	!extern [noshare] char **"
Packit Service f629e6
      @ write opt "stack=48	!preallocate more pages (default is 20)"
Packit Service f629e6
      @ write opt "iosegment=128	!ditto (default is 32)"
Packit Service f629e6
      @	write opt "$(LIBS)"
Packit Service f629e6
      @ close opt
Packit Service f629e6
      $ @$(VMSDIR)gawk_ident.com
Packit Service f629e6
Packit Service f629e6
$(VMSCODE)	: awk.h config.h $(VMSDIR)redirect.h $(VMSDIR)vms.h
Packit Service f629e6
$(AWKOBJS)	: awk.h gettext.h mbsupport.h $(SUPPORT)regex.h \
Packit Service f629e6
		  $(SUPPORT)dfa.h config.h $(VMSDIR)redirect.h
Packit Service f629e6
$(GAWKOBJ)	: awk.h config.h $(VMSDIR)redirect.h
Packit Service f629e6
Packit Service f629e6
#-----------------------------------------------------------------------------
Packit Service f629e6
# Older versions of MMS have problems handling lower case file names typically
Packit Service f629e6
# found on ODS-5 disks. Fix this by adding explicit dependencies.
Packit Service f629e6
#_____________________________________________________________________________
Packit Service f629e6
Packit Service f629e6
array.obj	: array.c
Packit Service f629e6
awkgram.obj	: awkgram.c awk.h
Packit Service f629e6
builtin.obj	: builtin.c floatmagic.h $(SUPPORT)random.h
Packit Service f629e6
cint_array.obj	: cint_array.c
Packit Service f629e6
command.obj	: command.c cmd.h
Packit Service f629e6
debug.obj	: debug.c cmd.h
Packit Service f629e6
dfa.obj		: $(SUPPORT)dfa.c $(SUPPORT)dfa.h
Packit Service f629e6
ext.obj		: ext.c
Packit Service f629e6
eval.obj	: eval.c
Packit Service f629e6
field.obj	: field.c
Packit Service f629e6
floatcomp.obj	: floatcomp.c
Packit Service f629e6
gawkaoi.obj	: gawkapi.c
Packit Service f629e6
gawkmisc.obj	: gawkmisc.c $(VMSDIR)gawkmisc.vms
Packit Service f629e6
getopt.obj	: $(SUPPORT)getopt.c
Packit Service f629e6
getopt1.obj	: $(SUPPORT)getopt1.c
Packit Service f629e6
int_array.obj	: int_array.c
Packit Service f629e6
io.obj		: io.c
Packit Service f629e6
localeinfo.obj  : $(SUPPORT)localeinfo.c
Packit Service f629e6
main.obj	: main.c
Packit Service f629e6
msg.obj		: msg.c
Packit Service f629e6
mpfr.obj	: mpfr.c
Packit Service f629e6
node.obj	: node.c
Packit Service f629e6
profile.obj	: profile.c
Packit Service f629e6
random.obj	: $(SUPPORT)random.c $(SUPPORT)random.h
Packit Service f629e6
re.obj		: re.c
Packit Service f629e6
regex.obj	: $(SUPPORT)regex.c $(SUPPORT)regcomp.c \
Packit Service f629e6
		  $(SUPPORT)regex_internal.c $(SUPPORT)regexec.c \
Packit Service f629e6
		  $(SUPPORT)regex.h $(SUPPORT)regex_internal.h
Packit Service f629e6
str_array.obj	: str_array.c
Packit Service f629e6
symbol.obj	: symbol.c
Packit Service f629e6
version.obj	: version.c
Packit Service f629e6
vms_misc.obj	: $(VMSDIR)vms_misc.c
Packit Service f629e6
vms_popen.obj	: $(VMSDIR)vms_popen.c
Packit Service f629e6
vms_fwrite.obj	: $(VMSDIR)vms_fwrite.c
Packit Service f629e6
vms_args.obj	: $(VMSDIR)vms_args.c
Packit Service f629e6
vms_gawk.obj	: $(VMSDIR)vms_gawk.c
Packit Service f629e6
vms_cli.obj	: $(VMSDIR)vms_cli.c
Packit Service f629e6
vms_crtl_init.obj : $(VMSDIR)vms_crtl_init.c
Packit Service f629e6
replace.obj	: replace.c $(MISSNGD)system.c $(MISSNGD)memcmp.c \
Packit Service f629e6
		  $(MISSNGD)memcpy.c $(MISSNGD)memset.c $(MISSNGD)memmove.c \
Packit Service f629e6
		  $(MISSNGD)strncasecmp.c $(MISSNGD)strerror.c \
Packit Service f629e6
		  $(MISSNGD)strftime.c $(MISSNGD)strchr.c $(MISSNGD)strtod.c \
Packit Service f629e6
		  $(MISSNGD)strtoul.c $(MISSNGD)tzset.c $(MISSNGD)mktime.c \
Packit Service f629e6
		  $(MISSNGD)snprintf.c $(MISSNGD)getaddrinfo.c \
Packit Service f629e6
		  $(MISSNGD)usleep.c \
Packit Service f629e6
		  $(MISSNGD)setenv.c $(MISSNGD)strcoll.c $(MISSNGD)wcmisc.c
Packit Service f629e6
Packit Service f629e6
# bison or yacc have not been ported to current VMS versions
Packit Service f629e6
# When that changes, this can be restored.
Packit Service f629e6
# bison or yacc required
Packit Service f629e6
# awkgram.c	: awkgram.y	# foo.y :: yacc => y[_]tab.c, bison => foo_tab.c
Packit Service f629e6
#     @- if f$search("ytab.c")	.nes."" then  delete ytab.c;*	 !POSIX yacc
Packit Service f629e6
#     @- if f$search("y_tab.c")	.nes."" then  delete y_tab.c;*	 !DEC/Shell yacc
Packit Service f629e6
#     @- if f$search("awkgram_tab.c").nes."" then  delete awkgram_tab.c;* !bison
Packit Service f629e6
#      - $(PARSERINIT)
Packit Service f629e6
#	$(PARSER) $(YFLAGS) $<
Packit Service f629e6
#     @- if f$search("ytab.c")	.nes."" then  rename/new_vers ytab.c  $@
Packit Service f629e6
#     @- if f$search("y_tab.c")	.nes."" then  rename/new_vers y_tab.c $@
Packit Service f629e6
#     @- if f$search("awkgram_tab.c").nes."" then \
Packit Service f629e6
#            rename/new_vers awkgram_tab.c $@
Packit Service f629e6
Packit Service f629e6
# command.c	: command.y
Packit Service f629e6
#     @- if f$search("ytab.c")	.nes."" then  delete ytab.c;*
Packit Service f629e6
#     @- if f$search("y_tab.c")	.nes."" then  delete y_tab.c;*
Packit Service f629e6
#     @- if f$search("command_tab.c").nes."" then  delete command_tab.c;*
Packit Service f629e6
#      - $(PARSERINIT)
Packit Service f629e6
#	$(PARSER) $(YFLAGS) $<
Packit Service f629e6
#     @- if f$search("ytab.c")	.nes."" then  rename/new_vers ytab.c  $@
Packit Service f629e6
#     @- if f$search("y_tab.c")	.nes."" then  rename/new_vers y_tab.c $@
Packit Service f629e6
#     @- if f$search("command_tab.c").nes."" then \
Packit Service f629e6
#            rename/new_vers command_tab.c $@
Packit Service f629e6
Packit Service f629e6
config_vms.h : $(VMSDIR)generate_config_vms_h_gawk.com
Packit Service f629e6
     $ @$(VMSDIR)generate_config_vms_h_gawk.com
Packit Service f629e6
Packit Service f629e6
config.h	: configh.in config_vms.h $(VMSDIR)config_h.com
Packit Service f629e6
     $ @$(VMSDIR)config_h.com
Packit Service f629e6
Packit Service f629e6
$(VMSCMD)	: $(VMSDIR)gawk.cld
Packit Service f629e6
	set command $(CLDFLAGS)/object=$@ $<
Packit Service f629e6
Packit Service f629e6
# special target for loading the help text into a VMS help library
Packit Service f629e6
install.help	: $(VMSDIR)gawk.hlp
Packit Service f629e6
	library/help $(HELPLIB) $< /log
Packit Service f629e6
Packit Service f629e6
Packit Service f629e6
# Build dynamic extensions - Alpha/Itanium only.
Packit Service f629e6
.ifdef __VAX__
Packit Service f629e6
# VAX not complete yet.
Packit Service f629e6
plug_opt = [.VMS.VAX]gawk_plugin_xfer.opt
Packit Service f629e6
.else
Packit Service f629e6
plug_opt = [.vms]gawk_plugin.opt
Packit Service f629e6
.endif
Packit Service f629e6
Packit Service f629e6
ext_gawkdirfd_h = [.extension]gawkdirfd.h config.h nonposix.h
Packit Service f629e6
Packit Service f629e6
extensions : filefuncs.exe fnmatch.exe inplace.exe ordchr.exe readdir.exe \
Packit Service f629e6
	revoutput.exe revtwoway.exe rwarray.exe testext.exe time.exe
Packit Service f629e6
Packit Service f629e6
filefuncs.exe : filefuncs.obj stack.obj gawkfts.obj $(plug_opt)
Packit Service f629e6
	link/share=$(MMS$TARGET) $(MMS$SOURCE), stack.obj, gawkfts.obj, \
Packit Service f629e6
		$(plug_opt)/opt
Packit Service f629e6
Packit Service f629e6
fnmatch.exe : fnmatch.obj $(plug_opt)
Packit Service f629e6
	link/share=$(MMS$TARGET) $(MMS$SOURCE), $(plug_opt)/opt
Packit Service f629e6
Packit Service f629e6
inplace.exe : inplace.obj $(plug_opt)
Packit Service f629e6
	link/share=$(MMS$TARGET) $(MMS$SOURCE), $(plug_opt)/opt
Packit Service f629e6
Packit Service f629e6
ordchr.exe : ordchr.obj $(plug_opt)
Packit Service f629e6
	link/share=$(MMS$TARGET) $(MMS$SOURCE), $(plug_opt)/opt
Packit Service f629e6
Packit Service f629e6
readdir.exe : readdir.obj $(plug_opt)
Packit Service f629e6
	link/share=$(MMS$TARGET) $(MMS$SOURCE), $(plug_opt)/opt
Packit Service f629e6
Packit Service f629e6
revoutput.exe : revoutput.obj $(plug_opt)
Packit Service f629e6
	link/share=$(MMS$TARGET) $(MMS$SOURCE), $(plug_opt)/opt
Packit Service f629e6
Packit Service f629e6
revtwoway.exe : revtwoway.obj $(plug_opt)
Packit Service f629e6
	link/share=$(MMS$TARGET) $(MMS$SOURCE), $(plug_opt)/opt
Packit Service f629e6
Packit Service f629e6
rwarray.exe : rwarray.obj $(plug_opt)
Packit Service f629e6
	link/share=$(MMS$TARGET) $(MMS$SOURCE), $(plug_opt)/opt
Packit Service f629e6
Packit Service f629e6
testext.exe : testext.obj $(plug_opt)
Packit Service f629e6
	link/share=$(MMS$TARGET) $(MMS$SOURCE), $(plug_opt)/opt
Packit Service f629e6
Packit Service f629e6
time.exe : time.obj $(plug_opt)
Packit Service f629e6
	link/share=$(MMS$TARGET) $(MMS$SOURCE), $(plug_opt)/opt
Packit Service f629e6
Packit Service f629e6
stack.obj : [.extension]stack.c config.h gawkapi.h \
Packit Service f629e6
	[.extension]gawkfts.h, [.extension]stack.h
Packit Service f629e6
    $(CC)$(CEFLAGS)/define=(HAVE_CONFIG_H)/object=$(MMS$TARGET) $(MMS$SOURCE)
Packit Service f629e6
Packit Service f629e6
gawkfts.obj : [.extension]gawkfts.c config.h [.extension]gawkfts.h \
Packit Service f629e6
	$(ext_gawkdirfd_h)
Packit Service f629e6
    $(CC)$(CEFLAGS)/define=(HAVE_CONFIG_H, ZOS_USS, "fchdir(x)=(-1)") \
Packit Service f629e6
	/object=$(MMS$TARGET) $(MMS$SOURCE)
Packit Service f629e6
Packit Service f629e6
filefuncs.obj : [.extension]filefuncs.c config.h gawkapi.h \
Packit Service f629e6
	[.extension]gawkfts.h
Packit Service f629e6
    $(CC)$(CEFLAGS)/define=(HAVE_CONFIG_H)/object=$(MMS$TARGET) $(MMS$SOURCE)
Packit Service f629e6
Packit Service f629e6
fnmatch.obj : [.extension]fnmatch.c config.h gawkapi.h \
Packit Service f629e6
	[.missing_d]fnmatch.h [.missing_d]fnmatch.c
Packit Service f629e6
    $(CC)$(CEFLAGS)/define=(HAVE_CONFIG_H)/object=$(MMS$TARGET) $(MMS$SOURCE)
Packit Service f629e6
Packit Service f629e6
inplace.obj : [.extension]inplace.c config.h gawkapi.h
Packit Service f629e6
    $(CC)$(CEFLAGS)/define=(HAVE_CONFIG_H)/object=$(MMS$TARGET) $(MMS$SOURCE)
Packit Service f629e6
Packit Service f629e6
ordchr.obj : [.extension]ordchr.c config.h gawkapi.h
Packit Service f629e6
    $(CC)$(CEFLAGS)/define=(HAVE_CONFIG_H)/object=$(MMS$TARGET) $(MMS$SOURCE)
Packit Service f629e6
Packit Service f629e6
readdir.obj : [.extension]readdir.c config.h gawkapi.h \
Packit Service f629e6
	$(ext_gawkdirfd_h)
Packit Service f629e6
    $(CC)$(CEFLAGS)/define=(HAVE_CONFIG_H, HAVE_DIRENT_H) \
Packit Service f629e6
	/object=$(MMS$TARGET) $(MMS$SOURCE)
Packit Service f629e6
Packit Service f629e6
revoutput.obj : [.extension]revoutput.c config.h gawkapi.h
Packit Service f629e6
    $(CC)$(CEFLAGS)/define=(HAVE_CONFIG_H)/object=$(MMS$TARGET) $(MMS$SOURCE)
Packit Service f629e6
Packit Service f629e6
revtwoway.obj : [.extension]revtwoway.c config.h gawkapi.h
Packit Service f629e6
    $(CC)$(CEFLAGS)/define=(HAVE_CONFIG_H, HAVE_GETDTABLESIZE) \
Packit Service f629e6
	/object=$(MMS$TARGET) $(MMS$SOURCE)
Packit Service f629e6
Packit Service f629e6
rwarray.obj : [.extension]rwarray.c config.h gawkapi.h
Packit Service f629e6
    $(CC)$(CEFLAGS)/define=(HAVE_CONFIG_H)/object=$(MMS$TARGET) $(MMS$SOURCE)
Packit Service f629e6
Packit Service f629e6
testext.obj : [.extension]testext.c config.h gawkapi.h
Packit Service f629e6
    $(CC)$(CEFLAGS)/define=(HAVE_CONFIG_H)/object=$(MMS$TARGET) $(MMS$SOURCE)
Packit Service f629e6
Packit Service f629e6
time.obj : [.extension]time.c config.h gawkapi.h
Packit Service f629e6
    $(CC)$(CEFLAGS)/define=(HAVE_CONFIG_H)/object=$(MMS$TARGET) $(MMS$SOURCE)
Packit Service f629e6
Packit Service f629e6
Packit Service f629e6
# miscellaneous other targets
Packit Service f629e6
tidy :
Packit Service f629e6
      - if f$search("*.*;-1").nes."" then  purge
Packit Service f629e6
      - if f$search("[.*]*.*;-1").nes."" then  purge [.*]
Packit Service f629e6
Packit Service f629e6
clean :
Packit Service f629e6
      - if f$search ("*.obj")    .nes. "" then delete *.obj;*
Packit Service f629e6
      - if f$search ("*.lis")    .nes. "" then delete *.lis;*
Packit Service f629e6
      - if f$search ("gawk.opt") .nes. "" then delete gawk.opt;*
Packit Service f629e6
Packit Service f629e6
spotless : clean tidy
Packit Service f629e6
      - if f$search("config.h").nes."" then delete config.h;*
Packit Service f629e6
      - if f$search("config_vms.h").nes."" then delete config_vms.h;*
Packit Service f629e6
      - if f$search("gawk.exe").nes."" then  delete gawk.exe;*
Packit Service f629e6
      - if f$search("*.dsf").nes."" then  delete *.dsf;*
Packit Service f629e6
      - if f$search("*.map").nes."" then  delete *.map;*
Packit Service f629e6
      - if f$search("*.pcsi$desc").nes."" then  delete *.pcsi$desc;*
Packit Service f629e6
      - if f$search("*.pcsi$text").nes."" then  delete *.pcsi$text;*
Packit Service f629e6
      - if f$search("gawk*_src.bck").nes."" then  delete gawk*_src.bck;*
Packit Service f629e6
      - if f$search("*.release_notes").nes."" then  delete *.release_notes;*
Packit Service f629e6
      - if f$search("filefuncs.exe").nes."" then  delete filefuncs.exe;*
Packit Service f629e6
      - if f$search("fnmatch.exe").nes."" then  delete fnmatch.exe;*
Packit Service f629e6
      - if f$search("inplace.exe").nes."" then  delete inplace.exe;*
Packit Service f629e6
      - if f$search("ordchr.exe").nes."" then  delete ordchr.exe;*
Packit Service f629e6
      - if f$search("readdir.exe").nes."" then  delete readdir.exe;*
Packit Service f629e6
      - if f$search("revoutput.exe").nes."" then  delete revoutput.exe;*
Packit Service f629e6
      - if f$search("revtwoway.exe").nes."" then  delete revtwoway.exe;*
Packit Service f629e6
      - if f$search("rwarray.exe").nes."" then  delete rwarray.exe;*
Packit Service f629e6
      - if f$search("testext.exe").nes."" then  delete testext.exe;*
Packit Service f629e6
      - if f$search("time.exe").nes."" then  delete time.exe;*
Packit Service f629e6
      - if f$search("gawk_verb.cld").nes."" then  delete gawk_verb.cld;*
Packit Service f629e6
      - if f$search("gawk.dvi").nes."" then  delete gawk.dvi;*
Packit Service f629e6
      - if f$search("[.doc]texindex.exe").nes."" then \
Packit Service f629e6
            delete [.doc]texindex.exe;*
Packit Service f629e6
      - if f$search("[.cxx_repository]*.*;").nes."" then \
Packit Service f629e6
            delete [.cxx_repository]*.*;*
Packit Service f629e6
Packit Service f629e6
#
Packit Service f629e6
# Note: this only works if you kept a copy of [.support]texindex.c
Packit Service f629e6
# from a gawk 2.x distribution and put it into [.doc]texindex.c.
Packit Service f629e6
# Also, depending on the fonts available with the version of TeX
Packit Service f629e6
# you have, you might need to edit [.doc]texinfo.tex and change
Packit Service f629e6
# the reference to "lcircle10" to be "circle10".
Packit Service f629e6
#
Packit Service f629e6
# build gawk.dvi from within the 'doc' subdirectory
Packit Service f629e6
#
Packit Service f629e6
gawk.dvi : [.doc]texindex.exe [.doc]gawk.texi
Packit Service f629e6
      @ set default [.doc]
Packit Service f629e6
      @ write sys$output " Warnings from TeX are expected during the first pass"
Packit Service f629e6
	TeX gawk.texi
Packit Service f629e6
	mcr []texindex gawk.cp gawk.fn gawk.ky gawk.pg gawk.tp gawk.vr
Packit Service f629e6
      @ write sys$output " Second pass"
Packit Service f629e6
	TeX gawk.texi
Packit Service f629e6
	mcr []texindex gawk.cp gawk.fn gawk.ky gawk.pg gawk.tp gawk.vr
Packit Service f629e6
      @ write sys$output " Third (final) pass"
Packit Service f629e6
	TeX gawk.texi
Packit Service f629e6
     -@ purge
Packit Service f629e6
     -@ delete \
Packit Service f629e6
         gawk.lis;,.aux;,gawk.%%;,.cps;,.fns;,.kys;,.pgs;,.toc;,.tps;,.vrs;
Packit Service f629e6
      @ rename/new_vers gawk.dvi [-]*.*
Packit Service f629e6
      @ set default [-]
Packit Service f629e6
Packit Service f629e6
# Note: [.doc]texindex.c is not included with the gawk 3.x distribution.
Packit Service f629e6
# Expect lots of "implicitly declared function" diagnostics from DEC C.
Packit Service f629e6
#
Packit Service f629e6
[.doc]texindex.exe : [.doc]texindex.c
Packit Service f629e6
      @ set default [.doc]
Packit Service f629e6
	$(CC) /noOpt/noList/Define=("lines=tlines") texindex.c
Packit Service f629e6
      @ open/Write opt texindex.opt
Packit Service f629e6
      @ write opt "texindex.obj"
Packit Service f629e6
      @ write opt "$(LIBS)"
Packit Service f629e6
      @ close opt
Packit Service f629e6
	$(LINK) /noMap/Exe=texindex.exe texindex.opt/Options
Packit Service f629e6
     -@ delete texindex.obj;*,texindex.opt;*
Packit Service f629e6
      @ set default [-]
Packit Service f629e6
Packit Service f629e6
#eof