# This is a build file for libbu++ default action: check group "lnhdrs", check "libbu++.a" "tests" action: check group "lnhdrs", check group "tests" "all" action: check group "lnhdrs", check targets() set "CXXFLAGS" += "-ggdb -Wall" #set "CXXFLAGS" += "-O2 -Wall" set "CXXFLAGS" += "-pg" set "LDFLAGS" += "-pg" filesIn("src") filter regexp("^src/(.*)\\.h$", "src/bu/{re:1}.h"): rule "hln", group "lnhdrs", target file, input "src/{re:1}.h" "libbu++.a": rule "lib", target file, set "CXXFLAGS" += "-Isrc -fPIC", input filesIn("src") filter regexp("^.*\\.cpp$") directoriesIn("src/tests","tests/"): rule "exe", target file, group "tests", requires "libbu++.a", set "CXXFLAGS" += "-Isrc", set "LDFLAGS" += "-L. -lbu++", input filesIn("{fulldir}") filter regexp("^.*\\.cpp$") filesIn("src/tests") filter regexp("^src/tests/(.*)\\.cpp$", "tests/{re:1}"): rule "exe", target file, group "tests", requires "libbu++.a", set "CXXFLAGS" += "-Isrc", set "LDFLAGS" += "-L. -lbu++", input "src/{target}.cpp" ["tests/itoqueue1", "tests/itoqueue2", "tests/socketblock", "tests/itoserver"]: set "LDFLAGS" += "-lpthread" filesIn("src/unit") filter regexp("^src/unit/(.*)\\.cpp$", "unit/{re:1}"): rule "exe", target file, group "tests", requires "libbu++.a", set "CXXFLAGS" += "-Isrc", set "LDFLAGS" += "-L. -lbu++", input "src/{target}.cpp" "tests/plugin": set "LDFLAGS" += "-ldl" "tests/bzip2": set "LDFLAGS" += "-lbz2" rule "exe": matches regexp("(.*)\\.o$"), aggregate toString(" "), perform command("g++ -o {target} {match} {LDFLAGS}") rule "lib": matches regexp("(.*)\\.o$"), aggregate toString(" "), perform command("ar cr {target} {match}") rule "cpp": matches regexp("(.*)\\.cpp$"), produces "{re:1}.o", requires commandToList("g++ -M {CXXFLAGS} {match}", "make"), perform command("g++ {CXXFLAGS} -c -o {target} {match}") rule "hln": matches regexp("src/(.*)\\.h"), produces "src/bu/{re:1}.h", perform command("ln -s ../{re:1}.h {target}")