2 # Copyright (C) 2017 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
7 include $(TOPDIR
)/rules.mk
9 PKG_NAME
:=v4l2rtspserver
13 #cannot use codeload as this uses submodules
15 PKG_SOURCE_URL
:=https
://github.com
/mpromonet
/v4l2rtspserver
16 PKG_SOURCE_VERSION
:=v
$(PKG_VERSION
)
17 PKG_MIRROR_HASH
:=73499d0db515ae0d66c6d2a73c9c474ca35007aaf17451da01e793d972eab35a
19 PKG_MAINTAINER
:=Roger Dammit
<rogerdammit@gmail.com
>
20 PKG_LICENSE
:=Unlicense
21 PKG_LICENSE_FILES
:=LICENSE
23 LIVE555_VERSION
:=2019.02.03
24 LIVE555_HASH
:=1c938d91553eff224c7a860f8f38b3256028704b474a3fc6bcf2eddc42268710
25 LIVE555_FILE
:=live.
$(LIVE555_VERSION
).
tar.gz
30 include $(INCLUDE_DIR
)/uclibc
++.mk
31 include $(INCLUDE_DIR
)/package.mk
32 include $(INCLUDE_DIR
)/cmake.mk
34 define Package
/v4l2rtspserver
38 DEPENDS
:=$(CXX_DEPENDS
)
39 URL
:=https
://github.com
/mpromonet
/v4l2rtspserver
42 define Package
/v4l2rtspserver
/description
43 RTSP server for v4L2 video sources
46 define Package
/v4l2rtspserver
/conffiles
47 /etc
/config
/v4l2rtspserver
50 define Download
/live555
51 URL
:=https
://download.videolan.org
/pub
/contrib
/live555
/
56 TARGET_CFLAGS
+= -flto
57 TARGET_CXXFLAGS
+= -fno-rtti
58 TARGET_LDFLAGS
+= -Wl
,--gc-sections
61 $(Build
/Prepare
/Default
)
63 ## need to compile some dependencies so that cmake will find them
66 $(eval
$(call Download
,live555
))
68 mkdir
-p
$(PKG_BUILD_DIR
)/live555
69 $(TAR
) -xf
$(DL_DIR
)/$(LIVE555_FILE
) --strip=1 -C
$(PKG_BUILD_DIR
)/live555
70 $(CP
) files
/config.openwrt
$(PKG_BUILD_DIR
)/live555
71 ( cd
$(PKG_BUILD_DIR
)/live555
; .
/genMakefiles openwrt
)
73 +$(MAKE_VARS
) $(MAKE
) $(MAKE_FLAGS
) -C
$(PKG_BUILD_DIR
)/live555
74 $(MAKE_VARS
) $(MAKE
) $(MAKE_FLAGS
) -C
$(PKG_BUILD_DIR
)/live555 PREFIX
="$(STAGING_DIR)/usr/" install
77 +$(MAKE_VARS
) $(MAKE
) $(MAKE_FLAGS
) -C
$(PKG_BUILD_DIR
)/v4l2wrapper
78 $(CP
) $(PKG_BUILD_DIR
)/v4l2wrapper
/libv4l2wrapper.a
$(PKG_BUILD_DIR
)
80 # cmake patches (these are very hacky and should be a lot cleaner)
82 # prevent root path override
83 $(SED
) 's/SET(CMAKE_FIND_ROOT_PATH/#SET(CMAKE_FIND_ROOT_PATH/' $(PKG_BUILD_DIR
)/CMakeLists.txt
85 # set search path for v4l2wrapper to current build dir
86 $(SED
) 's/V4L2WRAPPER_LIBRARY libv4l2wrapper.a/V4L2WRAPPER_LIBRARY libv4l2wrapper.a PATHS "." NO_CMAKE_FIND_ROOT_PATH/' $(PKG_BUILD_DIR
)/CMakeLists.txt
89 $(SED
) 's/find_package(ALSA QUIET)//' $(PKG_BUILD_DIR
)/CMakeLists.txt
92 define Package
/v4l2rtspserver
/install
93 $(INSTALL_DIR
) $(1)/usr
/bin
94 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/v4l2rtspserver-
$(PKG_VERSION
) $(1)/usr
/bin
/
95 mv
$(1)/usr
/bin
/v4l2rtspserver-
$(PKG_VERSION
) $(1)/usr
/bin
/v4l2rtspserver
97 $(INSTALL_DIR
) $(1)/etc
/init.d
98 $(INSTALL_BIN
) files
/v4l2rtspserver.init
$(1)/etc
/init.d
/v4l2rtspserver
99 $(INSTALL_DIR
) $(1)/etc
/config
100 $(INSTALL_CONF
) files
/v4l2rtspserver.config
$(1)/etc
/config
/v4l2rtspserver
103 $(eval
$(call BuildPackage
,v4l2rtspserver
))