b03fa5d96f
For the general case, appending values to variables is OK and also a good practice, like this: |PACKAGE_VAR = value1 |ifeq ... |PACKAGE_VAR += value2 or this, when the above is not possible: |PACKAGE_VAR = value1 |ifeq ... |PACKAGE_VAR := $(PACKAGE_VAR), value2 But this override is an error: |PACKAGE_VAR = value1 |PACKAGE_VAR = value2 as well this one: |ifeq ... |PACKAGE_VAR += value1 |endif |PACKAGE_VAR = value2 And this override is error-prone: |PACKAGE_VAR = value1 |ifeq ... |PACKAGE_VAR = value2 Create a check function to warn about overridden variables. Some variables are likely to have a default value that gets overridden in a conditional, so ignore them. The name of such variables end in _ARCH, _CPU, _SITE, _SOURCE or _VERSION. After ignoring these variable names, there are a few exceptions to this rule in the tree. For them use the comment that disables the check. Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Cc: Simon Dawson <spdawson@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Tested-by: Titouan Christophe <titouan.christophe@railnova.eu> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
61 lines
1.9 KiB
Makefile
61 lines
1.9 KiB
Makefile
################################################################################
|
|
#
|
|
# zmqpp
|
|
#
|
|
################################################################################
|
|
|
|
ZMQPP_VERSION = 4.2.0
|
|
ZMQPP_SITE = $(call github,zeromq,zmqpp,$(ZMQPP_VERSION))
|
|
ZMQPP_INSTALL_STAGING = YES
|
|
ZMQPP_DEPENDENCIES = zeromq
|
|
ZMQPP_LICENSE = MPL-2.0
|
|
ZMQPP_LICENSE_FILES = LICENSE
|
|
ZMQPP_MAKE_OPTS = LD="$(TARGET_CXX)" BUILD_PATH=./build PREFIX=/usr
|
|
ZMQPP_LDFLAGS = $(TARGET_LDFLAGS) -lpthread
|
|
ZMQPP_CONFIG = $(if $(BR2_ENABLE_DEBUG),debug,release)
|
|
|
|
# gcc bug internal compiler error: in merge_overlapping_regs, at
|
|
# regrename.c:304. This bug is fixed since gcc 6.
|
|
# By setting CONFIG to empty, all optimizations such as -funroll-loops
|
|
# -ffast-math -finline-functions -fomit-frame-pointer are disabled
|
|
ifeq ($(BR2_or1k):$(BR2_TOOLCHAIN_GCC_AT_LEAST_6),y:)
|
|
# check-package OverriddenVariable
|
|
ZMQPP_CONFIG =
|
|
endif
|
|
|
|
ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
|
|
ZMQPP_LDFLAGS += -latomic
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_ZMQPP_CLIENT),y)
|
|
ZMQPP_DEPENDENCIES += boost
|
|
endif
|
|
|
|
ifeq ($(BR2_STATIC_LIBS),y)
|
|
ZMQPP_MAKE_OPTS += BUILD_STATIC=yes BUILD_SHARED=no
|
|
else ifeq ($(BR2_SHARED_STATIC_LIBS),y)
|
|
ZMQPP_MAKE_OPTS += BUILD_STATIC=yes BUILD_SHARED=yes
|
|
else ifeq ($(BR2_SHARED_LIBS),y)
|
|
ZMQPP_MAKE_OPTS += BUILD_STATIC=no BUILD_SHARED=yes
|
|
endif
|
|
|
|
define ZMQPP_BUILD_CMDS
|
|
$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \
|
|
CONFIG=$(ZMQPP_CONFIG) LDFLAGS="$(ZMQPP_LDFLAGS)" \
|
|
$(ZMQPP_MAKE_OPTS) $(if $(BR2_PACKAGE_ZMQPP_CLIENT),client,library) -C $(@D)
|
|
endef
|
|
|
|
define ZMQPP_INSTALL_TARGET_CMDS
|
|
$(INSTALL) -m 0755 -d $(TARGET_DIR)/usr/include/zmqpp
|
|
$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \
|
|
$(ZMQPP_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install -C $(@D)
|
|
endef
|
|
|
|
define ZMQPP_INSTALL_STAGING_CMDS
|
|
$(INSTALL) -m 0755 -d $(STAGING_DIR)/usr/include/zmqpp
|
|
$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \
|
|
$(ZMQPP_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install -C $(@D)
|
|
endef
|
|
|
|
$(eval $(generic-package))
|