1#
2# Copyright (C) 2014 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# We build oem.img only if it's asked for.
18ifneq ($(filter $(MAKECMDGOALS),oem_image),)
19ifndef BOARD_OEMIMAGE_PARTITION_SIZE
20$(error BOARD_OEMIMAGE_PARTITION_SIZE is not set.)
21endif
22
23INTERNAL_OEMIMAGE_FILES := \
24    $(filter $(TARGET_OUT_OEM)/%,$(ALL_DEFAULT_INSTALLED_MODULES))
25
26oemimage_intermediates := \
27    $(call intermediates-dir-for,PACKAGING,oem)
28BUILT_OEMIMAGE_TARGET := $(PRODUCT_OUT)/oem.img
29# We just build this directly to the install location.
30INSTALLED_OEMIMAGE_TARGET := $(BUILT_OEMIMAGE_TARGET)
31
32$(INSTALLED_OEMIMAGE_TARGET) : $(INTERNAL_USERIMAGES_DEPS) $(INTERNAL_OEMIMAGE_FILES)
33	$(call pretty,"Target oem fs image: $@")
34	@mkdir -p $(TARGET_OUT_OEM)
35	@mkdir -p $(oemimage_intermediates) && rm -rf $(oemimage_intermediates)/oem_image_info.txt
36	$(call generate-image-prop-dictionary, $(oemimage_intermediates)/oem_image_info.txt,oem,skip_fsck=true)
37	PATH=$(INTERNAL_USERIMAGES_BINARY_PATHS):$$PATH \
38	    $(BUILD_IMAGE) \
39	        $(TARGET_OUT_OEM) $(oemimage_intermediates)/oem_image_info.txt $@ $(TARGET_OUT)
40	$(call assert-max-image-size,$@,$(BOARD_OEMIMAGE_PARTITION_SIZE))
41
42.PHONY: oem_image
43oem_image : $(INSTALLED_OEMIMAGE_TARGET)
44$(call dist-for-goals, oem_image, $(INSTALLED_OEMIMAGE_TARGET))
45
46endif  # oem_image in $(MAKECMDGOALS)
47