kumquat-buildroot/package/alljoyn/alljoyn.mk
Fabrice Fontaine 9c7c9d99ab alljoyn: new package
The AllJoyn framework defines a common way for devices and apps to
communicate with one another regardless of brands, categories,
transports, and OSes. Developers write applications that discover
nearby devices, and communicate with each other directly and through
the cloud, unleashing new possibilities in the Internet of Things.

https://allseenalliance.org

Signed-off-by: Fabrice Fontaine <fabrice.fontaine@orange.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
[Thomas:
 - rewrap Config.in help text
 - remove / at the beginning of the ALLJOYN_DISTDIR variable.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-07-07 09:18:02 +02:00

70 lines
2.1 KiB
Makefile

################################################################################
#
# alljoyn
#
################################################################################
ALLJOYN_REV = 16.04
ALLJOYN_VERSION = $(ALLJOYN_REV).00
ALLJOYN_SOURCE = alljoyn-$(ALLJOYN_VERSION)-src.tar.gz
ALLJOYN_SITE = https://mirrors.kernel.org/allseenalliance/alljoyn/$(ALLJOYN_REV)
# See https://allseenalliance.org/alliance/ip-policy
ALLJOYN_LICENSE = ISC
ALLJOYN_DEPENDENCIES = host-scons libcap openssl
ALLJOYN_INSTALL_STAGING = YES
ALLJOYN_CRYPTO = openssl
# AllJoyn can be compiled in debug or release mode. By default, AllJoyn is built
# in debug mode.
ALLJOYN_VARIANT = release
ALLJOYN_BINDINGS = c,cpp
# By setting openwrt for OS and CPU, AllJoyn cross-compilation can be finely
# tuned through TARGET_xxx options. All TARGET_xxx variables must be defined
# otherwise compilation will fail.
# CROSS_COMPILE option should not be used as it works only for linux/ARM.
ALLJOYN_OS = openwrt
ALLJOYN_CPU = openwrt
# AllJoyn installs everything in this relative path
ALLJOYN_DISTDIR = build/$(ALLJOYN_OS)/$(ALLJOYN_CPU)/$(ALLJOYN_VARIANT)/dist/
ALLJOYN_SCONS_OPTS = \
-j$(PARALLEL_JOBS) \
V=1 \
OS=$(ALLJOYN_OS) \
CPU=$(ALLJOYN_CPU) \
VARIANT=$(ALLJOYN_VARIANT) \
BR=off \
CRYPTO=$(ALLJOYN_CRYPTO) \
BINDINGS=$(ALLJOYN_BINDINGS) \
TARGET_CFLAGS="$(TARGET_CFLAGS)" \
TARGET_CPPFLAGS="$(TARGET_CPPFLAGS)" \
TARGET_LINKFLAGS="$(TARGET_LINKFLAGS)" \
TARGET_CC="$(TARGET_CC)" \
TARGET_CXX="$(TARGET_CXX)" \
TARGET_LD="$(TARGET_LD)" \
TARGET_LINK="$(TARGET_CXX)" \
TARGET_AR="$(TARGET_AR)" \
TARGET_RANLIB="$(TARGET_RANLIB)" \
TARGET_PATH="$(BR_PATH)"
define ALLJOYN_BUILD_CMDS
cd $(@D); $(SCONS) $(ALLJOYN_SCONS_OPTS)
endef
define ALLJOYN_INSTALL_STAGING_CMDS
cp -a $(@D)/$(ALLJOYN_DISTDIR)/*/lib/lib* $(STAGING_DIR)/usr/lib/
cp -a $(@D)/$(ALLJOYN_DISTDIR)/*/inc/* $(STAGING_DIR)/usr/include/
endef
# Only install alljoyn dynamic libraries into target directory
define ALLJOYN_INSTALL_TARGET_CMDS
cp -a $(@D)/$(ALLJOYN_DISTDIR)/*/lib/lib*.so* $(TARGET_DIR)/usr/lib/
endef
$(eval $(generic-package))