1*e4a36f41SAndroid Build Coastguard Worker# Copyright (C) 2015 The Android Open Source Project 2*e4a36f41SAndroid Build Coastguard Worker# 3*e4a36f41SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 4*e4a36f41SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 5*e4a36f41SAndroid Build Coastguard Worker# You may obtain a copy of the License at 6*e4a36f41SAndroid Build Coastguard Worker# 7*e4a36f41SAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0 8*e4a36f41SAndroid Build Coastguard Worker# 9*e4a36f41SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*e4a36f41SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 11*e4a36f41SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*e4a36f41SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 13*e4a36f41SAndroid Build Coastguard Worker# limitations under the License. 14*e4a36f41SAndroid Build Coastguard Worker# 15*e4a36f41SAndroid Build Coastguard Worker 16*e4a36f41SAndroid Build Coastguard Worker# If you don't need to do a full clean build but would like to touch 17*e4a36f41SAndroid Build Coastguard Worker# a file or delete some intermediate files, add a clean step to the end 18*e4a36f41SAndroid Build Coastguard Worker# of the list. These steps will only be run once, if they haven't been 19*e4a36f41SAndroid Build Coastguard Worker# run before. 20*e4a36f41SAndroid Build Coastguard Worker# 21*e4a36f41SAndroid Build Coastguard Worker# E.g.: 22*e4a36f41SAndroid Build Coastguard Worker# $(call add-clean-step, touch -c external/sqlite/sqlite3.h) 23*e4a36f41SAndroid Build Coastguard Worker# $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates) 24*e4a36f41SAndroid Build Coastguard Worker# 25*e4a36f41SAndroid Build Coastguard Worker# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with 26*e4a36f41SAndroid Build Coastguard Worker# files that are missing or have been moved. 27*e4a36f41SAndroid Build Coastguard Worker# 28*e4a36f41SAndroid Build Coastguard Worker# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory. 29*e4a36f41SAndroid Build Coastguard Worker# Use $(OUT_DIR) to refer to the "out" directory. 30*e4a36f41SAndroid Build Coastguard Worker# 31*e4a36f41SAndroid Build Coastguard Worker# If you need to re-do something that's already mentioned, just copy 32*e4a36f41SAndroid Build Coastguard Worker# the command and add it to the bottom of the list. E.g., if a change 33*e4a36f41SAndroid Build Coastguard Worker# that you made last week required touching a file and a change you 34*e4a36f41SAndroid Build Coastguard Worker# made today requires touching the same file, just copy the old 35*e4a36f41SAndroid Build Coastguard Worker# touch step and add it to the end of the list. 36*e4a36f41SAndroid Build Coastguard Worker# 37*e4a36f41SAndroid Build Coastguard Worker# ************************************************ 38*e4a36f41SAndroid Build Coastguard Worker# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST 39*e4a36f41SAndroid Build Coastguard Worker# ************************************************ 40*e4a36f41SAndroid Build Coastguard Worker 41*e4a36f41SAndroid Build Coastguard Worker# For example: 42*e4a36f41SAndroid Build Coastguard Worker#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates) 43*e4a36f41SAndroid Build Coastguard Worker#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates) 44*e4a36f41SAndroid Build Coastguard Worker#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f) 45*e4a36f41SAndroid Build Coastguard Worker#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*) 46*e4a36f41SAndroid Build Coastguard Worker 47*e4a36f41SAndroid Build Coastguard Worker# ************************************************ 48*e4a36f41SAndroid Build Coastguard Worker# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST 49*e4a36f41SAndroid Build Coastguard Worker# ************************************************ 50*e4a36f41SAndroid Build Coastguard Worker 51*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/file_contexts) 52*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/file_contexts) 53*e4a36f41SAndroid Build Coastguard Worker 54*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/service_contexts) 55*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/service_contexts) 56*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/nonplat_property_contexts) 57*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/nonplat_property_contexts) 58*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/plat_property_contexts) 59*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/plat_property_contexts) 60*e4a36f41SAndroid Build Coastguard Worker 61*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/property_contexts) 62*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/property_contexts) 63*e4a36f41SAndroid Build Coastguard Worker 64*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/property_contexts) 65*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/property_contexts) 66*e4a36f41SAndroid Build Coastguard Worker 67*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/selinux/plat_property_contexts) 68*e4a36f41SAndroid Build Coastguard Worker 69*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/selinux/nonplat_property_contexts) 70*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/selinux/mapping_sepolicy.cil) 71*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/selinux/plat_sepolicy.cil.sha256) 72*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/selinux/precompiled_sepolicy.plat.sha256) 73*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/selinux/mapping_sepolicy.cil) 74*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/vendor/etc/selinux/nonplat_service_contexts) 75*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/ETC/nonplat_service_contexts_intermediates) 76*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/NOTICE_FILES/src/vendor/etc/selinux/nonplat_service_contexts.txt) 77*e4a36f41SAndroid Build Coastguard Worker 78*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(TARGET_OUT_VENDOR)/etc/selinux/nonplat_sepolicy.cil) 79*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(TARGET_OUT_VENDOR)/etc/selinux/nonplat_file_contexts) 80*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(TARGET_OUT_VENDOR)/etc/selinux/nonplat_hwservice_contexts) 81*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(TARGET_OUT_VENDOR)/etc/selinux/nonplat_mac_permissions.xml) 82*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(TARGET_OUT_VENDOR)/etc/selinux/nonplat_property_contexts) 83*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(TARGET_OUT_VENDOR)/etc/selinux/nonplat_seapp_contexts) 84*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/nonplat_file_contexts) 85*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/nonplat_property_contexts) 86*e4a36f41SAndroid Build Coastguard Worker# For non-Treble devices. 87*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/nonplat_file_contexts) 88*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/nonplat_hwservice_contexts) 89*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/nonplat_property_contexts) 90*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/nonplat_seapp_contexts) 91*e4a36f41SAndroid Build Coastguard Worker 92*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(TARGET_OUT_VENDOR)/etc/selinux/vendor_sepolicy.cil) 93*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(TARGET_OUT_VENDOR)/etc/selinux/vendor_file_contexts) 94*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(TARGET_OUT_VENDOR)/etc/selinux/vendor_hwservice_contexts) 95*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(TARGET_OUT_VENDOR)/etc/selinux/vendor_mac_permissions.xml) 96*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(TARGET_OUT_VENDOR)/etc/selinux/vendor_property_contexts) 97*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(TARGET_OUT_VENDOR)/etc/selinux/vendor_seapp_contexts) 98*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/vendor_file_contexts) 99*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/vendor_property_contexts) 100*e4a36f41SAndroid Build Coastguard Worker# For non-Treble devices. 101*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/vendor_file_contexts) 102*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/vendor_hwservice_contexts) 103*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/vendor_property_contexts) 104*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/vendor_seapp_contexts) 105*e4a36f41SAndroid Build Coastguard Worker 106*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(TARGET_OUT_VENDOR)/etc/selinux/nonplat_sepolicy.cil) 107*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(TARGET_OUT_VENDOR)/etc/selinux/nonplat_file_contexts) 108*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(TARGET_OUT_VENDOR)/etc/selinux/nonplat_hwservice_contexts) 109*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(TARGET_OUT_VENDOR)/etc/selinux/nonplat_mac_permissions.xml) 110*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(TARGET_OUT_VENDOR)/etc/selinux/nonplat_property_contexts) 111*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(TARGET_OUT_VENDOR)/etc/selinux/nonplat_seapp_contexts) 112*e4a36f41SAndroid Build Coastguard Worker 113*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/nonplat_file_contexts) 114*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/nonplat_hwservice_contexts) 115*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/nonplat_property_contexts) 116*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/nonplat_seapp_contexts) 117*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/nonplat_service_contexts) 118*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/nonplat_file_contexts) 119*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/nonplat_hwservice_contexts) 120*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/nonplat_property_contexts) 121*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/nonplat_seapp_contexts) 122*e4a36f41SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/nonplat_service_contexts) 123