cc = cc
cxx = c++
ld = $cc
ldxx = $cxx
ar = ar

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 -Wl,--start-group $in $solibs -Wl,--end-group $libs
  description = LINK $out