module Rscons class Program < Builder VARIABLE_DEFAULTS = { 'LD' => nil, 'OBJSUFFIX' => '.o', 'LIBSUFFIX' => '.a', 'LDFLAGS' => [], 'LIBPATHS' => [], 'LIBS' => [], } def run(env, target, sources) command = [ env['LD'] || env['CC'], '-o', target, *env['LDFLAGS'], *sources, *env['LIBPATHS'].map {|lp| "-L#{lp}"}, *env['LIBS'].map {|lib| "-l#{lib}"} ] env.execute("LINK #{target}", command) end end end