diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 19:28:42 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 19:28:42 -0800 |
commit | 88b607994a148f4af5bffee163e39ce8296750c6 (patch) | |
tree | fa249ff843e976cf034f2029437d3362a8396321 /core/device.mk | |
parent | 05806d7af62e07c6225b2e7103a1b115ecf6c9ad (diff) | |
download | build-88b607994a148f4af5bffee163e39ce8296750c6.zip build-88b607994a148f4af5bffee163e39ce8296750c6.tar.gz build-88b607994a148f4af5bffee163e39ce8296750c6.tar.bz2 |
auto import from //depot/cupcake/@135843
Diffstat (limited to 'core/device.mk')
-rw-r--r-- | core/device.mk | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/core/device.mk b/core/device.mk new file mode 100644 index 0000000..20ff447 --- /dev/null +++ b/core/device.mk @@ -0,0 +1,76 @@ +# +# Copyright (C) 2007 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +_device_var_list := \ + DEVICE_NAME \ + DEVICE_BOARD \ + DEVICE_REGION + +define dump-device +$(info ==== $(1) ====)\ +$(foreach v,$(_device_var_list),\ +$(info DEVICES.$(1).$(v) := $(DEVICES.$(1).$(v))))\ +$(info --------) +endef + +define dump-devices +$(foreach p,$(DEVICES),$(call dump-device,$(p))) +endef + +# +# $(1): device to inherit +# +define inherit-device + $(foreach v,$(_device_var_list), \ + $(eval $(v) := $($(v)) $(INHERIT_TAG)$(strip $(1)))) +endef + +# +# $(1): device makefile list +# +#TODO: check to make sure that devices have all the necessary vars defined +define import-devices +$(call import-nodes,DEVICES,$(1),$(_device_var_list)) +endef + + +# +# $(1): short device name like "sooner" +# +define _resolve-short-device-name + $(eval dn := $(strip $(1))) + $(eval d := \ + $(foreach d,$(DEVICES), \ + $(if $(filter $(dn),$(DEVICES.$(d).DEVICE_NAME)), \ + $(d) \ + )) \ + ) + $(eval d := $(sort $(d))) + $(if $(filter 1,$(words $(d))), \ + $(d), \ + $(if $(filter 0,$(words $(d))), \ + $(error No matches for device "$(dn)"), \ + $(error Device "$(dn)" ambiguous: matches $(d)) \ + ) \ + ) +endef + +# +# $(1): short device name like "sooner" +# +define resolve-short-device-name +$(strip $(call _resolve-short-device-name,$(1))) +endef |