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