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