bb64776761
AllJoyn Base Services are common services used by many devices, providing a set of interfaces for different devices to interact and interoperate with one another. https://allseenalliance.org Signed-off-by: Fabrice Fontaine <fabrice.fontaine@orange.com> Reviewed-by: Romain Naour <romain.naour@gmail.com> [Thomas: - Add dependency on BR2_TOOLCHAIN_HAS_SYNC_4, inherited from the alljoyn package. - select BR2_PACKAGE_ALLJOYN_BASE_CONTROLPANEL when neither BR2_PACKAGE_ALLJOYN_BASE_NOTIFICATION nor BR2_PACKAGE_ALLJOYN_BASE_ONBOARDING are selected. This ensures that the package will at least build and install one thing. - rename the Config.in option prompts from "alljoyn-<foo>" to just "<foo>" - rework the build command to use a loop rather than duplicate code - rework the install command to also use a loop, and to not discard errors.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
93 lines
2.7 KiB
Makefile
93 lines
2.7 KiB
Makefile
################################################################################
|
|
#
|
|
# alljoyn-base
|
|
#
|
|
################################################################################
|
|
|
|
ALLJOYN_BASE_REV = 16.04
|
|
ALLJOYN_BASE_VERSION = $(ALLJOYN_BASE_REV).00
|
|
ALLJOYN_BASE_SOURCE = alljoyn-base-$(ALLJOYN_BASE_VERSION).tar.gz
|
|
ALLJOYN_BASE_SITE = \
|
|
https://mirrors.kernel.org/allseenalliance/alljoyn/$(ALLJOYN_BASE_REV)
|
|
# See https://allseenalliance.org/alliance/ip-policy
|
|
ALLJOYN_BASE_LICENSE = ISC
|
|
|
|
ALLJOYN_BASE_DEPENDENCIES = host-scons alljoyn openssl
|
|
ALLJOYN_BASE_INSTALL_STAGING = YES
|
|
|
|
ALLJOYN_BASE_CRYPTO = openssl
|
|
|
|
# AllJoyn can be compiled in debug or release mode. By default,
|
|
# AllJoyn is built in debug mode.
|
|
ALLJOYN_BASE_VARIANT = release
|
|
|
|
ALLJOYN_BASE_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_BASE_OS = openwrt
|
|
ALLJOYN_BASE_CPU = openwrt
|
|
|
|
# AllJoyn install everything in this relative path
|
|
ALLJOYN_BASE_DISTDIR = \
|
|
build/$(ALLJOYN_OS)/$(ALLJOYN_CPU)/$(ALLJOYN_VARIANT)/dist
|
|
|
|
ALLJOYN_BASE_SCONS_OPTS = \
|
|
-j$(PARALLEL_JOBS) \
|
|
V=1 \
|
|
OS=$(ALLJOYN_BASE_OS) \
|
|
CPU=$(ALLJOYN_BASE_CPU) \
|
|
VARIANT=$(ALLJOYN_BASE_VARIANT) \
|
|
BR=off \
|
|
CRYPTO=$(ALLJOYN_BASE_CRYPTO) \
|
|
BINDINGS=$(ALLJOYN_BASE_BINDINGS) \
|
|
ALLJOYN_DISTDIR="$(STAGING_DIR)"\
|
|
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)"
|
|
|
|
ifeq ($(BR2_PACKAGE_ALLJOYN_BASE_CONTROLPANEL), y)
|
|
ALLJOYN_BASE_TARGETS += controlpanel
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_ALLJOYN_BASE_NOTIFICATION), y)
|
|
ALLJOYN_BASE_TARGETS += notification
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_ALLJOYN_BASE_ONBOARDING), y)
|
|
ALLJOYN_BASE_TARGETS += onboarding
|
|
endif
|
|
|
|
define ALLJOYN_BASE_BUILD_CMDS
|
|
$(foreach target,$(ALLJOYN_BASE_TARGETS),\
|
|
cd $(@D)/$(target); $(SCONS) $(ALLJOYN_BASE_SCONS_OPTS)
|
|
)
|
|
endef
|
|
|
|
define ALLJOYN_BASE_INSTALL_STAGING_CMDS
|
|
$(foreach target,$(ALLJOYN_BASE_TARGETS),\
|
|
cp -a $(@D)/$(target)/$(ALLJOYN_BASE_DISTDIR)/*/lib/lib* \
|
|
$(STAGING_DIR)/usr/lib/
|
|
cp -a $(@D)/$(target)/$(ALLJOYN_BASE_DISTDIR)/*/inc/* \
|
|
$(STAGING_DIR)/usr/include/
|
|
)
|
|
endef
|
|
|
|
define ALLJOYN_BASE_INSTALL_TARGET_CMDS
|
|
$(foreach target,$(ALLJOYN_BASE_TARGETS),\
|
|
cp -a $(@D)/$(target)/$(ALLJOYN_BASE_DISTDIR)/*/lib/lib* \
|
|
$(TARGET_DIR)/usr/lib/
|
|
)
|
|
endef
|
|
|
|
$(eval $(generic-package))
|