xref: /aosp_15_r20/bionic/CleanSpec.mk (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker# Copyright (C) 2007 The Android Open Source Project
2*8d67ca89SAndroid Build Coastguard Worker#
3*8d67ca89SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
4*8d67ca89SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
5*8d67ca89SAndroid Build Coastguard Worker# You may obtain a copy of the License at
6*8d67ca89SAndroid Build Coastguard Worker#
7*8d67ca89SAndroid Build Coastguard Worker#      http://www.apache.org/licenses/LICENSE-2.0
8*8d67ca89SAndroid Build Coastguard Worker#
9*8d67ca89SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*8d67ca89SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
11*8d67ca89SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*8d67ca89SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
13*8d67ca89SAndroid Build Coastguard Worker# limitations under the License.
14*8d67ca89SAndroid Build Coastguard Worker#
15*8d67ca89SAndroid Build Coastguard Worker
16*8d67ca89SAndroid Build Coastguard Worker# If you don't need to do a full clean build but would like to touch
17*8d67ca89SAndroid Build Coastguard Worker# a file or delete some intermediate files, add a clean step to the end
18*8d67ca89SAndroid Build Coastguard Worker# of the list.  These steps will only be run once, if they haven't been
19*8d67ca89SAndroid Build Coastguard Worker# run before.
20*8d67ca89SAndroid Build Coastguard Worker#
21*8d67ca89SAndroid Build Coastguard Worker# E.g.:
22*8d67ca89SAndroid Build Coastguard Worker#     $(call add-clean-step, touch -c external/sqlite/sqlite3.h)
23*8d67ca89SAndroid Build Coastguard Worker#     $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates)
24*8d67ca89SAndroid Build Coastguard Worker#
25*8d67ca89SAndroid Build Coastguard Worker# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with
26*8d67ca89SAndroid Build Coastguard Worker# files that are missing or have been moved.
27*8d67ca89SAndroid Build Coastguard Worker#
28*8d67ca89SAndroid Build Coastguard Worker# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory.
29*8d67ca89SAndroid Build Coastguard Worker# Use $(OUT_DIR) to refer to the "out" directory.
30*8d67ca89SAndroid Build Coastguard Worker#
31*8d67ca89SAndroid Build Coastguard Worker# If you need to re-do something that's already mentioned, just copy
32*8d67ca89SAndroid Build Coastguard Worker# the command and add it to the bottom of the list.  E.g., if a change
33*8d67ca89SAndroid Build Coastguard Worker# that you made last week required touching a file and a change you
34*8d67ca89SAndroid Build Coastguard Worker# made today requires touching the same file, just copy the old
35*8d67ca89SAndroid Build Coastguard Worker# touch step and add it to the end of the list.
36*8d67ca89SAndroid Build Coastguard Worker#
37*8d67ca89SAndroid Build Coastguard Worker# ************************************************
38*8d67ca89SAndroid Build Coastguard Worker# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
39*8d67ca89SAndroid Build Coastguard Worker# ************************************************
40*8d67ca89SAndroid Build Coastguard Worker
41*8d67ca89SAndroid Build Coastguard Worker# For example:
42*8d67ca89SAndroid Build Coastguard Worker#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates)
43*8d67ca89SAndroid Build Coastguard Worker#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates)
44*8d67ca89SAndroid Build Coastguard Worker#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f)
45*8d67ca89SAndroid Build Coastguard Worker#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*)
46*8d67ca89SAndroid Build Coastguard Worker
47*8d67ca89SAndroid Build Coastguard Worker# Switching to jemalloc requires deleting these files.
48*8d67ca89SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libc_*)
49*8d67ca89SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libc_*)
50*8d67ca89SAndroid Build Coastguard Worker
51*8d67ca89SAndroid Build Coastguard Worker# Required due to the replacement of a symlink with a shared library
52*8d67ca89SAndroid Build Coastguard Worker# (commit b952f42bef69e5c in frameworks/native).
53*8d67ca89SAndroid Build Coastguard Worker$(call add-clean-step, rm -f $(PRODUCT_OUT)/system/lib/libGLES*)
54*8d67ca89SAndroid Build Coastguard Worker$(call add-clean-step, rm -f $(PRODUCT_OUT)/system/lib64/libGLES*)
55*8d67ca89SAndroid Build Coastguard Worker
56*8d67ca89SAndroid Build Coastguard Worker# /bionic is removed
57*8d67ca89SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/root/bionic)
58*8d67ca89SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/bionic)
59*8d67ca89SAndroid Build Coastguard Worker
60*8d67ca89SAndroid Build Coastguard Worker# Ensure libdl_android.so is (only) in the correct locations after the move into
61*8d67ca89SAndroid Build Coastguard Worker# the Runtime APEX.
62*8d67ca89SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/apex/com.android.runtime/lib{,64})
63*8d67ca89SAndroid Build Coastguard Worker$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib{,64})
64*8d67ca89SAndroid Build Coastguard Worker
65*8d67ca89SAndroid Build Coastguard Worker# ************************************************
66*8d67ca89SAndroid Build Coastguard Worker# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
67*8d67ca89SAndroid Build Coastguard Worker# ************************************************
68