rule cc
  command = $cc -MMD -MF $out.d $defines $includes $cflags $cflags_c -c $in -o $out
  description = CC $out
  depfile = $out.d
  deps = gcc

rule cxx
  command = $cxx -MMD -MF $out.d $defines $includes $cflags $cflags_cc -c $in -o $out
  description = CXX $out
  depfile = $out.d
  deps = gcc

rule alink_thin
  command = rm -f $out && $ar rcsT $out $in
  description = AR $out

rule link
  command = $ld $ldflags -o $out $in $libs $solibs
  description = LINK $out