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