Home | History | Annotate | Download | only in tasks
      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.
     18 ifneq ($(filter $(MAKECMDGOALS),oem_image),)
     19 ifndef BOARD_OEMIMAGE_PARTITION_SIZE
     20 $(error BOARD_OEMIMAGE_PARTITION_SIZE is not set.)
     21 endif
     22 
     23 INTERNAL_OEMIMAGE_FILES := \
     24     $(filter $(TARGET_OUT_OEM)/%,$(ALL_DEFAULT_INSTALLED_MODULES))
     25 
     26 oemimage_intermediates := \
     27     $(call intermediates-dir-for,PACKAGING,oem)
     28 BUILT_OEMIMAGE_TARGET := $(PRODUCT_OUT)/oem.img
     29 # We just build this directly to the install location.
     30 INSTALLED_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-userimage-prop-dictionary, $(oemimage_intermediates)/oem_image_info.txt, skip_fsck=true)
     37 	$(hide) PATH=$(foreach p,$(INTERNAL_USERIMAGES_BINARY_PATHS),$(p):)$$PATH \
     38 	  build/make/tools/releasetools/build_image.py \
     39 	  $(TARGET_OUT_OEM) $(oemimage_intermediates)/oem_image_info.txt $@ $(TARGET_OUT)
     40 	$(hide) $(call assert-max-image-size,$@,$(BOARD_OEMIMAGE_PARTITION_SIZE))
     41 
     42 .PHONY: oem_image
     43 oem_image : $(INSTALLED_OEMIMAGE_TARGET)
     44 $(call dist-for-goals, oem_image, $(INSTALLED_OEMIMAGE_TARGET))
     45 
     46 endif  # oem_image in $(MAKECMDGOALS)
     47