[Buildroot] [PATCH 4/4] qtuio: new package
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Thu Aug 30 03:53:45 UTC 2012
Le Wed, 29 Aug 2012 11:01:09 +0200,
Stephan Hoffmann <sho at relinux.de> a écrit :
> new file mode 100644
> index 0000000..dfea228
> --- /dev/null
> +++ b/package/qtuio/Config.in
> @@ -0,0 +1,18 @@
> +config BR2_PACKAGE_QTUIO
> + bool "qtuio"
> + select BR2_PACKAGE_MTDEF2TUIO
Shouldn't this be MTDEV2TUIO ?
> + depends on BR2_PACKAGE_QT
The code of qtuio also suggests it requires GUI support in Qt, so I
guess some other dependencies are needed here.
> + help
> + Implementation of an interface connecting TUIO messages
> + and QT events
> +
> + https://github.com/x29a/qTUIO
> +
> +comment "qtuio depends on QT"
> + depends on !BR2_PACKAGE_QT
This comment should be below the examples config option in order to
make sure that the examples config option gets "indented" under the
main qtuio config option.
> +
> +config BR2_QTUIO_EXAMPLES
> + bool "qtuio_examples"
Make this "qtuio examples".
> + depends on BR2_PACKAGE_QTUIO
> + help
> + Build and install qtuio examples
> diff --git a/package/qtuio/qtuio.mk b/package/qtuio/qtuio.mk
> new file mode 100644
> index 0000000..efaeae8
> --- /dev/null
> +++ b/package/qtuio/qtuio.mk
> @@ -0,0 +1,68 @@
> +#############################################################
> +#
> +# qTUIO
> +#
> +#############################################################
> +QTUIO_VERSION = abe4973ff6
> +QTUIO_SITE = git://github.com/x29a/qTUIO.git
> +QTUIO_DEPENDENCIES = qt mtdev2tuio
Is mtdev2tuio really a build-time dependency? I don't think so. If it
isn't, then keep the select in the Config.in file, but remove the
build-time dependency here. Add a comment above the select in Config.in
that explicitly says that it is a runtime dependency only.
> +QTUIO_LICENSE = GPLv3+
> +QTUIO_LICENSE_FILES = COPYING
> +
> +ifeq ($(BR2_QTUIO_EXAMPLES),y)
> +define QTUIO_CONFIGURE_EXAMPLES
> +cd $(@D)/examples/dials && $(QT_QMAKE)
> +cd $(@D)/examples/fingerpaint && $(QT_QMAKE)
> +cd $(@D)/examples/knobs && $(QT_QMAKE)
> +cd $(@D)/examples/pinchzoom && $(QT_QMAKE)
> +## pong depends on QtOpenGL cd $(@D)/examples/pong && $(QT_QMAKE)
> +endef
> +endif
Mention the pong thing as a comment somewhere, only once, and don't
include the compile line if it isn't supported. Also, you could
simplify this as follows:
for example in dials fingerpaint knobs pinchzoom ; do \
(cd $(@D)/examples/$${examples} && $(QT_QMAKE)) ; \
done
And indent the code with one tab.
> +define QTUIO_CONFIGURE_CMDS
> +cd $(@D)/src && $(QT_QMAKE)
> +$(QTUIO_CONFIGURE_EXAMPLES)
> +endef
Indent with one tab.
> +ifeq ($(BR2_QTUIO_EXAMPLES),y)
> +define QTUIO_BUILD_EXAMPLES
> +$(MAKE) -C $(@D)/examples/dials
> +$(MAKE) -C $(@D)/examples/fingerpaint
> +$(MAKE) -C $(@D)/examples/knobs
> +$(MAKE) -C $(@D)/examples/pinchzoom
> +## pong depends on QtOpenGL $(MAKE) -C $(@D)/examples/pong
> +endef
> +endif
Ditto: use a for loop + indent with one tab.
> +define QTUIO_BUILD_CMDS
> +$(MAKE) -C $(@D)/src
> +$(QTUIO_BUILD_EXAMPLES)
> +endef
> +
> +ifeq ($(BR2_QTUIO_EXAMPLES),y)
> +define QTUIO_INSTALL_EXAMPLES
> +$(INSTALL) -D -m 0755 $(@D)/examples/dials/dials $(TARGET_DIR)/usr/share/qtuio/dials
> +$(INSTALL) -D -m 0755 $(@D)/examples/fingerpaint/fingerpaint $(TARGET_DIR)/usr/share/qtuio/fingerpaint
> +$(INSTALL) -D -m 0755 $(@D)/examples/knobs/knobs $(TARGET_DIR)/usr/share/qtuio/knobs
> +$(INSTALL) -D -m 0755 $(@D)/examples/pinchzoom/pinchzoom $(TARGET_DIR)/usr/share/qtuio/pinchzoom
> +## pong depends on QtOpenGL $(INSTALL) -D -m 0755 $(@D)/examples/pong/pong $(TARGET_DIR)/usr/share/qtuio/pong
> +endef
> +endif
> +
> +define QTUIO_INSTALL_TARGET_CMDS
> +$(INSTALL) -D -m 0755 $(@D)/lib/libqTUIO.so* $(TARGET_DIR)/usr/lib
Normally, install -D requires the complete destination filename as
second argument. We usually use cp when multiple files need to be
copied at once.
Doesn't the qtuio package has a usable 'make install' ?
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
More information about the buildroot
mailing list