Dan Willemsen | 7ddc50a | 2018-10-18 16:11:40 -0700 | [diff] [blame] | 1 | # |
| 2 | # Copyright (C) 2018 The Android Open Source Project |
| 3 | # |
| 4 | # Licensed under the Apache License, Version 2.0 (the "License"); |
| 5 | # you may not use this file except in compliance with the License. |
| 6 | # You may obtain a copy of the License at |
| 7 | # |
| 8 | # http://www.apache.org/licenses/LICENSE-2.0 |
| 9 | # |
| 10 | # Unless required by applicable law or agreed to in writing, software |
| 11 | # distributed under the License is distributed on an "AS IS" BASIS, |
| 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 13 | # See the License for the specific language governing permissions and |
| 14 | # limitations under the License. |
| 15 | # |
| 16 | |
| 17 | # Only use ANDROID_BUILD_SHELL to wrap around bash. |
| 18 | # DO NOT use other shells such as zsh. |
| 19 | ifdef ANDROID_BUILD_SHELL |
| 20 | SHELL := $(ANDROID_BUILD_SHELL) |
| 21 | else |
| 22 | # Use bash, not whatever shell somebody has installed as /bin/sh |
| 23 | # This is repeated from main.mk, since envsetup.sh runs this file |
| 24 | # directly. |
| 25 | SHELL := /bin/bash |
| 26 | endif |
| 27 | |
| 28 | # Utility variables. |
| 29 | empty := |
| 30 | space := $(empty) $(empty) |
| 31 | comma := , |
| 32 | # Note that make will eat the newline just before endef. |
| 33 | define newline |
| 34 | |
| 35 | |
| 36 | endef |
| 37 | # The pound character "#" |
| 38 | define pound |
| 39 | # |
| 40 | endef |
| 41 | # Unfortunately you can't simply define backslash as \ or \\. |
| 42 | backslash := \a |
| 43 | backslash := $(patsubst %a,%,$(backslash)) |
| 44 | |
Dan Willemsen | 8da52d4 | 2019-08-08 10:58:09 -0700 | [diff] [blame] | 45 | TOP :=$= . |
| 46 | TOPDIR :=$= |
| 47 | |
Dan Willemsen | 7ddc50a | 2018-10-18 16:11:40 -0700 | [diff] [blame] | 48 | # Prevent accidentally changing these variables |
| 49 | .KATI_READONLY := SHELL empty space comma newline pound backslash |
| 50 | |
| 51 | # Basic warning/error wrappers. These will be redefined to include the local |
| 52 | # module information when reading Android.mk files. |
| 53 | define pretty-warning |
| 54 | $(warning $(1)) |
| 55 | endef |
| 56 | |
| 57 | define pretty-error |
| 58 | $(error $(1)) |
| 59 | endef |