1*4882a593Smuzhiyun################################################################################ 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# rknn demo 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun################################################################################ 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunRKNN_DEMO_VERSION = 1.0.0 8*4882a593SmuzhiyunRKNN_DEMO_SITE = $(TOPDIR)/../external/rknn_demo 9*4882a593SmuzhiyunRKNN_DEMO_SITE_METHOD = local 10*4882a593SmuzhiyunRKNN_DEMO_DEPENDENCIES = jpeg libpng libv4l rockchip-rga minigui camera_engine_rkisp libdrm rockchip-mpp uvc_app 11*4882a593Smuzhiyun 12*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_RK1808),y) 13*4882a593Smuzhiyun RKNN_DEMO_CONF_OPTS += -DNEED_RKNNAPI=0 14*4882a593Smuzhiyun RKNN_DEMO_DEPENDENCIES += rknpu 15*4882a593Smuzhiyunendif 16*4882a593Smuzhiyun 17*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_RK3399PRO),y) 18*4882a593Smuzhiyun RKNN_DEMO_CONF_OPTS += -DNEED_RKNNAPI=1 19*4882a593Smuzhiyundefine RKNN_DEMO_BUILD_CMDS 20*4882a593Smuzhiyun $(INSTALL) -D -m 0644 $(@D)/rknn/rknn_api/librknn_api.so $(TARGET_DIR)/usr/lib 21*4882a593Smuzhiyun $(INSTALL) -D -m 0644 $(@D)/rknn/rknn_api/librknn_api.so $(STAGING_DIR)/usr/lib 22*4882a593Smuzhiyun $(TARGET_MAKE_ENV) $($(PKG)_MAKE_ENV) $($(PKG)_MAKE) $($(PKG)_MAKE_OPTS) -C $($(PKG)_BUILDDIR) 23*4882a593Smuzhiyunendef 24*4882a593Smuzhiyunendif 25*4882a593Smuzhiyun 26*4882a593SmuzhiyunRKNN_DEMO_USER_CONF_OPTS = 27*4882a593Smuzhiyun 28*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_RKNN_DEMO_ENABLE_JOINT),y) 29*4882a593Smuzhiyun RKNN_DEMO_USER_CONF_OPTS += -DENABLE_JOINT=1 30*4882a593Smuzhiyunendif 31*4882a593Smuzhiyun 32*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_RKNN_DEMO_ENABLE_FRG),y) 33*4882a593Smuzhiyun RKNN_DEMO_USER_CONF_OPTS += -DENABLE_FRG=1 34*4882a593Smuzhiyunendif 35*4882a593Smuzhiyun 36*4882a593Smuzhiyunifeq ($(RKNN_DEMO_USER_CONF_OPTS),) 37*4882a593Smuzhiyun BR2_PACKAGE_RKNN_DEMO_ENABLE_SSD=y 38*4882a593Smuzhiyun RKNN_DEMO_CONF_OPTS += -DENABLE_SSD=1 39*4882a593Smuzhiyunelse 40*4882a593Smuzhiyun RKNN_DEMO_CONF_OPTS += $(RKNN_DEMO_USER_CONF_OPTS) 41*4882a593Smuzhiyunendif 42*4882a593Smuzhiyun 43*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_RK1808),y) 44*4882a593SmuzhiyunRKNN_DEMO_MINIGUI_CFG=minigui/MiniGUI-1280x720.cfg 45*4882a593Smuzhiyunendif 46*4882a593Smuzhiyun 47*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_RK3399PRO),y) 48*4882a593SmuzhiyunRKNN_DEMO_MINIGUI_CFG=minigui/MiniGUI-2048x1536.cfg 49*4882a593Smuzhiyunendif 50*4882a593Smuzhiyun 51*4882a593SmuzhiyunRKNN_DEMO_CONF_OPTS += -DMINIGUI_CFG=$(RKNN_DEMO_MINIGUI_CFG) 52*4882a593Smuzhiyun 53*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_RKNN_DEMO_ENABLE_JOINT),y) 54*4882a593SmuzhiyunRKNN_MODEL_RESOURCE_FILES = rknn/joint/cpm.rknn 55*4882a593Smuzhiyunendif 56*4882a593Smuzhiyun 57*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_RKNN_DEMO_ENABLE_FRG),y) 58*4882a593SmuzhiyunRKNN_MODEL_RESOURCE_FILES = rknn/frg/frgsdk_rk1808/model/align.rknn \ 59*4882a593Smuzhiyun rknn/frg/frgsdk_rk1808/model/detect.rknn \ 60*4882a593Smuzhiyun rknn/frg/frgsdk_rk1808/model/recognize.rknn 61*4882a593Smuzhiyunendif 62*4882a593Smuzhiyun 63*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_RKNN_DEMO_ENABLE_SSD),y) 64*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_RK1808),y) 65*4882a593SmuzhiyunRKNN_MODEL_RESOURCE_FILES = rknn/ssd/ssd_1808/ssd_inception_v2.rknn \ 66*4882a593Smuzhiyun rknn/ssd/ssd_1808/coco_labels_list.txt \ 67*4882a593Smuzhiyun rknn/ssd/ssd_1808/box_priors.txt 68*4882a593Smuzhiyunelse 69*4882a593SmuzhiyunRKNN_MODEL_RESOURCE_FILES = rknn/ssd/ssd_3399pro/mobilenet_ssd.rknn \ 70*4882a593Smuzhiyun rknn/ssd/ssd_3399pro/coco_labels_list.txt \ 71*4882a593Smuzhiyun rknn/ssd/ssd_3399pro/box_priors.txt 72*4882a593Smuzhiyunendif 73*4882a593Smuzhiyunendif 74*4882a593Smuzhiyun 75*4882a593SmuzhiyunRKNN_DEMO_CONF_OPTS += -DMODEL_RESOURCE_FILES="$(RKNN_MODEL_RESOURCE_FILES)" 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun$(eval $(cmake-package)) 78