# Build library and binaries
env.Library("libtide.a", glob("src/lib/**/*.c"))
- glob("src/*.c").each do |src|
- bin = File.basename(src).sub(/\.[^\.]$/,'')
- env.Program("bin/#{bin}", [src, "libtide.a"])
- end
(glob("src/*/") - ["src/lib"]).each do |dir|
bin = File.basename(dir)
env.Program("bin/#{bin}", glob("#{dir}/**/*.c") + ["libtide.a"])
end
-
# Generate the documentation
env.Command("", "tools/docgen",
"CMD" => ["${_SOURCES}"],
"CMD_DESC" => "Generating Docs")
# Build and run unit tests
- env.Program("tests/libedit", %w[tests/libedit.c tests/lib/buf.c tests/lib/utf8.c libtide.a])
+ tests = glob("tests/**/*.c") - ["tests/lib/win.c"]
+ srcs = glob("src/**/*.c").keep_if{|path| not path.end_with? "main.c" }
+ env.Library("libtest.a", tests + srcs)
+ env.Program("tests/libedit", ["libtest.a", "libtide.a"])
env.Command("", "tests/libedit",
"CMD" => ["${_SOURCES}"],
"CMD_DESC" => "TEST")