+ LOOP
+ rang := CREATE_RANGE (END_OF(found_range),END_OF(file));
+ match_pos := SEARCH_QUIETLY('NN', FORWARD, EXACT, rang);
+ EXITIF match_pos = 0;
+ POSITION(BEGINNING_OF(match_pos));
+ ERASE(match_pos);
+ COPY_TEXT('64');
+ ENDLOOP;
+ WRITE_FILE(file, GET_INFO(COMMAND_LINE, "output_file"));
+ QUIT
+$ EOD
+$ write sys$output "Generate elf64-target.h from elfxx-target.h"
+$ edit/tpu/nojournal/nosection/nodisplay/command=substxx.tpu -
+ []elfXX-target.h /output=[]elf64-target.h
+$ del substxx.tpu;*
+$ endif
+$ append sys$input build.com
+$DECK
+$ DEFS=DEFS + ",""unlink=remove"",""DEBUGDIR=""""GNU$DEBUGDIR:"""""""
+$ OPT="/noopt/debug"
+$ CFLAGS="/name=(as_is,shortened)" + -
+ "/include=([],""../"",""../include"")" + -
+ "/define=(" + DEFS + ")" + OPT
+$ FILES=FILES + "archive,archive64,archures,bfd,bfdio,binary,cache,coffgen,"+-
+ "compress,corefile,dwarf2,elf,format,hash,ihex,init,libbfd,linker,"+-
+ "opncls,reloc,section,simple,srec,stab-syms,syms,targets,tekhex,verilog"
+$ write sys$output "CFLAGS=",CFLAGS
+$ cflags_libbfd="/warning=(disable=missingreturn)"
+$ cflags_nil=""
+$ NUM = 0
+$ OBJS=""
+$ LOOP:
+$ F = F$ELEMENT(NUM,",",FILES)
+$ IF F.EQS."," THEN GOTO END
+$ eflags_name="cflags_''f'"
+$ name_len=f$length(eflags_name)
+$ dash_pos=f$locate("-",eflags_name)
+$ if dash_pos.ne.name_len
+$ then
+$ eflags_name['dash_pos,1]:="_"
+$ dash_pos=f$locate("-",eflags_name)
+$ if dash_pos.ne.name_len then eflags_name['dash_pos,1]:="_"
+$ endif
+$ if f$type('eflags_name).eqs."" then eflags_name="cflags_nil"
+$ eflags='eflags_name
+$ write sys$output "Compiling ", F, ".c", eflags
+$ cc 'CFLAGS 'eflags 'F.c
+$ IF OBJS.NES."" THEN OBJS=OBJS + ","
+$ OBJS=OBJS + F + ".obj"
+$ NUM = NUM + 1
+$ GOTO LOOP
+$ END:
+$ purge
+$ lib/create libbfd 'OBJS
+$EOD