lede-packages-rs

git clone git://archive.git.mtrnord.blog/MTRNord/lede-packages-rs.git
Log | Files | Refs | README | LICENSE

Makefile (3557B)


      1 # 
      2 # Copyright (C) 2010 OpenWrt.org
      3 #
      4 # This is free software, licensed under the GNU General Public License v2.
      5 # See /LICENSE for more information.
      6 #
      7 
      8 include $(TOPDIR)/rules.mk
      9 
     10 PKG_NAME:=crtmpserver
     11 PKG_REV:=b6fdcdb953d1e99c48a0c37a8c80f2cad2db443b
     12 PKG_VERSION:=2012-07-18+git-$(PKG_REV)
     13 PKG_RELEASE:=2
     14 PKG_BUILD_PARALLEL:=2
     15 PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>
     16 PKG_LICENSE:=GPL-3.0
     17 
     18 
     19 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
     20 PKG_SOURCE_URL:=https://github.com/j0sh/crtmpserver.git
     21 PKG_SOURCE_SUBDIR:=crtmpserver-$(PKG_VERSION)
     22 PKG_SOURCE_VERSION:=$(PKG_REV)
     23 PKG_SOURCE_PROTO:=git
     24 
     25 include $(INCLUDE_DIR)/package.mk
     26 
     27 define Package/crtmpserver
     28   SECTION:=multimedia
     29   CATEGORY:=Multimedia
     30   DEPENDS:=+libopenssl +libstdcpp +liblua
     31   TITLE:=C++ RTMP Server
     32   URL:=http://www.rtmpd.com/
     33 endef
     34 
     35 define Package/crtmpserver/description
     36 C++ RTMP Server it is a high performance streaming server able to
     37 stream (live or recorded) in the following technologies:
     38  * To and from Flash (RTMP,RTMPE, RTMPS, RTMPT, RTMPTE)
     39  * To and from embedded devices: iPhone, Android
     40  * From surveillance cameras
     41  * IP-TV using MPEG-TS and RTSP/RTCP/RTP protocols
     42                 
     43 Also, crtmpserver can be used as a high performance rendes-vous
     44 server. For example, it enables you to do:
     45  * Audio/Video conferencing
     46  * Online gaming
     47  * Online collaboration
     48  * Simple/complex chat applications
     49 endef
     50 
     51 define Package/crtmpserver/conffiles
     52 /etc/crtmpserver.lua
     53 endef
     54 
     55 # XXX: this hack handles the usr/bin vs bin difference of backfire and trunk
     56 TS_BASE:=$(wildcard $(TOOLCHAIN_DIR)/bin/$(TARGET_CC))
     57 TS_BASE:=$(dir $(if $(TS_BASE),$(TS_BASE),$(wildcard $(TOOLCHAIN_DIR)/usr/bin/$(TARGET_CC))))
     58 
     59 define Build/Configure
     60 	(cd $(PKG_BUILD_DIR)/builders/make; \
     61 		cp linux.mk linux-openwrt-uclibc.mk; \
     62 		$(SED) 's,^TOOLCHAIN_BASE[[:space:]]*=.*,TOOLCHAIN_BASE=$(TS_BASE),' \
     63 			-e 's,^TOOLCHAIN_PREFIX[[:space:]]*=.*,TOOLCHAIN_PREFIX=$(TARGET_CROSS),' \
     64 			-e 's,^CCOMPILER[[:space:]]*=.*,CCOMPILER=$(TARGET_CC),' \
     65 			-e 's,^CXXCOMPILER[[:space:]]*=.*,CXXCOMPILER=$(TARGET_CXX),' \
     66 			-e 's,^OPTIMIZATIONS[[:space:]]*=.*,OPTIMIZATIONS=-O2,' \
     67 			-e 's,^SSL_BASE[[:space:]]*=.*,SSL_BASE=$(STAGING_DIR)/usr,' \
     68 			linux-openwrt-uclibc.mk)
     69 	(cd $(PKG_BUILD_DIR)/sources/common/include/; \
     70 		echo '#define CRTMPSERVER_VERSION_RELEASE_NUMBER "$(PKG_VERSION)\n"' > version.h; \
     71 		echo '#define CRTMPSERVER_VERSION_CODE_NAME "Git\n"'                >> version.h)
     72 endef
     73 
     74 define Build/Compile
     75 	+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/builders/make \
     76 		PLATFORM=linux-openwrt-uclibc -Wno-error -j6
     77 endef
     78 
     79 define Package/crtmpserver/install
     80 	$(INSTALL_DIR) $(1)/usr/bin
     81 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/builders/make/output/dynamic/crtmpserver $(1)/usr/bin/
     82 	$(INSTALL_DIR) $(1)/usr/lib/crtmpserver
     83 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/builders/make/output/dynamic/*.so $(1)/usr/lib/crtmpserver/
     84 	$(foreach app,flvplayback samplefactory admin stresstest appselector vptests applestreamingclient proxypublish, \
     85 		$(INSTALL_DIR) $(1)/usr/lib/crtmpserver/$(app); \
     86 		$(INSTALL_BIN) $(PKG_BUILD_DIR)/builders/make/output/dynamic/applications/$(app)/lib$(app).so \
     87 			$(1)/usr/lib/crtmpserver/$(app)/; \
     88 	)
     89 	$(INSTALL_DIR) $(1)/etc
     90 	$(INSTALL_CONF) $(PKG_BUILD_DIR)/builders/make/output/dynamic/crtmpserver.lua $(1)/etc/
     91 	$(INSTALL_DIR) $(1)/usr/share/crtmpserver/appselector
     92 	$(INSTALL_DIR) $(1)/usr/share/crtmpserver/media
     93 	$(INSTALL_DIR) $(1)/etc/init.d
     94 	$(INSTALL_BIN) ./files/crtmpserver.init $(1)/etc/init.d/crtmpserver
     95 endef
     96 
     97 $(eval $(call BuildPackage,crtmpserver))
     98