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# Move adbd from $(PRODUCT_OUT)/root/sbin to $(PRODUCT_OUT)/system/bin 428$(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/sbin/adbd) 429$(call add-clean-step, rm -rf $(PRODUCT_OUT)/symbols/sbin/adbd) 430 431# ************************************************ 432# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST 433# ************************************************ 434