################################################################################
|
#
|
# rk_oem
|
#
|
################################################################################
|
|
ifeq ($(BR2_PACKAGE_RK_OEM), y)
|
RK_OEM_SITE_METHOD = local
|
RK_OEM_IMAGE_OUTPUT = $(BASE_DIR)/images/oem.img
|
RK_OEM_FAKEROOT_SCRIPT = oem_fakeroot.fs
|
RK_OEM_FILESYSTEM_TYPE = $(BR2_PACKAGE_RK_OEM_IMAGE_FILESYSTEM_TYPE)
|
RK_OEM_PARTITION_SIZE = $(BR2_PACKAGE_RK_OEM_IMAGE_PARTITION_SIZE)
|
RK_OEM_UBI_PAGE_SIZE = $(BR2_TARGET_ROOTFS_UBI_SUBSIZE)
|
RK_OEM_UBI_BLOCK_SIZE = $(BR2_TARGET_ROOTFS_UBI_PEBSIZE)
|
|
ifeq ($(RK_OEM_FILESYSTEM_TYPE),"")
|
RK_OEM_FILESYSTEM_TYPE = ext4
|
endif
|
|
ifeq ($(BR2_PACKAGE_RK_OEM_RESOURCE_DIR),"")
|
RK_OEM_SITE = $(TOPDIR)/package/rockchip/rk_oem/src
|
|
define RK_OEM_INSTALL_INIT_SYSV
|
$(INSTALL) -D -m 0755 $(@D)/S98_lunch_init \
|
$(TARGET_DIR)/etc/init.d/S98_lunch_init
|
endef
|
|
else
|
RK_OEM_SITE = $(BR2_PACKAGE_RK_OEM_RESOURCE_DIR)
|
endif
|
|
RK_OEM_REDIRECT_DBUS4OEM_CONF = package/rockchip/rk_oem/redirect_dbus4oem.conf
|
RK_OEM_INSTALL_TARGET_DIR = $(BR2_PACKAGE_RK_OEM_INSTALL_TARGET_DIR)
|
|
define RK_OEM_INSTALL_TARGET_CMDS
|
mkdir -p $(TARGET_DIR)/usr/share/dbus-1/system.d
|
$(INSTALL) -D -m 0644 $(RK_OEM_REDIRECT_DBUS4OEM_CONF) \
|
$(TARGET_DIR)/usr/share/dbus-1/system.d
|
mkdir -p $(RK_OEM_INSTALL_TARGET_DIR)
|
cp -rfp $(@D)/* $(RK_OEM_INSTALL_TARGET_DIR) | true
|
rm -fv $(RK_OEM_INSTALL_TARGET_DIR)/rk_oem.tar
|
rm -f $(RK_OEM_INSTALL_TARGET_DIR)/$(RK_OEM_FAKEROOT_SCRIPT)
|
endef
|
|
define RK_OEM_TARGET_POST_CLEAN_HOOK_CMDS
|
rm -rf $(RK_OEM_INSTALL_TARGET_DIR)/usr/include $(RK_OEM_INSTALL_TARGET_DIR)/usr/share/aclocal \
|
$(RK_OEM_INSTALL_TARGET_DIR)/usr/lib/pkgconfig $(RK_OEM_INSTALL_TARGET_DIR)/usr/share/pkgconfig \
|
$(RK_OEM_INSTALL_TARGET_DIR)/usr/lib/cmake $(RK_OEM_INSTALL_TARGET_DIR)/usr/share/cmake
|
find $(RK_OEM_INSTALL_TARGET_DIR)/usr/{lib,share}/ -name '*.cmake' -print0 | xargs -0 rm -f
|
find $(RK_OEM_INSTALL_TARGET_DIR)/lib/ $(RK_OEM_INSTALL_TARGET_DIR)/usr/lib/ $(RK_OEM_INSTALL_TARGET_DIR)/usr/libexec/ \
|
\( -name '*.a' -o -name '*.la' \) -print0 | xargs -0 rm -f
|
endef
|
|
define RK_OEM_TARGET_POST_MKIMAGE_HOOK_CMDS
|
echo "#!/bin/sh" > $(@D)/$(RK_OEM_FAKEROOT_SCRIPT)
|
echo "set -e" >> $(@D)/$(RK_OEM_FAKEROOT_SCRIPT)
|
echo "export TARGET_OUTPUT_DIR=$(BASE_DIR)" >> $(@D)/$(RK_OEM_FAKEROOT_SCRIPT)
|
echo "[ -d $(RK_OEM_INSTALL_TARGET_DIR)/www ] && chown -R www-data:www-data $(RK_OEM_INSTALL_TARGET_DIR)/www" >> $(@D)/$(RK_OEM_FAKEROOT_SCRIPT)
|
echo "[ -d $(RK_OEM_INSTALL_TARGET_DIR)/usr/www ] && chown -R www-data:www-data $(RK_OEM_INSTALL_TARGET_DIR)/usr/www" >> $(@D)/$(RK_OEM_FAKEROOT_SCRIPT)
|
echo "mkdir -p $$(dirname $(RK_OEM_IMAGE_OUTPUT))" >> $(@D)/$(RK_OEM_FAKEROOT_SCRIPT)
|
if [ $(RK_OEM_FILESYSTEM_TYPE) = "ubi" ];then \
|
echo "$(TOPDIR)/../device/rockchip/common/mk-image.sh $(RK_OEM_INSTALL_TARGET_DIR) $(RK_OEM_IMAGE_OUTPUT) $(RK_OEM_FILESYSTEM_TYPE) $(RK_OEM_PARTITION_SIZE) oem $(RK_OEM_UBI_PAGE_SIZE) $(RK_OEM_UBI_BLOCK_SIZE)" >> $(@D)/$(RK_OEM_FAKEROOT_SCRIPT); \
|
else \
|
echo "$(TOPDIR)/../device/rockchip/common/mk-image.sh $(RK_OEM_INSTALL_TARGET_DIR) $(RK_OEM_IMAGE_OUTPUT) $(RK_OEM_FILESYSTEM_TYPE) $(RK_OEM_PARTITION_SIZE) oem" >> $(@D)/$(RK_OEM_FAKEROOT_SCRIPT); \
|
fi
|
chmod a+x $(@D)/$(RK_OEM_FAKEROOT_SCRIPT)
|
endef
|
|
define RK_OEM_TARGET_FINALIZE_STRIP_HOOK_CMDS
|
find $(RK_OEM_INSTALL_TARGET_DIR) -type f \( -perm /111 -o -name '*.so*' \) \
|
-not \( -name 'libpthread*.so*' -o -name 'ld-*.so*' -o -name '*.ko' \) -print0 | \
|
xargs -0 $(STRIPCMD) 2>/dev/null || true
|
touch $(TARGET_DIR)/.auto_mkfs # format userdata partition default if mount error.
|
endef
|
|
ifneq ($(BR2_ENABLE_DEBUG),y)
|
ifneq ($(BR2_PACKAGE_RK_OEM_ENABLE_DEBUG),y)
|
RK_OEM_TARGET_FINALIZE_HOOKS += RK_OEM_TARGET_FINALIZE_STRIP_HOOK_CMDS
|
endif
|
endif
|
RK_OEM_POST_INSTALL_TARGET_HOOKS += RK_OEM_TARGET_POST_CLEAN_HOOK_CMDS
|
|
ifneq ($(RK_OEM_FILESYSTEM_TYPE),"NONE")
|
RK_OEM_POST_INSTALL_TARGET_HOOKS += RK_OEM_TARGET_POST_MKIMAGE_HOOK_CMDS
|
|
define RK_OEM_TARGET_FINALIZE_MKIMAGE_HOOK_CMDS
|
$(HOST_DIR)/bin/fakeroot -- $(BUILD_DIR)/rk_oem/$(RK_OEM_FAKEROOT_SCRIPT)
|
endef
|
RK_OEM_TARGET_FINALIZE_HOOKS += RK_OEM_TARGET_FINALIZE_MKIMAGE_HOOK_CMDS
|
endif
|
|
endif
|
|
$(eval $(generic-package))
|