2025-05-10 21:49:39 +08:00

217 lines
7.2 KiB
Makefile

################################################################################
#
# rkscript
#
################################################################################
RKSCRIPT_SITE = $(TOPDIR)/../external/rkscript
RKSCRIPT_SITE_METHOD = local
RKSCRIPT_LICENSE = ROCKCHIP
RKSCRIPT_LICENSE_FILES = LICENSE
RKSCRIPT_ADD_TOOLCHAIN_DEPENDENCY=no
ifeq ($(BR2_PACKAGE_RKSCRIPT_USB),y)
RKSCRIPT_USB_CONFIG=$(BR2_PACKAGE_RKSCRIPT_USB_EXTRA_CONFIG)
ifeq ($(BR2_PACKAGE_RKSCRIPT_USB_ADBD),y)
RKSCRIPT_USB_CONFIG += adb
endif
ifeq ($(BR2_PACKAGE_RKSCRIPT_USB_MTP),y)
RKSCRIPT_USB_CONFIG += mtp
endif
ifeq ($(BR2_PACKAGE_RKSCRIPT_USB_ACM),y)
RKSCRIPT_USB_CONFIG += acm
endif
ifeq ($(BR2_PACKAGE_RKSCRIPT_USB_NTB),y)
RKSCRIPT_USB_CONFIG += ntb
endif
ifeq ($(BR2_PACKAGE_RKSCRIPT_USB_UVC),y)
RKSCRIPT_USB_CONFIG += uvc
endif
ifeq ($(BR2_PACKAGE_RKSCRIPT_USB_UAC1),y)
RKSCRIPT_USB_CONFIG += uac1
endif
ifeq ($(BR2_PACKAGE_RKSCRIPT_USB_UAC2),y)
RKSCRIPT_USB_CONFIG += uac2
endif
ifeq ($(BR2_PACKAGE_RKSCRIPT_USB_HID),y)
RKSCRIPT_USB_CONFIG += hid
endif
ifeq ($(BR2_PACKAGE_RKSCRIPT_USB_RNDIS),y)
RKSCRIPT_USB_CONFIG += rndis
endif
ifeq ($(BR2_PACKAGE_RKSCRIPT_USB_UMS),y)
RKSCRIPT_USB_CONFIG += ums
endif
define usb_env_fixup
$(SED) "s#\($1=\).*#\1\"$(call qstrip,$2)\"#" \
$(TARGET_DIR)/etc/profile.d/usbdevice.sh
endef
define RKSCRIPT_INSTALL_TARGET_USB_ENV
$(INSTALL) -D -m 0644 $(RKSCRIPT_PKGDIR)/usbdevice.sh \
$(TARGET_DIR)/etc/profile.d/usbdevice.sh
$(call usb_env_fixup,USB_FUNCS,$(RKSCRIPT_USB_CONFIG))
endef
RKSCRIPT_POST_INSTALL_TARGET_HOOKS += RKSCRIPT_INSTALL_TARGET_USB_ENV
ifeq ($(BR2_PACKAGE_RKSCRIPT_USB_UMS),y)
define ums_env_fixup
V=$(BR2_PACKAGE_RKSCRIPT_USB_$(1)); \
if [ "$$V" = y ]; then V=1; fi; \
if [ "$$V" ]; then $(call usb_env_fixup,$(1),$$V); fi
endef
RKSCRIPT_UMS_ENV = UMS_FILE UMS_SIZE UMS_FSTYPE UMS_MOUNT UMS_MOUNTPOINT UMS_RO
define RKSCRIPT_INSTALL_TARGET_USB_UMS_ENV
$(foreach env,$(RKSCRIPT_UMS_ENV),$(call ums_env_fixup,$(env))$(sep))
endef
RKSCRIPT_POST_INSTALL_TARGET_HOOKS += RKSCRIPT_INSTALL_TARGET_USB_UMS_ENV
endif # UMS
define RKSCRIPT_INSTALL_TARGET_USB
$(INSTALL) -m 0755 -D $(@D)/usbdevice $(TARGET_DIR)/usr/bin/
endef
RKSCRIPT_POST_INSTALL_TARGET_HOOKS += RKSCRIPT_INSTALL_TARGET_USB
ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
define RKSCRIPT_INSTALL_TARGET_USB_UDEV_RULES
$(INSTALL) -m 0755 -d $(TARGET_DIR)/lib/udev/rules.d/
$(INSTALL) -m 0644 -D $(@D)/61-usbdevice.rules \
$(TARGET_DIR)/lib/udev/rules.d/
endef
RKSCRIPT_POST_INSTALL_TARGET_HOOKS += RKSCRIPT_INSTALL_TARGET_USB_UDEV_RULES
endif
define RKSCRIPT_INSTALL_INIT_SYSV_USB
$(INSTALL) -m 0755 -D $(@D)/S*usbdevice $(TARGET_DIR)/etc/init.d/
endef
RKSCRIPT_INSTALL_INIT_SYSV_HOOKS += RKSCRIPT_INSTALL_INIT_SYSV_USB
define RKSCRIPT_INSTALL_INIT_SYSTEMD_USB
$(INSTALL) -D -m 644 $(@D)/usbdevice.service \
$(TARGET_DIR)/usr/lib/systemd/system/
endef
RKSCRIPT_INSTALL_INIT_SYSTEMD_HOOKS += RKSCRIPT_INSTALL_INIT_SYSTEMD_USB
endif # USB
ifeq ($(BR2_PACKAGE_RKSCRIPT_IODOMAIN_NOTICE),y)
define RKSCRIPT_INSTALL_TARGET_IODOMAIN_NOTICE
$(INSTALL) -m 0755 -D $(@D)/list-iodomain.sh $(TARGET_DIR)/usr/bin/
endef
RKSCRIPT_POST_INSTALL_TARGET_HOOKS += RKSCRIPT_INSTALL_TARGET_IODOMAIN_NOTICE
define RKSCRIPT_INSTALL_INIT_SYSV_IODOMAIN_NOTICE
$(INSTALL) -m 0755 -D $(@D)/S*iodomain.sh $(TARGET_DIR)/etc/init.d/
endef
RKSCRIPT_INSTALL_INIT_SYSV_HOOKS += RKSCRIPT_INSTALL_INIT_SYSV_IODOMAIN_NOTICE
endif # IODOMAIN_NOTICE
ifeq ($(BR2_PACKAGE_RKSCRIPT_MOUNTALL),y)
define RKSCRIPT_INSTALL_TARGET_MOUNTALL
$(INSTALL) -m 0755 -D $(@D)/disk-helper $(TARGET_DIR)/usr/bin/
$(INSTALL) -m 0755 -D $(@D)/mount-helper $(TARGET_DIR)/usr/bin/
endef
RKSCRIPT_POST_INSTALL_TARGET_HOOKS += RKSCRIPT_INSTALL_TARGET_MOUNTALL
define RKSCRIPT_INSTALL_INIT_SYSV_MOUNTALL
$(INSTALL) -m 0755 -D $(@D)/S*mountall.sh $(TARGET_DIR)/etc/init.d/
endef
RKSCRIPT_INSTALL_INIT_SYSV_HOOKS += RKSCRIPT_INSTALL_INIT_SYSV_MOUNTALL
endif # MOUNTALL
ifeq ($(BR2_PACKAGE_RKSCRIPT_RESIZEALL),y)
define RKSCRIPT_INSTALL_TARGET_RESIZEALL
$(INSTALL) -m 0755 -D $(@D)/disk-helper $(TARGET_DIR)/usr/bin/
$(INSTALL) -m 0755 -D $(@D)/resize-helper $(TARGET_DIR)/usr/bin/
endef
RKSCRIPT_POST_INSTALL_TARGET_HOOKS += RKSCRIPT_INSTALL_TARGET_RESIZEALL
define RKSCRIPT_INSTALL_INIT_SYSV_RESIZEALL
$(INSTALL) -m 0755 -D $(@D)/S*resizeall.sh $(TARGET_DIR)/etc/init.d/
endef
RKSCRIPT_INSTALL_INIT_SYSV_HOOKS += RKSCRIPT_INSTALL_INIT_SYSV_RESIZEALL
define RKSCRIPT_INSTALL_INIT_SYSTEMD_RESIZEALL
$(INSTALL) -D -m 644 $(@D)/resize-all.service \
$(TARGET_DIR)/usr/lib/systemd/system/
endef
RKSCRIPT_INSTALL_INIT_SYSTEMD_HOOKS += RKSCRIPT_INSTALL_INIT_SYSTEMD_RESIZEALL
endif # RESIZEALL
ifeq ($(BR2_PACKAGE_RKSCRIPT_BOOTANIM),y)
define RKSCRIPT_INSTALL_TARGET_BOOTANIM
$(INSTALL) -m 0755 -D $(@D)/bootanim $(TARGET_DIR)/usr/bin/
$(SED) "s/^\(TIMEOUT=\).*/\1$(BR2_PACKAGE_RKSCRIPT_BOOTANIM_TIMEOUT)/" \
$(TARGET_DIR)/usr/bin/bootanim
$(INSTALL) -m 0755 -d $(TARGET_DIR)/etc/bootanim.d/
$(INSTALL) -m 0755 -D $(RKSCRIPT_PKGDIR)/gst-bootanim.sh \
$(TARGET_DIR)/etc/bootanim.d/
endef
RKSCRIPT_POST_INSTALL_TARGET_HOOKS += RKSCRIPT_INSTALL_TARGET_BOOTANIM
define RKSCRIPT_INSTALL_INIT_SYSV_BOOTANIM
$(INSTALL) -m 0755 -D $(@D)/S*bootanim.sh $(TARGET_DIR)/etc/init.d/
endef
RKSCRIPT_INSTALL_INIT_SYSV_HOOKS += RKSCRIPT_INSTALL_INIT_SYSV_BOOTANIM
define RKSCRIPT_INSTALL_INIT_SYSTEMD_BOOTANIM
$(INSTALL) -D -m 644 $(@D)/bootanim.service \
$(TARGET_DIR)/usr/lib/systemd/system/
endef
RKSCRIPT_INSTALL_INIT_SYSTEMD_HOOKS += RKSCRIPT_INSTALL_INIT_SYSTEMD_BOOTANIM
endif # BOOTANIM
ifneq ($(BR2_PACKAGE_RKSCRIPT_DEFAULT_PCM),"")
define RKSCRIPT_INSTALL_TARGET_PCM_HOOK
$(SED) "s#\#PCM_ID#$(BR2_PACKAGE_RKSCRIPT_DEFAULT_PCM)#g" \
$(@D)/asound.conf.in
$(INSTALL) -m 0644 -D $(@D)/asound.conf.in $(TARGET_DIR)/etc/asound.conf
endef
RKSCRIPT_POST_INSTALL_TARGET_HOOKS += RKSCRIPT_INSTALL_TARGET_PCM_HOOK
endif # PCM
ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
define RKSCRIPT_INSTALL_TARGET_UDEV_RULES
$(INSTALL) -m 0755 -d $(TARGET_DIR)/lib/udev/rules.d/
$(INSTALL) -m 0644 -D $(@D)/61-partition-init.rules \
$(TARGET_DIR)/lib/udev/rules.d/
$(INSTALL) -m 0644 -D $(@D)/88-rockchip-camera.rules \
$(TARGET_DIR)/lib/udev/rules.d/
$(INSTALL) -m 0644 -D $(@D)/99-rockchip-permissions.rules \
$(TARGET_DIR)/lib/udev/rules.d/
endef
RKSCRIPT_POST_INSTALL_TARGET_HOOKS += RKSCRIPT_INSTALL_TARGET_UDEV_RULES
endif # UDEV
define RKSCRIPT_INSTALL_TARGET_ASYNC
$(INSTALL) -m 0755 -D $(@D)/async-commit $(TARGET_DIR)/usr/bin/
endef
RKSCRIPT_POST_INSTALL_TARGET_HOOKS += RKSCRIPT_INSTALL_TARGET_ASYNC
define RKSCRIPT_INSTALL_INIT_SYSV_ASYNC
$(INSTALL) -m 0755 -D $(@D)/S*async-commit.sh $(TARGET_DIR)/etc/init.d/
endef
RKSCRIPT_INSTALL_INIT_SYSV_HOOKS += RKSCRIPT_INSTALL_INIT_SYSV_ASYNC
define RKSCRIPT_INSTALL_INIT_SYSTEMD_ASYNC
$(INSTALL) -D -m 644 $(@D)/async-commit.service \
$(TARGET_DIR)/usr/lib/systemd/system/
endef
RKSCRIPT_INSTALL_INIT_SYSTEMD_HOOKS += RKSCRIPT_INSTALL_INIT_SYSTEMD_ASYNC
define RKSCRIPT_INSTALL_INIT_SYSV
$(INSTALL) -m 0755 -d $(TARGET_DIR)/etc/init.d/
$(foreach hook,$(RKSCRIPT_INSTALL_INIT_SYSV_HOOKS),$(call $(hook))$(sep))
endef
define RKSCRIPT_INSTALL_INIT_SYSTEMD
$(INSTALL) -m 0755 -d $(TARGET_DIR)/usr/lib/systemd/system/
$(foreach hook,$(RKSCRIPT_INSTALL_INIT_SYSTEMD_HOOKS),$(call $(hook))$(sep))
endef
$(eval $(generic-package))