diff options
| author | Fuwn <[email protected]> | 2022-07-03 19:53:13 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2022-07-03 19:53:13 -0700 |
| commit | f531ea85c12d25a7e23bcd34604d9ca6e2935fb2 (patch) | |
| tree | 0b9fd786ef87ba796d4da4dbe2f37d1150eabf64 | |
| parent | chore(ninja): rename src_dir (diff) | |
| download | cait-f531ea85c12d25a7e23bcd34604d9ca6e2935fb2.tar.xz cait-f531ea85c12d25a7e23bcd34604d9ca6e2935fb2.zip | |
chore(ninja): emit clang dependency info
| -rw-r--r-- | build.ninja | 61 |
1 files changed, 32 insertions, 29 deletions
diff --git a/build.ninja b/build.ninja index c9efa7e..6ff55a5 100644 --- a/build.ninja +++ b/build.ninja @@ -1,14 +1,17 @@ -cc = clang++ -name = cait -src_dir = $name -cxxflags = -I$src_dir -O3 -std=c++20 -Weverything -Wno-c++98-compat -out_dir = out -out_ext = .exe -obj_ext = .o -cc_ext = .cc +cc = clang++ +name = cait +src_dir = $name +cxx_warnings = -Weverything -Wno-c++98-compat +cxx_flags = -I$src_dir -O3 -std=c++20 $cxx_warnings -MD +out_dir = out +out_ext = .exe +obj_ext = .o +cc_ext = .cc rule cc - command = $cc $cxxflags -c $in -o $out + command = $cc $cxx_flags -MF $out.d -c $in -o $out + depfile = $out.d + deps = gcc rule clang_format command = clang-format -i -style=LLVM $src_dir/*$cc_ext $src_dir/*.hh rule clang_tidy @@ -16,25 +19,25 @@ rule clang_tidy rule link command = $cc $in -o $out -build $out_dir/$name$obj_ext: cc $src_dir/$name$cc_ext -build $out_dir/cli$obj_ext: cc $src_dir/cli$cc_ext -build $out_dir/context$obj_ext: cc $src_dir/context$cc_ext -build $out_dir/help$obj_ext: cc $src_dir/help$cc_ext -build $out_dir/lexer$obj_ext: cc $src_dir/lexer$cc_ext -build $out_dir/node$obj_ext: cc $src_dir/node$cc_ext -build $out_dir/parser$obj_ext: cc $src_dir/parser$cc_ext -build $out_dir/token$obj_ext: cc $src_dir/token$cc_ext -build $out_dir/$name$out_ext: link $out_dir/$name$obj_ext $ - $out_dir/cli$obj_ext $ - $out_dir/context$obj_ext $ - $out_dir/help$obj_ext $ - $out_dir/lexer$obj_ext $ - $out_dir/node$obj_ext $ - $out_dir/parser$obj_ext $ - $out_dir/token$obj_ext -build _format: clang_format -build format: phony _format -build _tidy: clang_tidy -build tidy: phony _tidy +build $out_dir/$name$obj_ext: cc $src_dir/$name$cc_ext +build $out_dir/cli$obj_ext: cc $src_dir/cli$cc_ext +build $out_dir/context$obj_ext: cc $src_dir/context$cc_ext +build $out_dir/help$obj_ext: cc $src_dir/help$cc_ext +build $out_dir/lexer$obj_ext: cc $src_dir/lexer$cc_ext +build $out_dir/node$obj_ext: cc $src_dir/node$cc_ext +build $out_dir/parser$obj_ext: cc $src_dir/parser$cc_ext +build $out_dir/token$obj_ext: cc $src_dir/token$cc_ext +build $out_dir/$name$out_ext: link $out_dir/$name$obj_ext $ + $out_dir/cli$obj_ext $ + $out_dir/context$obj_ext $ + $out_dir/help$obj_ext $ + $out_dir/lexer$obj_ext $ + $out_dir/node$obj_ext $ + $out_dir/parser$obj_ext $ + $out_dir/token$obj_ext +build _format: clang_format +build format: phony _format +build _tidy: clang_tidy +build tidy: phony _tidy default format $out_dir/$name$out_ext |