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 # ************************************************ 318 # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST 319 # ************************************************ 320