include $(TOPDIR)/rules.mk include $(BUILD_DIR)/kernel.mk PKG_NAME:=liballwinner PKG_VERSION:=1 PKG_RELEASE:=1 ifeq ($(TARGET_BOARD_PLATFORM),$(filter $(TARGET_BOARD_PLATFORM),astar tulip)) PKG_BUILD_DIR := $(COMPILE_DIR)/liballwinner_tina endif include $(BUILD_DIR)/package.mk TINA_CHIP_TYPE = r16 TINA_PRODUCT_TYPE = tvbox TOOL_CHAIN = muslgnueabi VIDEO_DECODE_LIB := libcdc_vd_avs.so \ libcdc_vd_h264.so \ libcdc_vd_h265.so \ libcdc_vd_mjpegplus.so \ libcdc_vd_mjpeg.so \ libcdc_vd_mpeg2.so \ libcdc_vd_mpeg4base.so \ libcdc_vd_mpeg4h263.so \ libcdc_vd_mpeg4normal.so \ libcdc_vd_mpeg4vp6.so \ libcdc_vd_vp8.so \ libcdc_vd_wmv3.so \ libcdc_vd_mpeg4dx.so SYSTEM_LIB := libasound.so \ libcrypto.so \ libssl.so \ libxml2.so \ libz.so ifeq ($(TARGET_BOARD_PLATFORM),astar) TINA_CHIP_TYPE = r16 TOOL_CHAIN = muslgnueabi endif ifeq ($(TARGET_BOARD_PLATFORM),tulip) TINA_CHIP_TYPE = r18 TOOL_CHAIN = muslgnueabi64 endif ifeq ($(TARGET_BOARD_PLATFORM),$(filter $(TARGET_BOARD_PLATFORM),astar tulip)) define Package/$(PKG_NAME) SECTION:=utils CATEGORY:=Allwinner TITLE:=CedarX2.6 for allwinner DEPENDS:=+libpthread \ +libopenssl \ +libstdcpp \ +zlib \ +alsa-lib endef define Package/$(PKG_NAME)/config endef define Package/$(PKG_NAME)/Default TITLE:=liballwinner for all URL:=http://www.allwinner.com/ endef define Package/$(PKG_NAME)/description CedarX2.6 endef define Package/jpegdecodedemo_old SUBMENU:=liballwinner_tina_demo SECTION:=utils CATEGORY:=Allwinner TITLE:=decode jpeg demo which use CedarX2.6 interface DEPENDS:=+liballwinner endef define Package/jpegdecodedemo_old/description CedarX2.6 tina jpeg decode endef define Build/Prepare mkdir -p $(PKG_BUILD_DIR) $(CP) -r ./liballwinner/LIBRARY $(PKG_BUILD_DIR)/ $(CP) -r ./liballwinner/awrecorder $(PKG_BUILD_DIR)/ $(CP) -r ./liballwinner/xplayer $(PKG_BUILD_DIR)/ $(CP) -r ./liballwinner/xmetadataretriever $(PKG_BUILD_DIR)/ $(CP) -r ./liballwinner/Makefile.inc $(PKG_BUILD_DIR)/ $(CP) -r ./tinaplayer $(PKG_BUILD_DIR)/tinaplayer $(CP) -r ./demo $(PKG_BUILD_DIR)/ #cd $(PKG_BUILD_DIR)/; rm -rf ./LIBRARY/EXTERNAL/include/alsa/ ./LIBRARY/EXTERNAL/include/libxml/ ./LIBRARY/EXTERNAL/include/openssl/ ./LIBRARY/EXTERNAL/include/zlib/ #cd $(PKG_BUILD_DIR)/LIBRARY/EXTERNAL/lib32/muslgnueabi/; rm -rf $(SYSTEM_LIB) endef define Build/Configure $(info *****************target_board_platform = $(TARGET_BOARD_PLATFORM)**************) $(info *****************chip type = $(TINA_CHIP_TYPE)**************) $(info *****************tool chain = $(TOOL_CHAIN)**************) cd $(PKG_BUILD_DIR); ./LIBRARY/configure --tool-chain=$(TOOL_CHAIN) --cedarx-path=$(PKG_BUILD_DIR) --chip=$(TINA_CHIP_TYPE) --product=$(TINA_PRODUCT_TYPE) --ssl-enable=yes --live555-enable=no --mms=yes endef define Build/Compile $(MAKE) -C $(PKG_BUILD_DIR)/LIBRARY \ ARCH="$(TARGET_ARCH)" \ AR="$(TARGET_AR)" \ CC="$(TARGET_CC)" \ CPP="$(TARGET_CXX)" \ CFLAGS="$(TARGET_CFLAGS)" \ LDFLAGS="$(TARGET_LDFLAGS)" \ PREFIX="$(PKG_INSTALL_DIR)" \ all \ install $(MAKE) -C $(PKG_BUILD_DIR)/tinaplayer \ ARCH="$(TARGET_ARCH)" \ AR="$(TARGET_AR)" \ CC="$(TARGET_CC)" \ CPP="$(TARGET_CXX)" \ CFLAGS="$(TARGET_CFLAGS)" \ LDFLAGS="$(TARGET_LDFLAGS)" $(MAKE) -C $(PKG_BUILD_DIR)/demo/jpegdecodedemo \ ARCH="$(TARGET_ARCH)" \ AR="$(TARGET_AR)" \ CC="$(TARGET_CC)" \ CPP="$(TARGET_CXX)" \ CFLAGS="$(TARGET_CFLAGS)" \ LDFLAGS="$(TARGET_LDFLAGS)" # when compile fisished, the targets should be copy to $(PKG_INSTALL_DIR) endef define Build/InstallDev mkdir -p $(PKG_INSTALL_DIR) $(INSTALL_DIR) $(PKG_INSTALL_DIR)/usr/lib $(INSTALL_DIR) $(PKG_INSTALL_DIR)/usr/bin $(INSTALL_DIR) $(PKG_INSTALL_DIR)/usr/include/allwinner ############################################################ ## copy libraries $(CP) $(PKG_BUILD_DIR)/LIBRARY/install/lib/*.so $(PKG_INSTALL_DIR)/usr/lib/ $(CP) $(PKG_BUILD_DIR)/LIBRARY/install/external/*.so $(PKG_INSTALL_DIR)/usr/lib/ $(CP) $(PKG_BUILD_DIR)/tinaplayer/libtinaplayer.so $(PKG_INSTALL_DIR)/usr/lib/ cd $(PKG_INSTALL_DIR)/usr/lib/; rm -rf $(SYSTEM_LIB) ################################################################# ##################################################################### ## copy header files. $(CP) $(PKG_BUILD_DIR)/LIBRARY/cdx_config.h $(PKG_INSTALL_DIR)/usr/include/allwinner/ $(CP) $(PKG_BUILD_DIR)/LIBRARY/log.h $(PKG_INSTALL_DIR)/usr/include/allwinner/ $(CP) $(PKG_BUILD_DIR)/LIBRARY/version.h $(PKG_INSTALL_DIR)/usr/include/allwinner/ ## DEMUX -cp -r $(PKG_BUILD_DIR)/LIBRARY/DEMUX/BASE/include $(PKG_INSTALL_DIR)/usr/include/allwinner/ -cp -r $(PKG_BUILD_DIR)/LIBRARY/DEMUX/STREAM/include $(PKG_INSTALL_DIR)/usr/include/allwinner/ -cp -r $(PKG_BUILD_DIR)/LIBRARY/DEMUX/PARSER/include $(PKG_INSTALL_DIR)/usr/include/allwinner/ -cp -r $(PKG_BUILD_DIR)/LIBRARY/DEMUX/MUXER/include $(PKG_INSTALL_DIR)/usr/include/allwinner/ ## CODEC -cp $(PKG_BUILD_DIR)/LIBRARY/libcedarc/include/*.h $(PKG_INSTALL_DIR)/usr/include/allwinner/ ## PLAYER -cp $(PKG_BUILD_DIR)/LIBRARY/PLAYER/include/soundControl.h $(PKG_INSTALL_DIR)/usr/include/allwinner/ -cp $(PKG_BUILD_DIR)/LIBRARY/PLAYER/include/layerControl.h $(PKG_INSTALL_DIR)/usr/include/allwinner/ -cp $(PKG_BUILD_DIR)/LIBRARY/PLAYER/include/player.h $(PKG_INSTALL_DIR)/usr/include/allwinner/ ## xplayer -cp $(PKG_BUILD_DIR)/xplayer/awplayer.h $(PKG_INSTALL_DIR)/usr/include/allwinner/ ## awrecorder -cp $(PKG_BUILD_DIR)/awrecorder/awencoder.h $(PKG_INSTALL_DIR)/usr/include/allwinner/ ## tinaplayer -cp $(PKG_BUILD_DIR)/tinaplayer/tinaplayer.h $(PKG_INSTALL_DIR)/usr/include/allwinner/ ######################################################################################### $(CP) $(PKG_INSTALL_DIR)/usr $(1)/usr # the targets should be copy to $(1),for global symbol for other package endef define Package/$(PKG_NAME)/install $(INSTALL_DIR) $(1)/usr/lib/ $(INSTALL_DIR) $(1)/usr/bin/ ############################################################ # copy libraries $(INSTALL_BIN) $(PKG_BUILD_DIR)/LIBRARY/install/lib/*.so $(1)/usr/lib/ $(INSTALL_BIN) $(PKG_BUILD_DIR)/LIBRARY/install/external/*.so $(1)/usr/lib/ $(INSTALL_BIN) $(PKG_BUILD_DIR)/tinaplayer/libtinaplayer.so $(1)/usr/lib/ cd $(1)/usr/lib/; rm -rf $(SYSTEM_LIB) endef define Package/jpegdecodedemo_old/install $(INSTALL_DIR) $(1)/usr/lib/ $(INSTALL_DIR) $(1)/usr/bin/ $(INSTALL_BIN) $(PKG_BUILD_DIR)/demo/jpegdecodedemo/jpegdecodedemo $(1)/usr/bin/ endef endif ifeq ($(TARGET_BOARD_PLATFORM),$(filter $(TARGET_BOARD_PLATFORM),astar tulip)) $(eval $(call BuildPackage,$(PKG_NAME))) endif ifeq ($(TARGET_BOARD_PLATFORM),$(filter $(TARGET_BOARD_PLATFORM),astar tulip)) $(eval $(call BuildPackage,jpegdecodedemo_old)) endif