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# Adding dalvik.vm.dex2oat-filter 288$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop) 289$(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/default.prop) 290$(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/default.prop) 291 292# API 21? 293$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop) 294$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*) 295$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*) 296 297# API 21! 298$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop) 299$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*) 300$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*) 301 302# API 22! 303$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop) 304$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*) 305$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*) 306 307# 5.1! 308$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop) 309$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*) 310$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*) 311 312# 5.1.1! 313$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop) 314$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/*) 315$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/APPS/*) 316 317# Added new build props 318$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/build.prop) 319 320# ************************************************ 321# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST 322# ************************************************ 323