diff --git a/script/build/build_rule_gen.py b/script/build/build_rule_gen.py
index c8f6b6e..695f994 100755
--- a/script/build/build_rule_gen.py
+++ b/script/build/build_rule_gen.py
@@ -53,11 +53,11 @@
         Args:
             test_config_dir: string, directory storing the configurations.
         """
+        hal_list = self._vts_spec_parser.HalNamesAndVersions()
+        gen_file_paths = self.UpdateHalDirBuildRule(hal_list, test_config_dir)
         utils.RemoveFilesInDirIf(
             os.path.join(self._ANDROID_BUILD_TOP, test_config_dir),
-            lambda x: self._IsAutoGenerated(x))
-        hal_list = self._vts_spec_parser.HalNamesAndVersions()
-        self.UpdateHalDirBuildRule(hal_list, test_config_dir)
+            lambda x: self._IsAutoGenerated(x) and (x not in gen_file_paths))
 
     def UpdateHalDirBuildRule(self, hal_list, test_config_dir):
         """Updates build rules for vts drivers/profilers.
@@ -69,7 +69,12 @@
             hal_list: list of tuple of strings. For example,
                 [('vibrator', '1.3'), ('sensors', '1.7')]
             test_config_dir: string, directory storing the configurations.
+
+        Returns:
+            a list of strings where each string contains the path of a checked
+            or updated build file.
         """
+        file_paths = []
         for target in hal_list:
             hal_name = target[0]
             hal_version = target[1]
@@ -81,6 +86,8 @@
             file_path = os.path.join(hal_dir, 'build', 'Android.bp')
             utils.WriteBuildRule(file_path, self._VtsBuildRuleFromTemplate(
                 self._VTS_BUILD_TEMPLATE, hal_name, hal_version))
+            file_paths.append(file_path)
+        return file_paths
 
     def _VtsBuildRuleFromTemplate(self, template_path, hal_name, hal_version):
         """Returns build rules in string form by filling out a template.
diff --git a/script/build/build_rule_gen_utils.py b/script/build/build_rule_gen_utils.py
index 29462e9..1565eec 100644
--- a/script/build/build_rule_gen_utils.py
+++ b/script/build/build_rule_gen_utils.py
@@ -36,15 +36,29 @@
     Args:
       file_path: string, path to file to which to write.
       build_rule: string, build rule to be written into file.
-    """
-    print 'Updating %s' % file_path
-    dir_path = os.path.dirname(file_path)
 
+    Returns:
+      True if updated, False otherwise
+    """
+    exist = True
+    dir_path = os.path.dirname(file_path)
     if not os.path.exists(dir_path):
         os.makedirs(dir_path)
+        exist = False
+    elif not os.path.isfile(file_path):
+        exist = False
 
+    if exist:
+        with open(file_path, 'r') as existing_file:
+            existing_content = "".join(existing_file.readlines())
+        if build_rule == existing_content:
+            print 'Skipping %s' % file_path
+            return False
+
+    print 'Updating %s' % file_path
     with open(file_path, 'w') as bp_file:
         bp_file.write(build_rule)
+    return True
 
 
 def OnlySubdirsBpRule(warning_header, subdirs):
@@ -64,6 +78,7 @@
     result += ']\n'
     return result
 
+
 def RemoveFilesInDirIf(dir_path, condition):
     """Removes all files under directory under given condition.
 
@@ -76,4 +91,5 @@
         for f in files:
             abs_path = os.path.join(base, f)
             if condition(abs_path):
+                print "Removing", abs_path
                 os.remove(abs_path)
