1*e1319447SKrzysztof Kosiński# Copyright (C) 2007 The Android Open Source Project 2*e1319447SKrzysztof Kosiński# 3*e1319447SKrzysztof Kosiński# Licensed under the Apache License, Version 2.0 (the "License"); 4*e1319447SKrzysztof Kosiński# you may not use this file except in compliance with the License. 5*e1319447SKrzysztof Kosiński# You may obtain a copy of the License at 6*e1319447SKrzysztof Kosiński# 7*e1319447SKrzysztof Kosiński# http://www.apache.org/licenses/LICENSE-2.0 8*e1319447SKrzysztof Kosiński# 9*e1319447SKrzysztof Kosiński# Unless required by applicable law or agreed to in writing, software 10*e1319447SKrzysztof Kosiński# distributed under the License is distributed on an "AS IS" BASIS, 11*e1319447SKrzysztof Kosiński# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*e1319447SKrzysztof Kosiński# See the License for the specific language governing permissions and 13*e1319447SKrzysztof Kosiński# limitations under the License. 14*e1319447SKrzysztof Kosiński# 15*e1319447SKrzysztof Kosiński 16*e1319447SKrzysztof Kosiński# If you don't need to do a full clean build but would like to touch 17*e1319447SKrzysztof Kosiński# a file or delete some intermediate files, add a clean step to the end 18*e1319447SKrzysztof Kosiński# of the list. These steps will only be run once, if they haven't been 19*e1319447SKrzysztof Kosiński# run before. 20*e1319447SKrzysztof Kosiński# 21*e1319447SKrzysztof Kosiński# E.g.: 22*e1319447SKrzysztof Kosiński# $(call add-clean-step, touch -c external/sqlite/sqlite3.h) 23*e1319447SKrzysztof Kosiński# $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates) 24*e1319447SKrzysztof Kosiński# 25*e1319447SKrzysztof Kosiński# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with 26*e1319447SKrzysztof Kosiński# files that are missing or have been moved. 27*e1319447SKrzysztof Kosiński# 28*e1319447SKrzysztof Kosiński# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory. 29*e1319447SKrzysztof Kosiński# Use $(OUT_DIR) to refer to the "out" directory. 30*e1319447SKrzysztof Kosiński# 31*e1319447SKrzysztof Kosiński# If you need to re-do something that's already mentioned, just copy 32*e1319447SKrzysztof Kosiński# the command and add it to the bottom of the list. E.g., if a change 33*e1319447SKrzysztof Kosiński# that you made last week required touching a file and a change you 34*e1319447SKrzysztof Kosiński# made today requires touching the same file, just copy the old 35*e1319447SKrzysztof Kosiński# touch step and add it to the end of the list. 36*e1319447SKrzysztof Kosiński# 37*e1319447SKrzysztof Kosiński# ************************************************ 38*e1319447SKrzysztof Kosiński# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST 39*e1319447SKrzysztof Kosiński# ************************************************ 40*e1319447SKrzysztof Kosiński 41*e1319447SKrzysztof Kosiński# For example: 42*e1319447SKrzysztof Kosiński#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates) 43*e1319447SKrzysztof Kosiński#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates) 44*e1319447SKrzysztof Kosiński#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f) 45*e1319447SKrzysztof Kosiński#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*) 46*e1319447SKrzysztof Kosiński 47*e1319447SKrzysztof Kosiński# ************************************************ 48*e1319447SKrzysztof Kosiński# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST 49*e1319447SKrzysztof Kosiński# ************************************************ 50