rendered paste body#!/usr/bin/tclshset dmd dmdset ld gccset libs "-llua -lm -lphobos -lpthread -ldl"set target sigsegvset dmdflags "-O -g"if {[catch {proc do {args} { puts [join $args] uplevel #0 "eval exec -- [join $args]"}switch -- [lindex $argv 0] { "clean" {# bad option "ff": must be atime, attributes, channels, copy, delete,# dirname, executable, exists, extension, isdirectory, isfile, join, link,# lstat, mtime, mkdir, nativename, normalize, owned, pathtype, readable,# readlink, rename, rootname, separator, size, split, stat, system, tail,# type, volumes, or writable foreach objfile [glob -- *.o irclib/*.o dlua/*.o $target] { do rm $objfile } } "default" { set obj "" set obj2 "" foreach srcfile [glob -- *.d irclib/*.d dlua/*.d] { set objfile [string range $srcfile 0 end-2].o if {(![file exists $objfile]) || ([file mtime $srcfile] > [file mtime $objfile])} { do $dmd -c $srcfile -of$objfile $dmdflags append obj "$objfile " } else { append obj2 "$objfile " } } if {$obj != ""} { set obj [string range $obj 0 end-1] do $ld $obj $obj2 -o $target $libs } else { puts "up to date" } }}} error]} { puts "$error" exit 1}