CleanSpec.mk revision c7e5040aa8b8e4da86814bf560346c7571e48087
14fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# Copyright (C) 2012 The Android Open Source Project 24fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# 34fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# Licensed under the Apache License, Version 2.0 (the "License"); 44fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# you may not use this file except in compliance with the License. 54fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# You may obtain a copy of the License at 64fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# 74fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# http://www.apache.org/licenses/LICENSE-2.0 84fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# 94fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# Unless required by applicable law or agreed to in writing, software 104fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# distributed under the License is distributed on an "AS IS" BASIS, 114fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 124fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# See the License for the specific language governing permissions and 134fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# limitations under the License. 144fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# 154fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor 164fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# If you don't need to do a full clean build but would like to touch 174fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# a file or delete some intermediate files, add a clean step to the end 184fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# of the list. These steps will only be run once, if they haven't been 194fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# run before. 204fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# 214fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# E.g.: 224fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# $(call add-clean-step, touch -c external/sqlite/sqlite3.h) 234fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates) 244fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# 254fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with 264fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# files that are missing or have been moved. 274fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# 284fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory. 294fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# Use $(OUT_DIR) to refer to the "out" directory. 304fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# 314fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# If you need to re-do something that's already mentioned, just copy 324fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# the command and add it to the bottom of the list. E.g., if a change 334fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# that you made last week required touching a file and a change you 344fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# made today requires touching the same file, just copy the old 3542f42c0dd5cf71fbfc6fa282d03079a902f6e342Eli Friedman# touch step and add it to the end of the list. 364fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# 374fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# ************************************************ 384fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST 394fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# ************************************************ 404fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor 414fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# For example: 424fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates) 434fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates) 444fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f) 454fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*) 464fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libmedia_native_intermediates) 474fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/lib/libmedia_native.so) 484fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor$(call add-clean-step, rm -rf $(PRODUCT_OUT)/symbols/system/lib/libmedia_native.so) 494fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib/libmedia_native.so) 504fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libaudioflinger_intermediates) 514fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib/libaudioflinger.so) 524fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# ************************************************ 534fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST 544fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor# ************************************************ 554fe0c8e9c76b96e7aff21696a40dacc09d0237bcDouglas Gregor