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 verity tools. 636$(call add-clean-step, rm -rf $(HOST_OUT_JAVA_LIBRARIES)/BootSignature.jar) 637$(call add-clean-step, rm -rf $(HOST_OUT_JAVA_LIBRARIES)/VeritySigner.jar) 638$(call add-clean-step, rm -rf $(HOST_OUT_EXECUTABLES)/build_verity_metadata.py) 639 640$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libc_malloc*) 641 642# Clean up old location of soft OMX plugins 643$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libstagefright_soft*) 644 645# Move odm build.prop to /odm/etc/. 646$(call add-clean-step, rm -rf $(PRODUCT_OUT)/odm/build.prop) 647$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/odm/build.prop) 648 649$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/apex) 650 651# Remove libcameraservice and libcamera_client from base_system 652$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libcameraservice.so) 653$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/libcamera_client.so) 654 655# Move product and system_ext to root for emulators 656$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/generic*/*/product) 657$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/generic*/*/system_ext) 658 659# link_type and jni_link_type files are no longer needed 660$(call add-clean-step, find $(OUT_DIR) -type f -name "*link_type" -print0 | xargs -0 rm -f) 661 662# import_includes and export_includes files are no longer needed 663$(call add-clean-step, find $(OUT_DIR) -type f -name "import_includes" -o -name "export_includes" -print0 | xargs -0 rm -f) 664 665# Recreate product and system_ext partitions for emulator 666$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/generic*/*product*) 667$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/generic*/*system_ext*) 668$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/generic*/*/product) 669$(call add-clean-step, rm -rf $(OUT_DIR)/target/product/generic*/*/system_ext) 670 671# Move GSI-specific files from /system to /system/system_ext 672$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/init/init.gsi.rc) 673$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/init/config/) 674 675# Move fuzz targets from /data/fuzz/* to /data/fuzz/<arch>/* for device, and 676# /fuzz/* to /fuzz/<arch>/* on host. 677$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/fuzz/*) 678$(call add-clean-step, rm -rf $(PRODUCT_OUT)/symbols/data/fuzz/*) 679$(call add-clean-step, rm -rf $(HOST_OUT)/fuzz/*) 680$(call add-clean-step, rm -rf $(SOONG_OUT_DIR)/host/*/fuzz/*) 681 682# Change file layout of system_other 683$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system_other) 684 685$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/apex) 686 687# Migrate preopt files to system_other for some devices 688$(call add-clean-step, rm -rf $(PRODUCT_OUT)/*/*app/*/oat) 689 690# Migrate preopt files from system_other for some devices 691$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system_other) 692 693# Remove Android Core Library artifacts from the system partition, now 694# that they live in the ART APEX (b/142944799). 695$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/framework/*.jar) 696 697# Remove symlinks for VNDK apexes 698$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/vndk-*) 699 700# Switch to symlinks for VNDK libs 701$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib*/vndk-*) 702 703# Remove Android Core Library artifacts from the system partition 704# again, as the original change removing them was reverted. 705$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/framework/*.jar) 706 707# Remove cas@1.1 from the vendor partition 708$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/bin/hw/android.hardware.cas@1.1*) 709$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/init/android.hardware.cas@1.1*) 710$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/vintf/manifest/android.hardware.cas@1.1*) 711 712# Remove com.android.cellbroadcast apex for Go devices 713$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/apex/com.android.cellbroadcast.apex) 714$(call add-clean-step, rm -rf $(PRODUCT_OUT)/apex/com.android.cellbroadcast) 715 716# Remove CellBroadcastLegacyApp for Go devices 717$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/priv-app/CellBroadcastLegacyApp) 718 719# Remove MediaProvider after moving into APEX 720$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/priv-app/MediaProvider) 721 722# The core image variant has been renamed to "" 723$(call add-clean-step, find $(SOONG_OUT_DIR)/.intermediates -type d -name "android_*_core*" -print0 | xargs -0 rm -rf) 724 725# Remove 'media' command 726$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/bin/media) 727 728# Remove CtsShim apks from system partition, since the have been moved inside 729# the cts shim apex. Also remove the cts shim apex prebuilt since it has been 730# removed in flattened apexs configurations. 731$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/priv-app/CtsShimPrivPrebuilt) 732$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/CtsShimPrebuilt) 733$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/apex/com.android.apex.cts.shim.apex) 734 735# Remove vendor and recovery variants, the directory name has changed. 736$(call add-clean-step, find $(SOONG_OUT_DIR)/.intermediates -type d -name "android_*_recovery*" -print0 | xargs -0 rm -rf) 737$(call add-clean-step, find $(SOONG_OUT_DIR)/.intermediates -type d -name "android_*_vendor*" -print0 | xargs -0 rm -rf) 738 739# Remove PermissionController after moving into APEX 740$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/priv-app/*PermissionController) 741 742# Clean up VTS-Core and VTS10 related artifacts. 743$(call add-clean-step, rm -rf $(HOST_OUT)/vts-core/*) 744$(call add-clean-step, rm -rf $(HOST_OUT)/framework/vts-core-tradefed.jar) 745$(call add-clean-step, rm -rf $(HOST_OUT)/vts10/*) 746$(call add-clean-step, rm -rf $(HOST_OUT)/framework/vts10-tradefed.jar) 747# Clean up VTS again as VTS-Core will be renamed to VTS 748$(call add-clean-step, rm -rf $(HOST_OUT)/vts/*) 749$(call add-clean-step, rm -rf $(HOST_OUT)/framework/vts-tradefed.jar) 750 751$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/default.prop) 752$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/prop.default) 753 754# Workaround for Soong not being able to rebuild the host binary if its 755# JNI dependencies change: b/170389375 756$(call add-clean-step, rm -rf $(OUT_DIR)/soong/host/*/lib*/libconscrypt_openjdk_jni.so) 757# vendor-ramdisk renamed to vendor_ramdisk 758$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor-ramdisk) 759 760# ************************************************ 761# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST 762# ************************************************ 763