- #
- # Copyright (C) 2010 OpenWrt.org
- #
- # This is free software, licensed under the GNU General Public License v2.
- # See /LICENSE for more information.
- #
-
- include $(TOPDIR)/rules.mk
-
- PKG_NAME:=crtmpserver
- PKG_REV:=b6fdcdb953d1e99c48a0c37a8c80f2cad2db443b
- PKG_VERSION:=2012-07-18+git-$(PKG_REV)
- PKG_RELEASE:=4
-
- PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
- PKG_SOURCE_URL:=https://codeload.github.com/j0sh/crtmpserver/tar.gz/$(PKG_REV)?
- PKG_HASH:=e210eeb99d39334e7beb0a1be27dcf23d1f851383f87cf63d7fb98209ef96cee
- PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_REV)
-
- PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>
- PKG_LICENSE:=GPL-3.0
-
- PKG_BUILD_PARALLEL:=1
-
- include $(INCLUDE_DIR)/uclibc++.mk
- include $(INCLUDE_DIR)/package.mk
-
- define Package/crtmpserver
- SECTION:=multimedia
- CATEGORY:=Multimedia
- DEPENDS:=$(CXX_DEPENDS) +libopenssl +liblua
- TITLE:=C++ RTMP Server
- endef
-
- define Package/crtmpserver/description
- C++ RTMP Server it is a high performance streaming server able to
- stream (live or recorded) in the following technologies:
- * To and from Flash (RTMP,RTMPE, RTMPS, RTMPT, RTMPTE)
- * To and from embedded devices: iPhone, Android
- * From surveillance cameras
- * IP-TV using MPEG-TS and RTSP/RTCP/RTP protocols
-
- Also, crtmpserver can be used as a high performance rendes-vous
- server. For example, it enables you to do:
- * Audio/Video conferencing
- * Online gaming
- * Online collaboration
- * Simple/complex chat applications
- endef
-
- define Package/crtmpserver/conffiles
- /etc/crtmpserver.lua
- endef
-
- # XXX: this hack handles the usr/bin vs bin difference of backfire and trunk
- TS_BASE:=$(wildcard $(TOOLCHAIN_DIR)/bin/$(TARGET_CC))
- TS_BASE:=$(dir $(if $(TS_BASE),$(TS_BASE),$(wildcard $(TOOLCHAIN_DIR)/usr/bin/$(TARGET_CC))))
-
- define Build/Configure
- (cd $(PKG_BUILD_DIR)/builders/make; \
- cp linux.mk linux-openwrt-uclibc.mk; \
- $(SED) 's,^TOOLCHAIN_BASE[[:space:]]*=.*,TOOLCHAIN_BASE=$(TS_BASE),' \
- -e 's,^TOOLCHAIN_PREFIX[[:space:]]*=.*,TOOLCHAIN_PREFIX=$(TARGET_CROSS),' \
- -e 's,^CCOMPILER[[:space:]]*=.*,CCOMPILER=$(TARGET_CC),' \
- -e 's,^CXXCOMPILER[[:space:]]*=.*,CXXCOMPILER=$(TARGET_CXX) -std=gnu++03,' \
- -e 's,^OPTIMIZATIONS[[:space:]]*=.*,OPTIMIZATIONS=-O2,' \
- -e 's,^SSL_BASE[[:space:]]*=.*,SSL_BASE=$(STAGING_DIR)/usr,' \
- linux-openwrt-uclibc.mk)
- (cd $(PKG_BUILD_DIR)/sources/common/include/; \
- echo '#define CRTMPSERVER_VERSION_RELEASE_NUMBER "$(PKG_VERSION)\n"' > version.h; \
- echo '#define CRTMPSERVER_VERSION_CODE_NAME "Git\n"' >> version.h)
- endef
-
- define Build/Compile
- +$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/builders/make \
- PLATFORM=linux-openwrt-uclibc -Wno-error -j6
- endef
-
- define Package/crtmpserver/install
- $(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/builders/make/output/dynamic/crtmpserver $(1)/usr/bin/
- $(INSTALL_DIR) $(1)/usr/lib/crtmpserver
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/builders/make/output/dynamic/*.so $(1)/usr/lib/crtmpserver/
- $(foreach app,flvplayback samplefactory admin stresstest appselector vptests applestreamingclient proxypublish, \
- $(INSTALL_DIR) $(1)/usr/lib/crtmpserver/$(app); \
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/builders/make/output/dynamic/applications/$(app)/lib$(app).so \
- $(1)/usr/lib/crtmpserver/$(app)/; \
- )
- $(INSTALL_DIR) $(1)/etc
- $(INSTALL_CONF) $(PKG_BUILD_DIR)/builders/make/output/dynamic/crtmpserver.lua $(1)/etc/
- $(INSTALL_DIR) $(1)/usr/share/crtmpserver/appselector
- $(INSTALL_DIR) $(1)/usr/share/crtmpserver/media
- $(INSTALL_DIR) $(1)/etc/init.d
- $(INSTALL_BIN) ./files/crtmpserver.init $(1)/etc/init.d/crtmpserver
- endef
-
- $(eval $(call BuildPackage,crtmpserver))
-
|