+$ write sys$output "Generate binutils build.com"
+$!
+$ create build.com
+$DECK
+$ DEFS=""
+$ OPT="/noopt/debug"
+$ CFLAGS=OPT + "/include=([],""../include"",[-.bfd])" +-
+ "/name=(as_is,shortened)" +-
+ "/prefix=(all,exc=(""getopt"",""optarg"",""optopt"",""optind"",""opterr""))"
+$ BFDLIB = ",[-.bfd]libbfd.olb/lib"
+$ LIBIBERTY = ",[-.libiberty]libiberty.olb/lib"
+$ OPCODES = ",[-.opcodes]libopcodes.olb/lib"
+$ DEBUG_FILES = ",rddbg,debug,stabs,ieee,rdcoff,dwarf"
+$ BULIBS_FILES = ",bucomm,version,filemode"
+$ ALL_FILES="nm,strings,addr2line,size,objdump,prdbg" +-
+ BULIBS_FILES + DEBUG_FILES
+$!
+$ write sys$output "CFLAGS=",CFLAGS
+$ if p1.nes."LINK"
+$ then
+$ NUM = 0
+$ LOOP:
+$ F = F$ELEMENT(NUM,",",ALL_FILES)
+$ IF F.EQS."," THEN GOTO END
+$ write sys$output "Compiling ", F, ".c"
+$ cc 'CFLAGS 'F.c
+$ NUM = NUM + 1
+$ GOTO LOOP
+$ END:
+$ endif
+$ purge
+$!
+$ write sys$output "Building nm.exe"
+$ NM_OBJS="nm.obj" + BULIBS_FILES + BFDLIB + LIBIBERTY
+$ link/exe=nm 'NM_OBJS
+$!
+$ write sys$output "Building strings.exe"
+$ STRINGS_OBJS="strings.obj" + BULIBS_FILES + BFDLIB + LIBIBERTY
+$ link/exe=strings 'STRINGS_OBJS
+$!
+$ write sys$output "Building size.exe"
+$ SIZE_OBJS="size.obj" + BULIBS_FILES + BFDLIB + LIBIBERTY
+$ link/exe=size 'SIZE_OBJS
+$!
+$ write sys$output "Building addr2line.exe"
+$ ADDR2LINE_OBJS="addr2line.obj" + BULIBS_FILES + BFDLIB + LIBIBERTY
+$ link/exe=addr2line 'ADDR2LINE_OBJS
+$!
+$ write sys$output "Building objdump.exe"
+$ OBJDUMP_OBJS="objdump.obj,prdbg.obj" + DEBUG_FILES + BULIBS_FILES +-
+ BFDLIB + OPCODES + LIBIBERTY
+$ link/exe=objdump 'OBJDUMP_OBJS
+$EOD