Home | History | Annotate | Download | only in core
      1 # Copyright (C) 2007 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 # Just bump this if you want to force a clean build.
     17 # **********************************************************************
     18 # WHEN DOING SO
     19 # 1. DELETE ANY "add-clean-step" ENTRIES THAT HAVE PILED UP IN THIS FILE.
     20 # 2. REMOVE ALL FILES NAMED CleanSpec.mk.
     21 # 3. BUMP THE VERSION.
     22 # IDEALLY, THOSE STEPS SHOULD BE DONE ATOMICALLY.
     23 # **********************************************************************
     24 #
     25 INTERNAL_CLEAN_BUILD_VERSION := 6
     26 #
     27 # ***********************************************************************
     28 # Do not touch INTERNAL_CLEAN_BUILD_VERSION if you've added a clean step!
     29 # ***********************************************************************
     30 
     31 # If you don't need to do a full clean build but would like to touch
     32 # a file or delete some intermediate files, add a clean step to the end
     33 # of the list.  These steps will only be run once, if they haven't been
     34 # run before.
     35 #
     36 # E.g.:
     37 #     $(call add-clean-step, touch -c external/sqlite/sqlite3.h)
     38 #     $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates)
     39 #
     40 # Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with
     41 # files that are missing or have been moved.
     42 #
     43 # Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory.
     44 # Use $(OUT_DIR) to refer to the "out" directory.
     45 #
     46 # If you need to re-do something that's already mentioned, just copy
     47 # the command and add it to the bottom of the list.  E.g., if a change
     48 # that you made last week required touching a file and a change you
     49 # made today requires touching the same file, just copy the old
     50 # touch step and add it to the end of the list.
     51 #
     52 # ************************************************
     53 # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
     54 # ************************************************
     55 
     56 # For example:
     57 #$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates)
     58 #$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates)
     59 #$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f)
     60 #$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*)
     61 
     62 # ************************************************
     63 # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
     64 # ************************************************
     65 
     66 subdir_cleanspecs := \
     67     $(shell build/tools/findleaves.py --prune=out --prune=.repo --prune=.git . CleanSpec.mk)
     68 include $(subdir_cleanspecs)
     69 subdir_cleanspecs :=
     70