rule("markdown") set_extensions(".md", ".markdown") add_orders("man", "markdown") before_build(function (target) print("before_build: markdown") end) after_build(function (target) print("after_build: markdown") end) before_build_file(function (target, sourcefile) print("before_build_file: %s", sourcefile) end) on_build_file(function (target, sourcefile) print("on_build_file: %s", sourcefile) end) after_build_file(function (target, sourcefile) print("after_build_file: %s", sourcefile) end) rule("man") set_extensions(".man") before_build(function (target) print("before_build: man") end) after_build(function (target) print("after_build: man") end) before_build_file(function (target, sourcefile) print("before_build_file: %s", sourcefile) end) on_build_file(function (target, sourcefile) print("on_build_file: %s", sourcefile) end) after_build_file(function (target, sourcefile) print("after_build_file: %s", sourcefile) end) target("test") set_kind("binary") add_rules("markdown", "man") add_files("src/*.c") add_files("src/*.md") add_files("src/*.man") before_build_file(function (target, sourcefile) print("target.before_build_file: %s", sourcefile) end) --[[ on_build_file(function (target, sourcefile) print("target.on_build_file: %s", sourcefile) end)]] after_build_file(function (target, sourcefile) print("target.after_build_file: %s", sourcefile) end)