#build config for congo icm default action: check targets() "clean" action: clean targets() set "CXXFLAGS" += "-ggdb -fPIC" "libneonmime.a": rule "lib", target file, input [filesIn("src")] filter regexp(".*\\.cpp$") set "CXXFLAGS" += "-Isrc" set "LDFLAGS" += "-L. -lneonmime" directoriesIn("src/tests", "test"): rule "exe", target file, requires "libneonmime.a", input [filesIn("{fulldir}")] filter regexp(".*\\.cpp$") #----------------------------- rule "lib": matches regexp("(.*)\\.o$"), aggregate toString(" "), perform command("ar cr {target} {match}") rule "so": matches regexp("(.*)\\.o$"), aggregate toString(" "), perform command("g++ {match} {LDFLAGS} {BUFLAGS} -rdynamic -Wl,-soname,{target} -shared -o {target}") rule "exe": matches regexp("(.*)\\.o$"), aggregate toString(" "), perform command("g++ -o {target} {match} {LDFLAGS} {BUFLAGS}") 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 "nango": matches regexp("(.*)/(.*)\\.nan"), produces "{re:1}/{re:2}.nob", perform command("cd {re:1}; ../nangoc {re:2}.nan; cd ..")