25 lines
524 B
Ruby
25 lines
524 B
Ruby
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
|