148 lines
5.2 KiB
Makefile
148 lines
5.2 KiB
Makefile
|
|
ifeq ($(MEDIA_PARAM), )
|
|
MEDIA_PARAM:=../Makefile.param
|
|
include $(MEDIA_PARAM)
|
|
endif
|
|
|
|
export LC_ALL=C
|
|
SHELL:=/bin/bash
|
|
|
|
CURRENT_DIR := $(shell pwd)
|
|
|
|
PKG_TARBALL := v4l-utils-1.16.5.tar.bz2
|
|
PKG_NAME := v4l-utils-1.16.5
|
|
PKG_PATCHES_LIBV4L := patches
|
|
PKG_BIN ?= out
|
|
PKG_BIN_NEED_INSTALL_ROOT := $(RK_MEDIA_NEED_INSTALL_ROOT_DIR_NAME)
|
|
PKG_DEPEN_BUILD:=
|
|
|
|
pkg-build += pre-built
|
|
|
|
ifeq ($(RK_MEDIA_LIB_TYPE),uclibc)
|
|
PKG_NAME_ARGP:= argp-standalone-1.3
|
|
PKG_TARBALL_ARGP:= argp-standalone-1.3.tar.gz
|
|
PKG_PATCHES_ARGP:=patches_argp
|
|
PKG_DEPEN_BUILD:= \
|
|
CPPFLAGS="-I$(CURRENT_DIR)/$(PKG_NAME_ARGP) -L$(CURRENT_DIR)/$(PKG_NAME_ARGP)" \
|
|
LDFLAGS="$(RK_MEDIA_CROSS_CFLAGS) -L$(CURRENT_DIR)/$(PKG_NAME_ARGP) -largp"
|
|
pkg-build += build-argp
|
|
endif
|
|
|
|
ifeq ($(PKG_BIN),)
|
|
$(error ### $(CURRENT_DIR): PKG_BIN is NULL, Please Check !!!)
|
|
endif
|
|
|
|
ifeq ($(CONFIG_LIBV4L),y)
|
|
PKG_TARGET := libv4l-build
|
|
endif
|
|
|
|
all: $(PKG_TARGET)
|
|
@echo "build $(PKG_NAME) done"
|
|
|
|
libv4l-build: $(pkg-build)
|
|
@test -f $(CURRENT_DIR)/$(PKG_BIN)/$(PKG_BIN_NEED_INSTALL_ROOT)/usr/lib/libv4l2.so.0.0.0 || (\
|
|
rm -rf $(PKG_BIN); \
|
|
tar -xf $(PKG_TARBALL); \
|
|
mkdir -p $(CURRENT_DIR)/$(PKG_NAME)/$(PKG_BIN); \
|
|
mkdir -p $(CURRENT_DIR)/$(PKG_BIN); \
|
|
pushd $(CURRENT_DIR)/$(PKG_NAME); \
|
|
cp -af $(CURRENT_DIR)/$(PKG_PATCHES_LIBV4L)/* ./; \
|
|
$(SHELL) ./libv4l.patch.sh; \
|
|
autoreconf -f -i; \
|
|
CFLAGS="$(RK_MEDIA_CROSS_CFLAGS) -fPIC" \
|
|
$(PKG_DEPEN_BUILD) \
|
|
ac_cv_lbl_unaligned_fail=yes \
|
|
ac_cv_func_mmap_fixed_mapped=yes \
|
|
ac_cv_func_memcmp_working=yes \
|
|
ac_cv_have_decl_malloc=yes \
|
|
gl_cv_func_malloc_0_nonnull=yes \
|
|
ac_cv_func_malloc_0_nonnull=yes \
|
|
ac_cv_func_calloc_0_nonnull=yes \
|
|
ac_cv_func_realloc_0_nonnull=yes \
|
|
lt_cv_sys_lib_search_path_spec="" \
|
|
ac_cv_c_bigendian=no \
|
|
ac_cv_prog_cc_c99='-std=gnu99' \
|
|
PKG_CONFIG="" \
|
|
ALSA_LIBS="$(RK_MEDIA_OUTPUT)/lib" \
|
|
ALSA_CFLAGS="$(RK_MEDIA_OUTPUT)/include" \
|
|
./configure --host=$(RK_MEDIA_CROSS) --target=$(RK_MEDIA_CROSS) \
|
|
--prefix=$(CURRENT_DIR)/$(PKG_NAME)/$(PKG_BIN) \
|
|
--disable-gtk-doc --disable-gtk-doc-html --disable-doc --disable-docs \
|
|
--disable-documentation \
|
|
--with-xmlto=no --with-fop=no --disable-dependency-tracking \
|
|
--disable-nls --disable-static --enable-shared \
|
|
--disable-doxygen-doc --disable-qvidcap --without-jpeg \
|
|
--disable-libdvbv5 \
|
|
--enable-builtin-plugins \
|
|
--exec-prefix=/usr \
|
|
--localstatedir=/var \
|
|
--datarootdir=/usr/share \
|
|
--includedir=/usr/include \
|
|
--sysconfdir=/etc \
|
|
--libdir=/usr/lib \
|
|
--datadir=/usr/share \
|
|
--with-udevdir=/usr/lib/udev \
|
|
--disable-bpf --disable-qv4l2 \
|
|
--enable-v4l-utils ;\
|
|
make -j$(RK_JOBS) || exit -1; \
|
|
make install DESTDIR=$(CURRENT_DIR)/$(PKG_NAME)/$(PKG_BIN) > /dev/null; \
|
|
cp -fra $(CURRENT_DIR)/$(PKG_NAME)/$(PKG_BIN)/* \
|
|
$(CURRENT_DIR)/$(PKG_BIN); \
|
|
mv $(CURRENT_DIR)/$(PKG_BIN)/usr/include $(CURRENT_DIR)/$(PKG_BIN); \
|
|
rm -rf $(CURRENT_DIR)/$(PKG_BIN)/usr/share $(CURRENT_DIR)/$(PKG_BIN)/usr/lib/udev $(CURRENT_DIR)/$(PKG_BIN)/etc; \
|
|
mkdir -p $(CURRENT_DIR)/$(PKG_BIN)/root; \
|
|
mv $(CURRENT_DIR)/$(PKG_BIN)/{etc,usr} $(CURRENT_DIR)/$(PKG_BIN)/root; \
|
|
popd; ) || exit -1;
|
|
@rm -rf \
|
|
$(PKG_BIN)/$(PKG_BIN_NEED_INSTALL_ROOT)/usr/lib/pkgconfig \
|
|
$(PKG_BIN)/$(PKG_BIN_NEED_INSTALL_ROOT)/usr/lib/libv4l/ov518-decomp \
|
|
$(PKG_BIN)/$(PKG_BIN_NEED_INSTALL_ROOT)/usr/lib/libv4l/ov511-decomp \
|
|
$(PKG_BIN)/$(PKG_BIN_NEED_INSTALL_ROOT)/usr/bin/rds-ctl \
|
|
$(PKG_BIN)/$(PKG_BIN_NEED_INSTALL_ROOT)/usr/bin/v4l2-compliance \
|
|
$(PKG_BIN)/$(PKG_BIN_NEED_INSTALL_ROOT)/usr/bin/cec-compliance \
|
|
$(PKG_BIN)/$(PKG_BIN_NEED_INSTALL_ROOT)/usr/bin/v4l2-sysfs-path \
|
|
$(PKG_BIN)/$(PKG_BIN_NEED_INSTALL_ROOT)/usr/bin/cec-follower \
|
|
$(PKG_BIN)/$(PKG_BIN_NEED_INSTALL_ROOT)/usr/bin/ir-ctl \
|
|
$(PKG_BIN)/$(PKG_BIN_NEED_INSTALL_ROOT)/usr/bin/decode_tm6000 \
|
|
$(PKG_BIN)/$(PKG_BIN_NEED_INSTALL_ROOT)/usr/bin/cx18-ctl \
|
|
$(PKG_BIN)/$(PKG_BIN_NEED_INSTALL_ROOT)/usr/bin/ivtv-ctl \
|
|
$(PKG_BIN)/$(PKG_BIN_NEED_INSTALL_ROOT)/usr/bin/ir-keytable \
|
|
$(PKG_BIN)/$(PKG_BIN_NEED_INSTALL_ROOT)/usr/bin/cec-ctl ;
|
|
@find $(PKG_BIN) -name "*.la" -exec rm -rf {} \; ;
|
|
$(call MAROC_COPY_PKG_TO_MEDIA_OUTPUT, $(RK_MEDIA_OUTPUT), $(PKG_BIN))
|
|
|
|
pre-built: alsa_lib
|
|
@test ! -f $(CURRENT_DIR)/$(PKG_NAME)-$(RK_MEDIA_CROSS).tar.bz2 || (\
|
|
rm -rf $(PKG_BIN); \
|
|
echo "Uncompress pre-built $(PKG_NAME)"; \
|
|
mkdir -p $(PKG_BIN); \
|
|
tar xf $(CURRENT_DIR)/$(PKG_NAME)-$(RK_MEDIA_CROSS).tar.bz2 -C $(PKG_BIN); \
|
|
exit 0; )
|
|
|
|
build-argp:
|
|
@test -f $(CURRENT_DIR)/$(PKG_NAME)-$(RK_MEDIA_CROSS).tar.bz2 || (\
|
|
rm -rf $(PKG_NAME_ARGP); \
|
|
tar -xf $(PKG_TARBALL_ARGP); \
|
|
pushd $(CURRENT_DIR)/$(PKG_NAME_ARGP); \
|
|
cp -af $(CURRENT_DIR)/$(PKG_PATCHES_ARGP)/* ./; \
|
|
$(SHELL) ./argp.patch.sh; \
|
|
CFLAGS="$(RK_MEDIA_CROSS_CFLAGS) -Os -fPIC -fgnu89-inline" \
|
|
./configure --target=$(RK_MEDIA_CROSS) \
|
|
--host=$(RK_MEDIA_CROSS) \
|
|
--exec-prefix=/usr \
|
|
--sysconfdir=/etc \
|
|
--localstatedir=/var \
|
|
--disable-gtk-doc --disable-gtk-doc-html --disable-doc \
|
|
--disable-docs --disable-documentation \
|
|
--with-xmlto=no --with-fop=no --disable-dependency-tracking ; \
|
|
make -j$(RK_JOBS) || exit -1; \
|
|
popd; ) || exit -1;
|
|
|
|
alsa_lib:
|
|
@make -C $(RK_MEDIA_TOP_DIR)/alsa-lib
|
|
|
|
clean: distclean
|
|
|
|
distclean:
|
|
-rm -rf $(PKG_NAME) $(PKG_BIN) $(PKG_NAME_ARGP)
|