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