 +
 +rule cc
 +  description = CC $out
-+  command = $cc $cflags $cflags_cc $defines $includes -c @in -o $out
++  command = $cc $cflags $cflags_cc $defines $includes -c $in -o $out
 +
 +rule cxx
 +  description = CXX $out
-+  command = $cxx $cflags $cflags_cxx $defines $includes -c @in -o $out
++  command = $cxx $cflags $cflags_cxx $defines $includes -c $in -o $out
 +
 +rule alink
 +  description = AR $out
-+  command = rm -f $out && ar rcs $out @in
++  command = rm -f $out && ar rcs $out $in
 +
 +rule solink
 +  description = LINK $out

+      return path
+    return os.path.normpath(os.path.join(self.base_dir, path))
+
+  def WriteSpec(self, spec, config):
+    if spec['type'] == 'settings':
+      return
+
+    # Compute predepends for all rules.
+    prebuild_deps = []

+rule link
+  description = LINK $out
+  command = g++ $ldflags -o $out \\
+            -Wl,--start-group $in -Wl,--end-group $libs
+
+rule stamp
+  description = STAMP $out
