15586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# Copyright (C) 2007 The Android Open Source Project
25586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru#
35586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# Licensed under the Apache License, Version 2.0 (the "License");
45586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# you may not use this file except in compliance with the License.
55586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# You may obtain a copy of the License at
65586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru#
75586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru#      http://www.apache.org/licenses/LICENSE-2.0
85586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru#
95586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# Unless required by applicable law or agreed to in writing, software
105586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# distributed under the License is distributed on an "AS IS" BASIS,
115586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
125586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# See the License for the specific language governing permissions and
135586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# limitations under the License.
145586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru#
155586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru
165586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# If you don't need to do a full clean build but would like to touch
175586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# a file or delete some intermediate files, add a clean step to the end
185586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# of the list.  These steps will only be run once, if they haven't been
195586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# run before.
205586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru#
215586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# E.g.:
225586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru#     $(call add-clean-step, touch -c external/sqlite/sqlite3.h)
235586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru#     $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates)
245586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru#
255586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with
265586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# files that are missing or have been moved.
275586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru#
285586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory.
295586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# Use $(OUT_DIR) to refer to the "out" directory.
305586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru#
315586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# If you need to re-do something that's already mentioned, just copy
325586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# the command and add it to the bottom of the list.  E.g., if a change
335586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# that you made last week required touching a file and a change you
345586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# made today requires touching the same file, just copy the old
355586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# touch step and add it to the end of the list.
365586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru#
375586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# ************************************************
385586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
395586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# ************************************************
405586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru
415586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# For example:
425586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates)
435586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates)
445586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f)
455586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*)
465586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru
475586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# ************************************************
485586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
495586714267860821fc571dcca614f0d2f3abb4b8Jean-Baptiste Queru# ************************************************
50