Home | History | Annotate | Download | only in build
      1 # Copyright (C) 2007 The Android Open Source Project
      2 #
      3 # Licensed under the Apache License, Version 2.0 (the "License");
      4 # you may not use this file except in compliance with the License.
      5 # You may obtain a copy of the License at
      6 #
      7 #      http://www.apache.org/licenses/LICENSE-2.0
      8 #
      9 # Unless required by applicable law or agreed to in writing, software
     10 # distributed under the License is distributed on an "AS IS" BASIS,
     11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     12 # See the License for the specific language governing permissions and
     13 # limitations under the License.
     14 #
     15 
     16 # If you don't need to do a full clean build but would like to touch
     17 # a file or delete some intermediate files, add a clean step to the end
     18 # of the list.  These steps will only be run once, if they haven't been
     19 # run before.
     20 #
     21 # E.g.:
     22 #     $(call add-clean-step, touch -c external/sqlite/sqlite3.h)
     23 #     $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates)
     24 #
     25 # Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with
     26 # files that are missing or have been moved.
     27 #
     28 # Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory.
     29 # Use $(OUT_DIR) to refer to the "out" directory.
     30 #
     31 # If you need to re-do something that's already mentioned, just copy
     32 # the command and add it to the bottom of the list.  E.g., if a change
     33 # that you made last week required touching a file and a change you
     34 # made today requires touching the same file, just copy the old
     35 # touch step and add it to the end of the list.
     36 #
     37 # ************************************************
     38 # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
     39 # ************************************************
     40 
     41 # For example:
     42 #$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates)
     43 #$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates)
     44 #$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f)
     45 #$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*)
     46 
     47 $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS)
     48 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS)
     49 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system)
     50 
     51 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libmediaplayerservice_intermediates)
     52 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libmedia_jni_intermediates)
     53 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libstagefright_omx_intermediates)
     54 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
     55 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/default.prop)
     56 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/default.prop)
     57 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/vendor)
     58 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/android-info.txt)
     59 $(call add-clean-step, find $(PRODUCT_OUT) -name "*.apk" | xargs rm)
     60 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
     61 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
     62 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/app/*)
     63 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
     64 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
     65 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
     66 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/*/LINKED)
     67 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
     68 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
     69 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
     70 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
     71 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
     72 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
     73 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
     74 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/lib/*.so)
     75 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib/*.so)
     76 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/symbols/system/lib/*.so)
     77 $(call add-clean-step, rm -rf $(HOST_OUT_EXECUTABLES)/iself)
     78 $(call add-clean-step, rm -rf $(HOST_OUT_EXECUTABLES)/lsd)
     79 $(call add-clean-step, rm -rf $(HOST_OUT_EXECUTABLES)/apriori)
     80 $(call add-clean-step, rm -rf $(HOST_OUT_EXECUTABLES)/isprelinked)
     81 $(call add-clean-step, rm -rf $(HOST_OUT_EXECUTABLES)/soslim)
     82 
     83 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/lib/*.so)
     84 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib/*.so)
     85 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/symbols/system/lib/*.so)
     86 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
     87 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
     88 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
     89 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/YouTube*)
     90 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
     91 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
     92 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
     93 
     94 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libstagefright_intermediates)
     95 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libstagefright_omx_intermediates)
     96 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/librtp_jni_intermediates)
     97 
     98 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/android-info.txt)
     99 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
    100 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
    101 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/app/*)
    102 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    103 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/JAVA_LIBRARIES/*)
    104 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/framework/*)
    105 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    106 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
    107 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
    108 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    109 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libbcinfo_intermediates)
    110 
    111 # ICS MR2!!!!!!!!!!!!
    112 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
    113 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
    114 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    115 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libbcinfo_intermediates)
    116 
    117 # WAIT, I MEAN JELLY BEAN!!!!!!!!!!!!
    118 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
    119 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
    120 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    121 
    122 # Changing where ro.carrier value is instantiated for system/build.prop
    123 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    124 
    125 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
    126 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
    127 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/app/*)
    128 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    129 
    130 # Now we switched to build against Mac OS X SDK 10.6
    131 $(call add-clean-step, rm -rf $(OUT_DIR)/host/darwin-x86/obj)
    132 
    133 $(call add-clean-step, rm -f $(OUT_DIR)/versions_checked.mk)
    134 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
    135 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
    136 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    137 
    138 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES)
    139 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES)
    140 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/EXECUTABLES)
    141 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/lib/*.o)
    142 
    143 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES)
    144 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES)
    145 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/EXECUTABLES)
    146 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/lib/*.o)
    147 
    148 # JB MR2!!!!!!!  AND *NO*, THIS WILL NOT BE K-WHATEVER.
    149 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    150 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
    151 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
    152 
    153 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    154 
    155 # Start of "K" development!
    156 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    157 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
    158 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
    159 
    160 # GCC 4.7
    161 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES)
    162 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES)
    163 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/EXECUTABLES)
    164 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/lib/*.o)
    165 
    166 # Wait, back to some JB development!
    167 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    168 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
    169 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
    170 
    171 # And on to KLP...
    172 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    173 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
    174 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
    175 
    176 # KLP now based off API 18.
    177 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    178 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
    179 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
    180 
    181 # Clean up around the /system/app -> /system/priv-app migration
    182 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
    183 
    184 # Clean up old location of generated Java files from aidl
    185 $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/framework_intermediates/src)
    186 
    187 # Clean up ApplicationsProvider which is being removed.
    188 $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/ApplicationsProvider_intermediates)
    189 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/priv-app/ApplicationsProvider.apk)
    190 
    191 # Clean up Moto OMA DM client which isn't ready yet.
    192 $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/com.android.omadm.plugin.dev_intermediates)
    193 $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/com.android.omadm.plugin.diagmon_intermediates)
    194 $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/com.android.omadm.pluginhelper_intermediates)
    195 $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/com.android.omadm.plugin_intermediates)
    196 $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/com.android.omadm.service.api_intermediates)
    197 $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/DMService_intermediates)
    198 $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/SprintDM_intermediates)
    199 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/priv-app/DMService.apk)
    200 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/SprintDM.apk)
    201 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/omadm)
    202 
    203 # GCC 4.8
    204 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES)
    205 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES)
    206 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/EXECUTABLES)
    207 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/lib/*.o)
    208 
    209 # KLP I mean KitKat now API 19.
    210 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    211 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
    212 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
    213 
    214 # 4.4.1
    215 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    216 
    217 # 4.4.2
    218 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    219 
    220 # "L" and beyond.
    221 # Make libart the default runtime
    222 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    223 
    224 # Rename persist.sys.dalvik.vm.lib to allow new default
    225 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    226 
    227 # KKWT development
    228 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    229 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
    230 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
    231 
    232 # L development
    233 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    234 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
    235 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
    236 
    237 # L development
    238 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    239 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
    240 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
    241 
    242 # Add ro.product.cpu.abilist{32,64} to build.prop.
    243 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    244 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    245 
    246 # Unset TARGET_PREFER_32_BIT_APPS for 64 bit targets.
    247 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    248 
    249 # Adding dalvik.vm.dex2oat-flags to eng builds
    250 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    251 
    252 # Unset TARGET_PREFER_32_BIT_APPS for 64 bit targets.
    253 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    254 
    255 # Switching the x86 emulator over to a 64 bit primary zygote.
    256 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    257 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/default.prop)
    258 
    259 # Rename persist.sys.dalvik.vm.lib.1 to allow new default
    260 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    261 
    262 # Switching PRODUCT_RUNTIMES default for some devices
    263 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    264 
    265 # Switching to 32-bit-by-default host multilib build
    266 $(call add-clean-step, rm -rf $(HOST_OUT_INTERMEDIATES))
    267 
    268 # KKWT has become API 20
    269 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    270 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
    271 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
    272 
    273 # ims-common.jar added to BOOTCLASSPATH
    274 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/ETC/init.environ.rc_intermediates)
    275 
    276 # Change ro.zygote for core_64_bit.mk from zygote32_64 to zygote64_32
    277 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/default.prop)
    278 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/default.prop)
    279 
    280 # Adding dalvik.vm.dex2oat-Xms, dalvik.vm.dex2oat-Xmx
    281 # dalvik.vm.image-dex2oat-Xms, and dalvik.vm.image-dex2oat-Xmx
    282 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/default.prop)
    283 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/default.prop)
    284 
    285 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system)
    286 
    287 # Switch host builds to Clang by default
    288 $(call add-clean-step, rm -rf $(OUT_DIR)/host)
    289 
    290 # Adding dalvik.vm.dex2oat-filter
    291 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    292 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/default.prop)
    293 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/default.prop)
    294 
    295 # API 21?
    296 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    297 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
    298 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
    299 
    300 # API 21!
    301 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    302 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
    303 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
    304 
    305 # API 22!
    306 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    307 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
    308 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
    309 
    310 # Move to libc++ as the default STL.
    311 $(call add-clean-step, rm -rf $(OUT_DIR))
    312 
    313 # dex2oat instruction-set changes
    314 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    315 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/default.prop)
    316 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/default.prop)
    317 
    318 # Make GNU++11 the default standard version. This requires a cleanspec because
    319 # char16_t/char32_t will be real types now instead of typedefs, which means
    320 # an ABI change since the names will mangle differently.
    321 $(call add-clean-step, rm -rf $(OUT_DIR))
    322 
    323 # 5.1!
    324 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    325 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
    326 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
    327 
    328 # Remove ro.product.locale.language/country and add ro.product.locale
    329 # instead.
    330 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    331 
    332 # On to MNC
    333 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    334 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
    335 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
    336 
    337 # Adding dalvik.vm.usejit
    338 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    339 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/default.prop)
    340 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/default.prop)
    341 
    342 # Rename dalvik.vm.usejit to debug.dalvik.vm.usejit
    343 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    344 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/default.prop)
    345 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/default.prop)
    346 
    347 # Revert rename dalvik.vm.usejit to debug.dalvik.vm.usejit
    348 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    349 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/default.prop)
    350 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/default.prop)
    351 
    352 # Change from interpret-only to verify-at-runtime.
    353 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    354 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/default.prop)
    355 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/default.prop)
    356 
    357 # New York, New York!
    358 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    359 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
    360 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
    361 
    362 # 23 is becoming alive!!!
    363 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    364 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
    365 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
    366 
    367 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    368 
    369 # Change PLATFORM_VERSION from NYC to N
    370 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop)
    371 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
    372 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*)
    373 
    374 # $(PRODUCT_OUT)/recovery/root/sdcard goes from symlink to folder.
    375 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/sdcard)
    376 
    377 # Add BOARD_USES_SYSTEM_OTHER_ODEX
    378 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
    379 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/priv-app/*)
    380 
    381 $(call add-clean-step, rm -rf $(TARGET_OUT_COMMON_INTERMEDIATES)/APPS/previous_overlays.txt)
    382 $(call add-clean-step, rm -rf $(TARGET_OUT_COMMON_INTERMEDIATES)/APPS/current_packages.txt)
    383 
    384 $(call add-clean-step, rm -rf $(HOST_OUT_INTERMEDIATES)/include)
    385 
    386 $(call add-clean-step, rm -rf $(HOST_OUT_COMMON_INTERMEDIATES)/APPS/*_intermediates/src)
    387 $(call add-clean-step, rm -rf $(HOST_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/*_intermediates/src)
    388 $(call add-clean-step, rm -rf $(TARGET_OUT_COMMON_INTERMEDIATES)/APPS/*_intermediates/src)
    389 $(call add-clean-step, rm -rf $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/*_intermediates/src)
    390 $(call add-clean-step, rm -rf $(TARGET_OUT_COMMON_INTERMEDIATES)/previous_gen_java_config.mk)
    391 $(call add-clean-step, rm -rf $(TARGET_OUT_COMMON_INTERMEDIATES)/current_gen_java_config.mk)
    392 
    393 $(call add-clean-step, rm -rf $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/*/package-res.apk)
    394 $(call add-clean-step, rm -rf $(TARGET_OUT_INTERMEDIATES)/APPS/*/package-res.apk)
    395 $(call add-clean-step, rm -rf $(TARGET_OUT_COMMON_INTERMEDIATES)/APPS/*_intermediates/src)
    396 $(call add-clean-step, rm -rf $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/*_intermediates/src)
    397 
    398 $(call add-clean-step, rm -rf $(HOST_OUT_TESTCASES))
    399 $(call add-clean-step, rm -rf $(TARGET_OUT_TESTCASES))
    400 
    401 $(call add-clean-step, rm -rf $(TARGET_OUT_ETC)/init)
    402 
    403 # Libraries are moved from {system|vendor}/lib to ./lib/framework, ./lib/vndk, etc.
    404 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*)
    405 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/lib*)
    406 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/vendor/lib*)
    407 
    408 # Revert that move
    409 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*)
    410 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/lib*)
    411 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/vendor/lib*)
    412 
    413 # Sanitized libraries now live in a different location.
    414 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/lib*)
    415 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/vendor/lib*)
    416 
    417 # Soong module variant change, remove obsolete intermediates
    418 $(call add-clean-step, rm -rf $(OUT_DIR)/soong/.intermediates)
    419 
    420 # Version checking moving to Soong
    421 $(call add-clean-step, rm -rf $(OUT_DIR)/versions_checked.mk)
    422 
    423 # Vendor tests were being installed into /vendor/bin accidentally
    424 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/vendor/nativetest*)
    425 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/nativetest*)
    426 
    427 # Jack is no longer the default compiler, remove the intermediates
    428 $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/*/*/classes*.jack)
    429 $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/*/*/jack*)
    430 
    431 # Move adbd from $(PRODUCT_OUT)/root/sbin to $(PRODUCT_OUT)/system/bin
    432 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/sbin/adbd)
    433 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/symbols/sbin/adbd)
    434 
    435 # Soong linux -> linux_glibc rename
    436 $(call add-clean-step, find $(SOONG_OUT_DIR)/.intermediates -name 'linux_x86*' | xargs rm -rf)
    437 $(call add-clean-step, find $(SOONG_OUT_DIR)/.intermediates -name 'linux_common*' | xargs rm -rf)
    438 
    439 # Remove old aidl/logtags files that may be in the generated source directory
    440 $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/*/*_intermediates/src)
    441 $(call add-clean-step, rm -f $(OUT_DIR)/target/common/obj/*/*_intermediates/java-source-list)
    442 $(call add-clean-step, rm -rf $(OUT_DIR)/host/common/obj/*/*_intermediates/src)
    443 $(call add-clean-step, rm -f $(OUT_DIR)/host/common/obj/*/*_intermediates/java-source-list)
    444 
    445 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*/flat-res)
    446 
    447 # Remove old VNDK directories without version
    448 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib/vndk)
    449 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib/vndk-sp)
    450 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib64/vndk)
    451 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib64/vndk-sp)
    452 
    453 # Remove old dex output directories
    454 $(call add-clean-step, rm -rf $(TARGET_OUT_COMMON_INTERMEDIATES)/*/*_intermediates/with-local/)
    455 $(call add-clean-step, rm -rf $(TARGET_OUT_COMMON_INTERMEDIATES)/*/*_intermediates/no-local/)
    456 $(call add-clean-step, rm -rf $(HOST_OUT_COMMON_INTERMEDIATES)/*/*_intermediates/with-local/)
    457 $(call add-clean-step, rm -rf $(HOST_OUT_COMMON_INTERMEDIATES)/*/*_intermediates/no-local/)
    458 
    459 # Remove legacy VINTF metadata files
    460 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/manifest.xml)
    461 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/vendor/manifest.xml)
    462 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/manifest.xml)
    463 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/vendor/compatibility_matrix.xml)
    464 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/compatibility_matrix.xml)
    465 
    466 # Remove DisplayCutoutEmulation overlays
    467 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/overlay/DisplayCutoutEmulationWide)
    468 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/overlay/DisplayCutoutEmulationNarrow)
    469 
    470 # Remove obsolete intermedates src files
    471 $(call add-clean-step, rm -rf $(TARGET_OUT_COMMON_INTERMEDIATES)/*/*_intermediates/src/RenderScript.stamp*)
    472 $(call add-clean-step, rm -rf $(TARGET_OUT_COMMON_INTERMEDIATES)/APPS/*_intermediates/src)
    473 $(call add-clean-step, rm -rf $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/*_intermediates/src)
    474 $(call add-clean-step, rm -rf $(TARGET_OUT_COMMON_INTERMEDIATES)/APPS/*_intermediates/java-source-list)
    475 $(call add-clean-step, rm -rf $(TARGET_OUT_COMMON_INTERMEDIATES)/JAVA_LIBRARIES/*_intermediates/java-source-list)
    476 $(call add-clean-step, rm -rf $(OUT_DOCS)/*-timestamp)
    477 
    478 $(call add-clean-step, rm -rf $(TARGET_COMMON_OUT_ROOT)/obj_asan/APPS/*_intermediates/src)
    479 $(call add-clean-step, rm -rf $(TARGET_COMMON_OUT_ROOT)/obj_asan/JAVA_LIBRARIES/*_intermediates/src)
    480 $(call add-clean-step, rm -rf $(TARGET_COMMON_OUT_ROOT)/obj_asan/APPS/*_intermediates/java-source-list)
    481 $(call add-clean-step, rm -rf $(TARGET_COMMON_OUT_ROOT)/obj_asan/JAVA_LIBRARIES/*_intermediates/java-source-list)
    482 
    483 # Remove stale init.noenforce.rc
    484 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/init/gsi/init.noenforce.rc)
    485 
    486 # Clean up Launcher3 which has been replaced with Launcher3QuickStep
    487 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/Launcher3)
    488 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/priv-app/Launcher3)
    489 $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/Launcher3_intermediates)
    490 
    491 # Remove old merged AndroidManifest.xml location
    492 $(call add-clean-step, rm -rf $(TARGET_OUT_COMMON_INTERMEDIATES)/APPS/*_intermediates/AndroidManifest.xml)
    493 
    494 $(call add-clean-step, find $(PRODUCT_OUT) -type f -name "vr_hwc*" -print0 | xargs -0 rm -f)
    495 
    496 $(call add-clean-step, rm -rf $(SOONG_OUT_DIR)/.intermediates/system/vold)
    497 
    498 # Remove product-services related files / images
    499 $(call add-clean-step, find $(PRODUCT_OUT) -type f -name "*product-services*" -print0 | xargs -0 rm -rf)
    500 $(call add-clean-step, find $(PRODUCT_OUT) -type d -name "*product-services*" -print0 | xargs -0 rm -rf)
    501 $(call add-clean-step, find $(PRODUCT_OUT) -type l -name "*product-services*" -print0 | xargs -0 rm -rf)
    502 
    503 # Remove obsolete recovery etc files
    504 $(call add-clean-step, rm -rf $(TARGET_RECOVERY_ROOT_OUT)/etc)
    505 
    506 # Remove *_OUT_INTERMEDIATE_LIBRARIES
    507 $(call add-clean-step, rm -rf $(addsuffix /lib,\
    508   $(HOST_OUT_INTERMEDIATES) $(2ND_HOST_OUT_INTERMEDIATES) \
    509   $(HOST_CROSS_OUT_INTERMEDIATES) $(2ND_HOST_CROSS_OUT_INTERMEDIATES) \
    510   $(TARGET_OUT_INTERMEDIATES) $(2ND_TARGET_OUT_INTERMEDIATES)))
    511 
    512 # Remove strip.sh intermediates to save space
    513 $(call add-clean-step, find $(OUT_DIR) \( -name "*.so.debug" -o -name "*.so.dynsyms" -o -name "*.so.funcsyms" -o -name "*.so.keep_symbols" -o -name "*.so.mini_debuginfo.xz" \) -print0 | xargs -0 rm -f)
    514 
    515 # Clean up old ninja files
    516 $(call add-clean-step, rm -f $(OUT_DIR)/build-*-dist*.ninja)
    517 
    518 $(call add-clean-step, rm -f $(HOST_OUT)/*ts/host-libprotobuf-java-*.jar)
    519 
    520 $(call add-clean-step, find $(OUT_DIR)/target/product/mainline_arm64/system -type f -name "*.*dex" -print0 | xargs -0 rm -f)
    521 
    522 # Clean up aidegen
    523 $(call add-clean-step, rm -f $(HOST_OUT)/bin/aidegen)
    524 
    525 # Remove perfprofd
    526 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/bin/perfprofd)
    527 
    528 # Remove incorrectly created directories in the source tree
    529 $(call add-clean-step, find system/app system/priv-app system/framework system_other -depth -type d -print0 | xargs -0 rmdir)
    530 $(call add-clean-step, rm -f .d)
    531 
    532 # Remove obsolete apps
    533 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*)
    534 
    535 # Remove corrupt generated rule due to using toybox's sed
    536 $(call add-clean-step, rm -rf $(SOONG_OUT_DIR)/.intermediates/system/core/init/generated_stub_builtin_function_map)
    537 
    538 # Clean up core JNI libraries moved to runtime apex
    539 $(call add-clean-step, rm -f $(PRODUCT_OUT)/system/lib*/libjavacore.so)
    540 $(call add-clean-step, rm -f $(PRODUCT_OUT)/system/lib*/libopenjdk.so)
    541 $(call add-clean-step, rm -f $(PRODUCT_OUT)/system/lib*/libexpat.so)
    542 
    543 # Merge product_services into product
    544 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/product_services)
    545 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/product_services)
    546 
    547 # Clean up old location of hiddenapi files
    548 $(call add-clean-step, rm -f $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/hiddenapi*)
    549 
    550 # Clean up previous default location of RROs
    551 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/overlay)
    552 
    553 # Remove ART artifacts installed only by modules `art-runtime` and
    554 # `art-tools` in /system on target.
    555 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/bin/dalvikvm)
    556 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/bin/dalvikvm32)
    557 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/bin/dalvikvm64)
    558 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/bin/dex2oat)
    559 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/bin/dex2oatd)
    560 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/bin/dexdiag)
    561 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/bin/dexdump)
    562 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/bin/dexlist)
    563 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/bin/dexoptanalyzer)
    564 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/bin/dexoptanalyzerd)
    565 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/bin/oatdump)
    566 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/bin/profman)
    567 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/bin/profmand)
    568 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libadbconnection.so)
    569 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libadbconnectiond.so)
    570 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libart-compiler.so)
    571 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libartd-compiler.so)
    572 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libart-dexlayout.so)
    573 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libartd-dexlayout.so)
    574 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libart-disassembler.so)
    575 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libart.so)
    576 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libartd.so)
    577 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libartbase.so)
    578 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libartbased.so)
    579 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libdexfile.so)
    580 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libdexfiled.so)
    581 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libdexfile_external.so)
    582 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libdexfile_support.so)
    583 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libdt_fd_forward.so)
    584 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libdt_socket.so)
    585 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libjdwp.so)
    586 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libnpt.so)
    587 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libopenjdkd.so)
    588 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libopenjdkjvm.so)
    589 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libopenjdkjvmd.so)
    590 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libopenjdkjvmti.so)
    591 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libopenjdkjvmtid.so)
    592 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libprofile.so)
    593 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libprofiled.so)
    594 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libtombstoned_client.so)
    595 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libvixl.so)
    596 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libvixld.so)
    597 
    598 # Clean up old location of dexpreopted boot jars
    599 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/dex_bootjars)
    600 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/dex_bootjars_input)
    601 
    602 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libnpt.so)
    603 
    604 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*)
    605 
    606 # Clean up old testcase files
    607 $(call add-clean-step, rm -rf $(TARGET_OUT_TESTCASES)/*)
    608 $(call add-clean-step, rm -rf $(HOST_OUT_TESTCASES)/*)
    609 $(call add-clean-step, rm -rf $(HOST_CROSS_OUT_TESTCASES)/*)
    610 $(call add-clean-step, rm -rf $(TARGET_OUT_DATA)/*)
    611 $(call add-clean-step, rm -rf $(HOST_OUT)/vts/*)
    612 $(call add-clean-step, rm -rf $(HOST_OUT)/framework/vts-tradefed.jar)
    613 
    614 # Clean up old location of system_other.avbpubkey
    615 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/security/avb/)
    616 
    617 # Clean up bufferhub files
    618 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/bin/hw/android.frameworks.bufferhub@1.0-service)
    619 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/init/android.frameworks.bufferhub@1.0-service.rc)
    620 
    621 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/super.img)
    622 
    623 $(call add-clean-step, find $(PRODUCT_OUT) -type f -name "generated_*_image_info.txt" -print0 | xargs -0 rm -f)
    624 
    625 # Clean up libicuuc.so and libicui18n.so
    626 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libicu*)
    627 
    628 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/target/common/obj/framework.aidl)
    629 
    630 # Clean up adb_debug.propr
    631 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/adb_debug.prop)
    632 
    633 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libjavacrypto.so)
    634 
    635 # Clean up old location of soft OMX plugins
    636 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libstagefright_soft*)
    637 
    638 # Move odm build.prop to /odm/etc/.
    639 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/odm/build.prop)
    640 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/odm/build.prop)
    641 
    642 # ************************************************
    643 # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
    644 # ************************************************
    645