bdberl/Rakefile

40 lines
863 B
Ruby
Raw Normal View History

2008-12-06 06:20:26 +00:00
load "base.rake"
C_SRCS = FileList["c_src/*.c"]
C_OBJS = C_SRCS.pathmap("%X.o")
2008-12-06 06:20:26 +00:00
CLEAN.include %w( c_src/*.o priv/*.so )
CLOBBER.include %w( c_src/system )
directory 'c_src'
DB_LIB = "c_src/system/lib/libdb.a"
2008-12-06 06:52:51 +00:00
DRIVER = "priv/bdberl_drv.so"
2008-12-06 06:20:26 +00:00
file DB_LIB do
sh "cd c_src && ./buildlib.sh 2>&1"
end
file DRIVER => [:compile_c] do
2008-12-06 06:52:51 +00:00
puts "linking priv/#{DRIVER}..."
sh "gcc -g #{erts_link_cflags()} c_src/*.o c_src/system/lib/libdb-*.a -o #{DRIVER}", :verbose => false
2008-12-06 06:52:51 +00:00
end
rule ".o" => ["%X.c", "%X.h"] do |t|
2008-12-06 06:20:26 +00:00
puts "compiling #{t.source}..."
sh "gcc -g -c -Wall -Werror -fPIC #{dflag} -Ic_src/system/include -I#{erts_dir()}/include #{t.source} -o #{t.name}", :verbose => false
end
def dflag()
ENV["release"] ? "" : "-DDEBUG"
2008-12-06 06:20:26 +00:00
end
2008-12-06 06:52:51 +00:00
task :compile_c => ['c_src'] + C_OBJS
2008-12-06 06:20:26 +00:00
task :compile => [DB_LIB, DRIVER]
task :test do
run_tests "test", "+A10"
end
2008-12-06 06:20:26 +00:00