diff options
Diffstat (limited to 'vms/descrip.mms')
-rw-r--r-- | vms/descrip.mms | 50 |
1 files changed, 45 insertions, 5 deletions
diff --git a/vms/descrip.mms b/vms/descrip.mms index a3abd14b..0357dd2b 100644 --- a/vms/descrip.mms +++ b/vms/descrip.mms @@ -16,6 +16,10 @@ # An alternate version which generates some profiling feedback for # the awk programs it executes. Included with `make all'. # +# dgawk.exe : +# An alternate version which supports debugging. +# Included with `make all'. +# # awkgram.c : # If you don't have bison but do have VMS POSIX or DEC/Shell, # change the PARSER and PASERINIT macros to use yacc. If you don't @@ -25,6 +29,9 @@ # target. If you use bison and it is already defined system-wide, # comment out the PARSERINIT definition. # +# command.c : +# Similar to awkgram.c; built from command.y with yacc or bison. +# # install.help : # You can make the target 'install.help' to load the VMS help text # into a help library. Modify the HELPLIB macro if you don't want @@ -94,6 +101,7 @@ NOOP = continue # object files GAWKOBJ = eval.obj,profile.obj PGAWKOBJ = eval_p.obj,profile_p.obj +DGAWKOBJ = eval_d.obj,profile.obj,command.obj,debug.obj AWKOBJ1 = array.obj,awkgram.obj,builtin.obj,dfa.obj,ext.obj,\ field.obj,floatcomp.obj,gawkmisc.obj,getopt.obj,getopt1.obj,io.obj AWKOBJ2 = main.obj,msg.obj,node.obj,random.obj,re.obj,\ @@ -113,6 +121,8 @@ AWKSRC = array.c,builtin.c,dfa.c,eval.c,eval_p.c,ext.c,field.c,\ msg.c,node.c,profile.c,profile_p.c,random.c,re.c,regcomp.c,\ regex.c,regex_internal.c,regexec.c,replace.c,version.c +DBGSRC = eval_d.c,debug.c,command.y,cmd.h + ALLSRC = $(AWKSRC),awkgram.y,awk.h,custom.h,dfa.h,getopt.h,\ gettext.h,mbsupport.h,protos.h,random.h @@ -131,7 +141,7 @@ REL=3.1 PATCHLVL=8 # generic target -all : gawk,pgawk +all : gawk,pgawk,dgawk $(NOOP) # dummy target to allow building "gawk" in addition to explicit "gawk.exe" @@ -139,14 +149,18 @@ gawk : gawk.exe $(ECHO) " GAWK " pgawk : pgawk.exe $(ECHO) " PGAWK " +dgawk : dgawk.exe + $(ECHO) " DGAWK " # rules to build gawk gawk.exe : $(GAWKOBJ) $(AWKOBJS) $(VMSOBJS) gawk.opt $(LINK) $(LINKFLAGS) gawk.opt/options -# rules to build pgawk +# rules to build pgawk and dgawk pgawk.exe : $(PGAWKOBJ) $(AWKOBJS) $(VMSOBJS) pgawk.opt $(LINK) $(LINKFLAGS) pgawk.opt/options +dgawk.exe : $(DGAWKOBJ) $(AWKOBJS) $(VMSOBJS) dgawk.opt + $(LINK) $(LINKFLAGS) dgawk.opt/options gawk.opt : $(MAKEFILE) # create linker options file open/write opt gawk.opt ! ~ 'cat <<close >gawk.opt' @@ -176,6 +190,20 @@ pgawk.opt : $(MAKEFILE) # create linker options file write opt "identification=""V$(REL).$(PATCHLVL)""" close opt +dgawk.opt : $(MAKEFILE) # create linker options file + open/write opt dgawk.opt + write opt "! DGAWK -- GNU awk w/ debugging" + @ write opt "$(DGAWKOBJ)" + @ write opt "$(AWKOBJ1)" + @ write opt "$(AWKOBJ2)" + @ write opt "$(VMSOBJS)" + @ write opt "psect_attr=environ,noshr !extern [noshare] char **" + @ write opt "stack=48 !preallocate more pages (default is 20)" + @ write opt "iosegment=128 !ditto (default is 32)" + write opt "$(LIBS)" + write opt "identification=""V$(REL).$(PATCHLVL)""" + close opt + vms_misc.obj : $(VMSDIR)vms_misc.c vms_popen.obj : $(VMSDIR)vms_popen.c vms_fwrite.obj : $(VMSDIR)vms_fwrite.c @@ -190,22 +218,33 @@ $(AWKOBJS) : awk.h gettext.h mbsupport.h regex.h dfa.h \ config.h $(VMSDIR)redirect.h $(GAWKOBJ) : awk.h config.h $(VMSDIR)redirect.h $(PGAWKOBJ) : awk.h config.h $(VMSDIR)redirect.h +$(DGAWKOBJ) : awk.h config.h $(VMSDIR)redirect.h random.obj : random.h builtin.obj : floatmagic.h random.h awkgram.obj : awkgram.c awk.h dfa.obj : dfa.c dfa.h regex.obj : regex.c regcomp.c regex_internal.c regexec.c regex.h regex_internal.h +command.obj,debug.obj : cmd.h # bison or yacc required awkgram.c : awkgram.y # foo.y :: yacc => y[_]tab.c, bison => foo_tab.c @- if f$search("ytab.c") .nes."" then delete ytab.c;* !POSIX yacc @- if f$search("y_tab.c") .nes."" then delete y_tab.c;* !DEC/Shell yacc - @- if f$search("awk_tab.c").nes."" then delete awk_tab.c;* !bison + @- if f$search("awkgram_tab.c").nes."" then delete awkgram_tab.c;* !bison + - $(PARSERINIT) + $(PARSER) $(YFLAGS) $< + @- if f$search("ytab.c") .nes."" then rename/new_vers ytab.c $@ + @- if f$search("y_tab.c") .nes."" then rename/new_vers y_tab.c $@ + @- if f$search("awkgram_tab.c").nes."" then rename/new_vers awkgram_tab.c $@ +command.c : command.y + @- if f$search("ytab.c") .nes."" then delete ytab.c;* + @- if f$search("y_tab.c") .nes."" then delete y_tab.c;* + @- if f$search("command_tab.c").nes."" then delete command_tab.c;* - $(PARSERINIT) $(PARSER) $(YFLAGS) $< @- if f$search("ytab.c") .nes."" then rename/new_vers ytab.c $@ @- if f$search("y_tab.c") .nes."" then rename/new_vers y_tab.c $@ - @- if f$search("awk_tab.c").nes."" then rename/new_vers awk_tab.c $@ + @- if f$search("command_tab.c").nes."" then rename/new_vers command_tab.c $@ config.h : $(VMSDIR)vms-conf.h copy $< $@ @@ -223,12 +262,13 @@ tidy : - if f$search("[.*]*.*;-1").nes."" then purge [.*] clean : - - delete *.obj;*,gawk.opt;*,pgawk.opt;* + - delete *.obj;*,gawk.opt;*,pgawk.opt;*,dgawk.opt;* spotless : clean tidy - if f$search("config.h").nes."" then rename config.h config.h-old/New - if f$search("gawk.exe").nes."" then delete gawk.exe;* - if f$search("pgawk.exe").nes."" then delete pgawk.exe;* + - if f$search("dgawk.exe").nes."" then delete dgawk.exe;* - if f$search("gawk.dvi").nes."" then delete gawk.dvi;* - if f$search("[.doc]texindex.exe").nes."" then delete [.doc]texindex.exe;* |